Merge branch 'develop' into hotfix/v5.1.5
|
@ -1,14 +1,18 @@
|
|||
# Change log
|
||||
## 5.1.3
|
||||
## 5.1.1
|
||||
### All Editors
|
||||
* Customize initial zoom for the embedded editors
|
||||
* Replace image from context menu (bug #11493)
|
||||
* Customize availability of help in the editor
|
||||
|
||||
### Document Editor
|
||||
* Create and manage bookmarks
|
||||
* Create internal hyperlinks to bookmarks and headings
|
||||
* Export to RTF format
|
||||
|
||||
### Spreadsheet Editor
|
||||
* Add Spanish, French formula translations
|
||||
* Set options for saving in PDF format (bug #34914)
|
||||
* Change cell format from context menu (bug #16272)
|
||||
|
||||
### Presentation Editor
|
||||
|
|
|
@ -120,7 +120,8 @@
|
|||
autosave: true,
|
||||
forcesave: false,
|
||||
commentAuthorOnly: false,
|
||||
showReviewChanges: false
|
||||
showReviewChanges: false,
|
||||
help: true
|
||||
},
|
||||
plugins: {
|
||||
autostart: ['asc.{FFE1F462-1EA2-4391-990D-4CC84940B754}'],
|
||||
|
@ -192,6 +193,7 @@
|
|||
_config.editorConfig.canSendEmailAddresses = _config.events && !!_config.events.onRequestEmailAddresses;
|
||||
_config.editorConfig.canRequestEditRights = _config.events && !!_config.events.onRequestEditRights;
|
||||
_config.editorConfig.canRequestClose = _config.events && !!_config.events.onRequestClose;
|
||||
_config.editorConfig.canRename = _config.events && !!_config.events.onRequestRename;
|
||||
_config.frameEditorId = placeholderId;
|
||||
|
||||
_config.events && !!_config.events.onReady && console.log("Obsolete: The onReady event is deprecated. Please use onAppReady instead.");
|
||||
|
|
|
@ -61,12 +61,11 @@ define([
|
|||
},
|
||||
|
||||
getEditingCount: function() {
|
||||
var count = 0;
|
||||
this.each(function(user){
|
||||
user.get('online') && !user.get('view') && ++count;
|
||||
});
|
||||
return this.filter(function(item){return item.get('online') && !item.get('view')}).length;
|
||||
},
|
||||
|
||||
return count;
|
||||
getEditingOriginalCount: function() {
|
||||
return this.chain().filter(function(item){return item.get('online') && !item.get('view')}).groupBy(function(item) {return item.get('idOriginal');}).size().value();
|
||||
},
|
||||
|
||||
findUser: function(id) {
|
||||
|
@ -74,6 +73,13 @@ define([
|
|||
function(model){
|
||||
return model.get('id') == id;
|
||||
});
|
||||
},
|
||||
|
||||
findOriginalUser: function(id) {
|
||||
return this.find(
|
||||
function(model){
|
||||
return model.get('idOriginal') == id;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -193,6 +193,15 @@ define([
|
|||
if (modalParents.length > 0) {
|
||||
el.data('bs.tooltip').tip().css('z-index', parseInt(modalParents.css('z-index')) + 10);
|
||||
}
|
||||
|
||||
el.find('.dropdown-menu').on('mouseenter', function(){ // hide tooltip when mouse is over menu
|
||||
var tip = el.data('bs.tooltip');
|
||||
if (tip) {
|
||||
if (tip.dontShow===undefined)
|
||||
tip.dontShow = true;
|
||||
tip.hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
el.on('show.bs.dropdown', _.bind(me.onBeforeShowMenu, me));
|
||||
|
|
|
@ -86,15 +86,30 @@ define([
|
|||
initialize : function(options) {
|
||||
Common.UI.BaseView.prototype.initialize.call(this, options);
|
||||
|
||||
var _template_tabs =
|
||||
'<section class="tabs">' +
|
||||
'<a class="scroll left"><i class="icon"><</i></a>' +
|
||||
'<ul>' +
|
||||
'<% for(var i in items) { %>' +
|
||||
'<li class="ribtab' +
|
||||
'<% if (items[i].haspanel===false) print(" x-lone") %>' +
|
||||
'<% if (items[i].extcls) print(\' \' + items[i].extcls) %>">' +
|
||||
'<a data-tab="<%= items[i].action %>" data-title="<%= items[i].caption %>"><%= items[i].caption %></a>' +
|
||||
'</li>' +
|
||||
'<% } %>' +
|
||||
'</ul>' +
|
||||
'<a class="scroll right"><i class="icon">></i></a>' +
|
||||
'</section>';
|
||||
|
||||
this.$layout = $(options.template({
|
||||
tabs: options.tabs
|
||||
tabsmarkup: _.template(_template_tabs)({items: options.tabs})
|
||||
}));
|
||||
|
||||
config.tabs = options.tabs;
|
||||
$(document.body).on('click', onClickDocument.bind(this));
|
||||
|
||||
Common.NotificationCenter.on('tab:visible', _.bind(function(action, visible){
|
||||
this.setVisible(action, visible)
|
||||
this.setVisible(action, visible);
|
||||
}, this));
|
||||
},
|
||||
|
||||
|
@ -127,8 +142,12 @@ define([
|
|||
if ( this.isFolded ) {
|
||||
if (!optsFold.$box) optsFold.$box = me.$el.find('.box-controls');
|
||||
|
||||
optsFold.$bar.addClass('folded').toggleClass('expanded', false);
|
||||
optsFold.$bar.addClass('folded z-clear').toggleClass('expanded', false);
|
||||
optsFold.$bar.find('.tabs .ribtab').removeClass('active');
|
||||
optsFold.$bar.on($.support.transition.end, function (e) {
|
||||
if ( optsFold.$bar.hasClass('folded') && !optsFold.$bar.hasClass('expanded') )
|
||||
optsFold.$bar.toggleClass('z-clear', true);
|
||||
});
|
||||
optsFold.$box.on({
|
||||
mouseleave: function (e) {
|
||||
// optsFold.timer = setTimeout( function(e) {
|
||||
|
@ -167,13 +186,16 @@ define([
|
|||
|
||||
} else {
|
||||
// clearTimeout(optsFold.timer);
|
||||
optsFold.$bar.removeClass('folded');
|
||||
optsFold.$bar.removeClass('folded z-clear');
|
||||
optsFold.$box.off();
|
||||
|
||||
var active_panel = optsFold.$box.find('.panel.active');
|
||||
if ( active_panel.length ) {
|
||||
var tab = active_panel.data('tab');
|
||||
me.$tabs.find('> a[data-tab=' + tab + ']').parent().toggleClass('active', true);
|
||||
} else {
|
||||
tab = me.$tabs.siblings(':not(.x-lone)').first().find('> a[data-tab]').data('tab');
|
||||
me.setTab(tab);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -191,6 +213,7 @@ define([
|
|||
expand: function() {
|
||||
// clearTimeout(optsFold.timer);
|
||||
|
||||
optsFold.$bar.removeClass('z-clear');
|
||||
optsFold.$bar.addClass('expanded');
|
||||
// optsFold.timer = setTimeout(this.collapse, optsFold.timeout);
|
||||
},
|
||||
|
@ -206,28 +229,40 @@ define([
|
|||
},
|
||||
|
||||
onTabClick: function (e) {
|
||||
var _is_active = $(e.currentTarget).hasClass('active');
|
||||
if ( _is_active ) {
|
||||
if ( this.isFolded ) {
|
||||
// this.collapse();
|
||||
var me = this;
|
||||
|
||||
var $target = $(e.currentTarget);
|
||||
var tab = $target.find('> a[data-tab]').data('tab');
|
||||
var islone = $target.hasClass('x-lone');
|
||||
if ( me.isFolded ) {
|
||||
if ( $target.hasClass('x-lone') ) {
|
||||
me.collapse();
|
||||
// me.fireEvent('')
|
||||
} else
|
||||
if ( $target.hasClass('active') ) {
|
||||
me.collapse();
|
||||
} else {
|
||||
me.setTab(tab);
|
||||
}
|
||||
} else {
|
||||
var tab = $(e.target).data('tab');
|
||||
this.setTab(tab);
|
||||
if ( !$target.hasClass('active') && !islone ) {
|
||||
me.setTab(tab);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
setTab: function (tab) {
|
||||
var me = this;
|
||||
if ( !tab ) {
|
||||
onShowFullviewPanel.call(this, false);
|
||||
// onShowFullviewPanel.call(this, false);
|
||||
|
||||
if ( this.isFolded ) { this.collapse(); }
|
||||
else tab = this.lastPanel;
|
||||
}
|
||||
|
||||
if ( tab ) {
|
||||
this.$tabs.removeClass('active');
|
||||
this.$panels.removeClass('active');
|
||||
me.$tabs.removeClass('active');
|
||||
me.$panels.removeClass('active');
|
||||
|
||||
var panel = this.$panels.filter('[data-tab=' + tab + ']');
|
||||
if ( panel.length ) {
|
||||
|
@ -236,10 +271,10 @@ define([
|
|||
}
|
||||
|
||||
if ( panel.length ) {
|
||||
if ( this.isFolded ) this.expand();
|
||||
if ( me.isFolded ) me.expand();
|
||||
} else {
|
||||
onShowFullviewPanel.call(this, true);
|
||||
if ( this.isFolded ) this.collapse();
|
||||
// onShowFullviewPanel.call(this, true);
|
||||
if ( me.isFolded ) me.collapse();
|
||||
}
|
||||
|
||||
var $tp = this.$tabs.find('> a[data-tab=' + tab + ']').parent();
|
||||
|
@ -273,6 +308,8 @@ define([
|
|||
|
||||
if ($target.length) {
|
||||
$target.after(panel);
|
||||
} else {
|
||||
panel.appendTo(this.$layout.find('.box-panels'));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -148,6 +148,7 @@ define([
|
|||
if (user) {
|
||||
var usermodel = new Common.Models.User({
|
||||
id : user.asc_getId(),
|
||||
idOriginal : user.asc_getIdOriginal(),
|
||||
username : user.asc_getUserName(),
|
||||
online : true,
|
||||
color : user.asc_getColor(),
|
||||
|
@ -170,6 +171,7 @@ define([
|
|||
if (!user) {
|
||||
usersStore.add(new Common.Models.User({
|
||||
id : change.asc_getId(),
|
||||
idOriginal : change.asc_getIdOriginal(),
|
||||
username : change.asc_getUserName(),
|
||||
online : change.asc_getState(),
|
||||
color : change.asc_getColor(),
|
||||
|
@ -188,7 +190,7 @@ define([
|
|||
var array = [];
|
||||
messages.forEach(function(msg) {
|
||||
array.push(new Common.Models.ChatMessage({
|
||||
userid : msg.user,
|
||||
userid : msg.useridoriginal,
|
||||
message : msg.message,
|
||||
username : msg.username
|
||||
}));
|
||||
|
|
|
@ -46,7 +46,8 @@ define([
|
|||
'core',
|
||||
'common/main/lib/model/Comment',
|
||||
'common/main/lib/collection/Comments',
|
||||
'common/main/lib/view/Comments'
|
||||
'common/main/lib/view/Comments',
|
||||
'common/main/lib/view/ReviewPopover'
|
||||
], function () {
|
||||
'use strict';
|
||||
|
||||
|
@ -67,7 +68,7 @@ define([
|
|||
],
|
||||
views : [
|
||||
'Common.Views.Comments',
|
||||
'Common.Views.CommentsPopover'
|
||||
'Common.Views.ReviewPopover'
|
||||
],
|
||||
sdkViewName : '#id_main',
|
||||
subEditStrings : {},
|
||||
|
@ -101,6 +102,27 @@ define([
|
|||
|
||||
// work handlers
|
||||
|
||||
'comment:closeEditing': _.bind(this.closeEditing, this)
|
||||
},
|
||||
|
||||
'Common.Views.ReviewPopover': {
|
||||
|
||||
// comments handlers
|
||||
|
||||
'comment:change': _.bind(this.onChangeComment, this),
|
||||
'comment:remove': _.bind(this.onRemoveComment, this),
|
||||
'comment:resolve': _.bind(this.onResolveComment, this),
|
||||
'comment:show': _.bind(this.onShowComment, this),
|
||||
|
||||
// reply handlers
|
||||
|
||||
'comment:addReply': _.bind(this.onAddReplyComment, this),
|
||||
'comment:changeReply': _.bind(this.onChangeReplyComment, this),
|
||||
'comment:removeReply': _.bind(this.onRemoveReplyComment, this),
|
||||
'comment:editReply': _.bind(this.onShowEditReplyComment, this),
|
||||
|
||||
// work handlers
|
||||
|
||||
'comment:closeEditing': _.bind(this.closeEditing, this),
|
||||
'comment:disableHint': _.bind(this.disableHint, this),
|
||||
'comment:addDummyComment': _.bind(this.onAddDummyComment, this)
|
||||
|
@ -128,12 +150,13 @@ define([
|
|||
this.popoverComments.comparator = function (collection) { return -collection.get('time'); };
|
||||
}
|
||||
|
||||
this.view = this.createView('Common.Views.Comments', {
|
||||
store : this.collection,
|
||||
popoverComments : this.popoverComments
|
||||
});
|
||||
this.view = this.createView('Common.Views.Comments', { store: this.collection });
|
||||
this.view.render();
|
||||
|
||||
this.userCollection = this.getApplication().getCollection('Common.Collections.Users');
|
||||
this.userCollection.on('reset', _.bind(this.onUpdateUsers, this));
|
||||
this.userCollection.on('add', _.bind(this.onUpdateUsers, this));
|
||||
|
||||
this.bindViewEvents(this.view, this.events);
|
||||
},
|
||||
setConfig: function (data, api) {
|
||||
|
@ -162,7 +185,6 @@ define([
|
|||
this.api.asc_registerCallback('asc_onShowComment', _.bind(this.onApiShowComment, this));
|
||||
this.api.asc_registerCallback('asc_onHideComment', _.bind(this.onApiHideComment, this));
|
||||
this.api.asc_registerCallback('asc_onUpdateCommentPosition', _.bind(this.onApiUpdateCommentPosition, this));
|
||||
|
||||
this.api.asc_registerCallback('asc_onDocumentPlaceChanged', _.bind(this.onDocumentPlaceChanged, this));
|
||||
}
|
||||
},
|
||||
|
@ -267,7 +289,7 @@ define([
|
|||
|
||||
if (comment.get('unattached')) {
|
||||
if (this.getPopover()) {
|
||||
this.getPopover().hide();
|
||||
this.getPopover().hideComments();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -293,7 +315,7 @@ define([
|
|||
}
|
||||
|
||||
if (this.getPopover()) {
|
||||
this.getPopover().hide();
|
||||
this.getPopover().hideComments();
|
||||
}
|
||||
|
||||
this.isSelectedComment = false;
|
||||
|
@ -667,7 +689,7 @@ define([
|
|||
this.popoverComments.remove(model);
|
||||
if (0 === this.popoverComments.length) {
|
||||
if (this.getPopover()) {
|
||||
this.getPopover().hide();
|
||||
this.getPopover().hideComments();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -703,9 +725,11 @@ define([
|
|||
date = (data.asc_getOnlyOfficeTime()) ? new Date(this.stringOOToLocalDate(data.asc_getOnlyOfficeTime())) :
|
||||
((data.asc_getTime() == '') ? new Date() : new Date(this.stringUtcToLocalDate(data.asc_getTime())));
|
||||
|
||||
var user = this.userCollection.findOriginalUser(data.asc_getUserId());
|
||||
comment.set('comment', data.asc_getText());
|
||||
comment.set('userid', data.asc_getUserId());
|
||||
comment.set('username', data.asc_getUserName());
|
||||
comment.set('usercolor', (user) ? user.get('color') : null);
|
||||
comment.set('resolved', data.asc_getSolved());
|
||||
comment.set('quote', data.asc_getQuoteText());
|
||||
comment.set('time', date.getTime());
|
||||
|
@ -721,10 +745,12 @@ define([
|
|||
dateReply = (data.asc_getReply(i).asc_getOnlyOfficeTime()) ? new Date(this.stringOOToLocalDate(data.asc_getReply(i).asc_getOnlyOfficeTime())) :
|
||||
((data.asc_getReply(i).asc_getTime() == '') ? new Date() : new Date(this.stringUtcToLocalDate(data.asc_getReply(i).asc_getTime())));
|
||||
|
||||
user = this.userCollection.findOriginalUser(data.asc_getReply(i).asc_getUserId());
|
||||
replies.push(new Common.Models.Reply({
|
||||
id : Common.UI.getId(),
|
||||
userid : data.asc_getReply(i).asc_getUserId(),
|
||||
username : data.asc_getReply(i).asc_getUserName(),
|
||||
usercolor : (user) ? user.get('color') : null,
|
||||
date : t.dateToLocaleTimeString(dateReply),
|
||||
reply : data.asc_getReply(i).asc_getText(),
|
||||
time : dateReply.getTime(),
|
||||
|
@ -751,15 +777,14 @@ define([
|
|||
},
|
||||
onApiLockComment: function (id,userId) {
|
||||
var cur = this.findComment(id),
|
||||
usersStore = null,
|
||||
user = null;
|
||||
|
||||
if (cur) {
|
||||
usersStore = this.getApplication().getCollection('Common.Collections.Users');
|
||||
if (usersStore) {
|
||||
user = usersStore.findWhere({id: userId});
|
||||
if (this.userCollection) {
|
||||
user = this.userCollection.findUser(userId);
|
||||
if (user) {
|
||||
this.getPopover() && this.getPopover().saveText();
|
||||
this.view.saveText();
|
||||
cur.set('lock', true);
|
||||
cur.set('lockuserid', this.view.getUserName(user.get('username')));
|
||||
}
|
||||
|
@ -771,6 +796,7 @@ define([
|
|||
if (cur) {
|
||||
cur.set('lock', false);
|
||||
this.getPopover() && this.getPopover().loadText();
|
||||
this.view.loadText();
|
||||
}
|
||||
},
|
||||
onApiShowComment: function (uids, posX, posY, leftX, opts, hint) {
|
||||
|
@ -856,7 +882,7 @@ define([
|
|||
}
|
||||
|
||||
popover.setLeftTop(posX, posY, leftX);
|
||||
popover.show(animate, false, true, text);
|
||||
popover.showComments(animate, false, true, text);
|
||||
}
|
||||
},
|
||||
onApiHideComment: function (hint) {
|
||||
|
@ -880,7 +906,7 @@ define([
|
|||
});
|
||||
|
||||
this.getPopover().saveText(true);
|
||||
this.getPopover().hide();
|
||||
this.getPopover().hideComments();
|
||||
|
||||
this.collection.clearEditing();
|
||||
this.popoverComments.clearEditing();
|
||||
|
@ -934,9 +960,9 @@ define([
|
|||
}
|
||||
|
||||
useAnimation = true;
|
||||
this.getPopover().show(useAnimation, undefined, undefined, text);
|
||||
this.getPopover().showComments(useAnimation, undefined, undefined, text);
|
||||
} else if (!this.getPopover().isVisible()) {
|
||||
this.getPopover().show(false, undefined, undefined, text);
|
||||
this.getPopover().showComments(false, undefined, undefined, text);
|
||||
}
|
||||
|
||||
this.getPopover().setLeftTop(posX, posY, leftX, undefined, true);
|
||||
|
@ -1071,19 +1097,45 @@ define([
|
|||
}
|
||||
}
|
||||
},
|
||||
|
||||
getPopover: function () {
|
||||
return this.view.getPopover(this.sdkViewName);
|
||||
if (_.isUndefined(this.popover)) {
|
||||
this.popover = Common.Views.ReviewPopover.prototype.getPopover({
|
||||
commentsStore : this.popoverComments,
|
||||
renderTo : this.sdkViewName
|
||||
});
|
||||
this.popover.setCommentsStore(this.popoverComments);
|
||||
}
|
||||
return this.popover;
|
||||
},
|
||||
|
||||
// helpers
|
||||
|
||||
onUpdateUsers: function() {
|
||||
var users = this.userCollection;
|
||||
this.collection.each(function (model) {
|
||||
var user = users.findOriginalUser(model.get('userid'));
|
||||
model.set('usercolor', (user) ? user.get('color') : null, {silent: true});
|
||||
|
||||
model.get('replys').forEach(function (reply) {
|
||||
user = users.findOriginalUser(reply.get('userid'));
|
||||
reply.set('usercolor', (user) ? user.get('color') : null, {silent: true});
|
||||
});
|
||||
});
|
||||
this.updateComments(true);
|
||||
if (this.getPopover().isVisible())
|
||||
this.getPopover().update(true);
|
||||
},
|
||||
|
||||
readSDKComment: function (id, data) {
|
||||
var date = (data.asc_getOnlyOfficeTime()) ? new Date(this.stringOOToLocalDate(data.asc_getOnlyOfficeTime())) :
|
||||
((data.asc_getTime() == '') ? new Date() : new Date(this.stringUtcToLocalDate(data.asc_getTime())));
|
||||
var user = this.userCollection.findOriginalUser(data.asc_getUserId());
|
||||
var comment = new Common.Models.Comment({
|
||||
uid : id,
|
||||
userid : data.asc_getUserId(),
|
||||
username : data.asc_getUserName(),
|
||||
usercolor : (user) ? user.get('color') : null,
|
||||
date : this.dateToLocaleTimeString(date),
|
||||
quote : data.asc_getQuoteText(),
|
||||
comment : data.asc_getText(),
|
||||
|
@ -1119,10 +1171,12 @@ define([
|
|||
date = (data.asc_getReply(i).asc_getOnlyOfficeTime()) ? new Date(this.stringOOToLocalDate(data.asc_getReply(i).asc_getOnlyOfficeTime())) :
|
||||
((data.asc_getReply(i).asc_getTime() == '') ? new Date() : new Date(this.stringUtcToLocalDate(data.asc_getReply(i).asc_getTime())));
|
||||
|
||||
var user = this.userCollection.findOriginalUser(data.asc_getReply(i).asc_getUserId());
|
||||
replies.push(new Common.Models.Reply({
|
||||
id : Common.UI.getId(),
|
||||
userid : data.asc_getReply(i).asc_getUserId(),
|
||||
username : data.asc_getReply(i).asc_getUserName(),
|
||||
usercolor : (user) ? user.get('color') : null,
|
||||
date : this.dateToLocaleTimeString(date),
|
||||
reply : data.asc_getReply(i).asc_getText(),
|
||||
time : date.getTime(),
|
||||
|
@ -1155,12 +1209,14 @@ define([
|
|||
return;
|
||||
}
|
||||
|
||||
var user = this.userCollection.findOriginalUser(this.currentUserId);
|
||||
var comment = new Common.Models.Comment({
|
||||
id: -1,
|
||||
time: date.getTime(),
|
||||
date: this.dateToLocaleTimeString(date),
|
||||
userid: this.currentUserId,
|
||||
username: this.currentUserName,
|
||||
usercolor: (user) ? user.get('color') : null,
|
||||
editTextInPopover: true,
|
||||
showReplyInPopover: false,
|
||||
hideAddReply: true,
|
||||
|
@ -1196,7 +1252,7 @@ define([
|
|||
anchor.asc_getY(),
|
||||
this.hintmode ? anchor.asc_getX() : undefined);
|
||||
|
||||
dialog.show(true, false, true);
|
||||
dialog.showComments(true, false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1214,7 +1270,7 @@ define([
|
|||
|
||||
this.popoverComments.reset();
|
||||
if (this.getPopover().isVisible()) {
|
||||
this.getPopover().hide();
|
||||
this.getPopover().hideComments();
|
||||
}
|
||||
comment.asc_putText(commentVal);
|
||||
comment.asc_putTime(this.utcDateToString(new Date()));
|
||||
|
@ -1251,7 +1307,7 @@ define([
|
|||
});
|
||||
|
||||
if (dialog.isVisible()) {
|
||||
dialog.hide();
|
||||
dialog.hideComments();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1296,7 +1352,7 @@ define([
|
|||
anchor.asc_getY(),
|
||||
this.hintmode ? anchor.asc_getX() : undefined);
|
||||
|
||||
this.getPopover().show(true, false, true);
|
||||
this.getPopover().showComments(true, false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -159,7 +159,6 @@ define([
|
|||
onSetHistoryData: function(opts) {
|
||||
if (opts.data.error) {
|
||||
var config = {
|
||||
closable: false,
|
||||
title: this.notcriticalErrorTitle,
|
||||
msg: opts.data.error,
|
||||
iconCls: 'warn',
|
||||
|
|
|
@ -59,7 +59,7 @@ define([
|
|||
'render:before' : function (toolbar) {
|
||||
var appOptions = me.getApplication().getController('Main').appOptions;
|
||||
|
||||
if ( appOptions.isEdit && !appOptions.isEditMailMerge && !appOptions.isEditDiagram ) {
|
||||
if ( !appOptions.isEditMailMerge && !appOptions.isEditDiagram ) {
|
||||
var tab = {action: 'plugins', caption: me.panelPlugins.groupCaption};
|
||||
me.$toolbarPanelPlugins = me.panelPlugins.getPanel();
|
||||
|
||||
|
@ -195,19 +195,22 @@ define([
|
|||
me.$toolbarPanelPlugins.empty();
|
||||
|
||||
var _group = $('<div class="group"></div>'),
|
||||
rank = -1;
|
||||
rank = -1,
|
||||
rank_plugins = 0;
|
||||
collection.each(function (model) {
|
||||
var new_rank = model.get('groupRank');
|
||||
if (new_rank!==rank && rank>-1) {
|
||||
if (new_rank!==rank && rank>-1 && rank_plugins>0) {
|
||||
_group.appendTo(me.$toolbarPanelPlugins);
|
||||
$('<div class="separator long"></div>').appendTo(me.$toolbarPanelPlugins);
|
||||
_group = $('<div class="group"></div>');
|
||||
rank_plugins = 0;
|
||||
}
|
||||
|
||||
var btn = me.panelPlugins.createPluginButton(model);
|
||||
if (btn) {
|
||||
var $slot = $('<span class="slot"></span>').appendTo(_group);
|
||||
btn.render($slot);
|
||||
rank_plugins++;
|
||||
}
|
||||
rank = new_rank;
|
||||
});
|
||||
|
|
|
@ -87,7 +87,7 @@ define([
|
|||
if (api) {
|
||||
this.api = api;
|
||||
|
||||
if (this.appConfig.isProtectSupport && this.appConfig.isDesktopApp && this.appConfig.isOffline) {
|
||||
if (this.appConfig.isDesktopApp && this.appConfig.isOffline) {
|
||||
this.api.asc_registerCallback('asc_onDocumentPassword', _.bind(this.onDocumentPassword, this));
|
||||
if (this.appConfig.canProtect) {
|
||||
Common.NotificationCenter.on('protect:sign', _.bind(this.onSignatureRequest, this));
|
||||
|
|
|
@ -47,6 +47,7 @@ define([
|
|||
'common/main/lib/model/ReviewChange',
|
||||
'common/main/lib/collection/ReviewChanges',
|
||||
'common/main/lib/view/ReviewChanges',
|
||||
'common/main/lib/view/ReviewPopover',
|
||||
'common/main/lib/view/LanguageDialog'
|
||||
], function () {
|
||||
'use strict';
|
||||
|
@ -58,7 +59,7 @@ define([
|
|||
],
|
||||
views : [
|
||||
'Common.Views.ReviewChanges',
|
||||
'Common.Views.ReviewChangesPopover'
|
||||
'Common.Views.ReviewPopover'
|
||||
],
|
||||
sdkViewName : '#id_main',
|
||||
|
||||
|
@ -69,8 +70,6 @@ define([
|
|||
'settings:apply': this.applySettings.bind(this)
|
||||
},
|
||||
'Common.Views.ReviewChanges': {
|
||||
|
||||
// comments handlers
|
||||
'reviewchange:accept': _.bind(this.onAcceptClick, this),
|
||||
'reviewchange:reject': _.bind(this.onRejectClick, this),
|
||||
'reviewchange:delete': _.bind(this.onDeleteClick, this),
|
||||
|
@ -83,6 +82,11 @@ define([
|
|||
'reviewchange:accept': _.bind(this.onAcceptClick, this),
|
||||
'reviewchange:reject': _.bind(this.onRejectClick, this),
|
||||
'reviewchange:preview': _.bind(this.onBtnPreviewClick, this)
|
||||
},
|
||||
'Common.Views.ReviewPopover': {
|
||||
'reviewchange:accept': _.bind(this.onAcceptClick, this),
|
||||
'reviewchange:reject': _.bind(this.onRejectClick, this),
|
||||
'reviewchange:delete': _.bind(this.onDeleteClick, this)
|
||||
}
|
||||
});
|
||||
},
|
||||
|
@ -96,6 +100,9 @@ define([
|
|||
Common.NotificationCenter.on('spelling:turn', this.onTurnSpelling.bind(this));
|
||||
Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this));
|
||||
Common.NotificationCenter.on('api:disconnect', _.bind(this.onCoAuthoringDisconnect, this));
|
||||
|
||||
this.userCollection.on('reset', _.bind(this.onUpdateUsers, this));
|
||||
this.userCollection.on('add', _.bind(this.onUpdateUsers, this));
|
||||
},
|
||||
setConfig: function (data, api) {
|
||||
this.setApi(api);
|
||||
|
@ -119,12 +126,7 @@ define([
|
|||
setMode: function(mode) {
|
||||
this.appConfig = mode;
|
||||
this.popoverChanges = new Common.Collections.ReviewChanges();
|
||||
|
||||
this.view = this.createView('Common.Views.ReviewChanges', {
|
||||
// store : this.collection,
|
||||
popoverChanges : this.popoverChanges,
|
||||
mode : mode
|
||||
});
|
||||
this.view = this.createView('Common.Views.ReviewChanges', { mode: mode });
|
||||
|
||||
return this;
|
||||
},
|
||||
|
@ -150,10 +152,10 @@ define([
|
|||
|
||||
if (animate) {
|
||||
if ( this.getPopover().isVisible() ) this.getPopover().hide();
|
||||
this.getPopover().setLeftTop(posX+25, posY);
|
||||
this.getPopover().setLeftTop(posX, posY);
|
||||
}
|
||||
|
||||
this.getPopover().show(animate, lock, lockUser);
|
||||
this.getPopover().showReview(animate, lock, lockUser);
|
||||
|
||||
if (!this.appConfig.isReviewOnly && this._state.lock !== lock) {
|
||||
this.view.btnAccept.setDisabled(lock==true);
|
||||
|
@ -172,8 +174,8 @@ define([
|
|||
this._state.posx = this._state.posy = -1000;
|
||||
this._state.changes_length = 0;
|
||||
this._state.popoverVisible = false;
|
||||
this.getPopover().hide();
|
||||
this.popoverChanges.reset();
|
||||
this.getPopover().hideReview();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -191,7 +193,7 @@ define([
|
|||
} else if (this.popoverChanges.length>0) {
|
||||
if (!this.getPopover().isVisible())
|
||||
this.getPopover().show(false);
|
||||
this.getPopover().setLeftTop(posX+25, posY);
|
||||
this.getPopover().setLeftTop(posX, posY);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -205,7 +207,14 @@ define([
|
|||
},
|
||||
|
||||
getPopover: function () {
|
||||
return this.view.getPopover(this.sdkViewName);
|
||||
if (this.appConfig.canReview && _.isUndefined(this.popover)) {
|
||||
this.popover = Common.Views.ReviewPopover.prototype.getPopover({
|
||||
reviewStore : this.popoverChanges,
|
||||
renderTo : this.sdkViewName
|
||||
});
|
||||
this.popover.setReviewStore(this.popoverChanges);
|
||||
}
|
||||
return this.popover;
|
||||
},
|
||||
|
||||
// helpers
|
||||
|
@ -386,12 +395,12 @@ define([
|
|||
|
||||
}
|
||||
var date = (item.get_DateTime() == '') ? new Date() : new Date(item.get_DateTime()),
|
||||
color = item.get_UserColor(),
|
||||
user = me.userCollection.findOriginalUser(item.get_UserId()),
|
||||
change = new Common.Models.ReviewChange({
|
||||
uid : Common.UI.getId(),
|
||||
userid : item.get_UserId(),
|
||||
username : item.get_UserName(),
|
||||
usercolor : '#'+Common.Utils.ThemeColor.getHexColor(color.get_r(), color.get_g(), color.get_b()),
|
||||
usercolor : (user) ? user.get('color') : null,
|
||||
date : me.dateToLocaleTimeString(date),
|
||||
changetext : changetext,
|
||||
id : Common.UI.getId(),
|
||||
|
@ -686,6 +695,14 @@ define([
|
|||
this.SetDisabled(true);
|
||||
},
|
||||
|
||||
onUpdateUsers: function() {
|
||||
var users = this.userCollection;
|
||||
this.popoverChanges && this.popoverChanges.each(function (model) {
|
||||
var user = users.findOriginalUser(model.get('userid'));
|
||||
model.set('usercolor', (user) ? user.get('color') : null);
|
||||
});
|
||||
},
|
||||
|
||||
textInserted: '<b>Inserted:</b>',
|
||||
textDeleted: '<b>Deleted:</b>',
|
||||
textParaInserted: '<b>Paragraph Inserted</b> ',
|
||||
|
|
|
@ -55,6 +55,7 @@ define([
|
|||
uid : 0, // asc
|
||||
userid : 0,
|
||||
username : 'Guest',
|
||||
usercolor : null,
|
||||
date : undefined,
|
||||
quote : '',
|
||||
comment : '',
|
||||
|
@ -84,6 +85,7 @@ define([
|
|||
time : 0, // acs
|
||||
userid : 0,
|
||||
username : 'Guest',
|
||||
usercolor : null,
|
||||
reply : '',
|
||||
date : undefined,
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ define([
|
|||
uid : 0, // asc
|
||||
userid : 0,
|
||||
username : 'Guest',
|
||||
usercolor : '#ee3525',
|
||||
usercolor : null,
|
||||
date : undefined,
|
||||
changetext : '',
|
||||
lock : false,
|
||||
|
|
|
@ -57,6 +57,7 @@ define([
|
|||
return {
|
||||
iid : Common.UI.getId(), // internal id for rendering
|
||||
id : undefined,
|
||||
idOriginal : undefined,
|
||||
username : 'Guest',
|
||||
color : '#fff',
|
||||
colorval : null,
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
|
||||
<!-- comment block -->
|
||||
|
||||
<div class="user-name"><%=scope.getUserName(username)%></div>
|
||||
<div class="user-name">
|
||||
<div class="color" style="display: inline-block; background-color: <% if (usercolor!==null) { %><%=usercolor%><% } else { %> #cfcfcf <% } %>; " ></div><%= scope.getUserName(username) %>
|
||||
</div>
|
||||
<div class="user-date"><%=date%></div>
|
||||
<% if (quote!==null && quote!=='') { %>
|
||||
<div class="user-quote"><%=scope.getFixedQuote(quote)%></div>
|
||||
|
@ -24,7 +26,9 @@
|
|||
<div class="reply-arrow img-commonctrl"></div>
|
||||
<% _.each(replys, function (item) { %>
|
||||
<div class="reply-item-ct">
|
||||
<div class="user-name"><%=scope.getUserName(item.get("username"))%></div>
|
||||
<div class="user-name">
|
||||
<div class="color" style="display: inline-block; background-color: <% if (item.get("usercolor")!==null) { %><%=item.get("usercolor")%><% } else { %> #cfcfcf <% } %>; " ></div><%= scope.getUserName(item.get("username")) %>
|
||||
</div>
|
||||
<div class="user-date"><%=item.get("date")%></div>
|
||||
<% if (!item.get("editText")) { %>
|
||||
<div class="user-message" data-can-copy="true"><%=scope.pickLink(item.get("reply"))%></div>
|
||||
|
|
|
@ -2,7 +2,9 @@
|
|||
|
||||
<!-- comment block -->
|
||||
|
||||
<div class="user-name"><%=scope.getUserName(username)%></div>
|
||||
<div class="user-name">
|
||||
<div class="color" style="display: inline-block; background-color: <% if (usercolor!==null) { %><%=usercolor%><% } else { %> #cfcfcf <% } %>; " ></div><%= scope.getUserName(username) %>
|
||||
</div>
|
||||
<div class="user-date"><%=date%></div>
|
||||
<% if (!editTextInPopover || hint) { %>
|
||||
<div oo_editor_input="true" tabindex="-1" class="user-message user-select"><%=scope.pickLink(comment)%></div>
|
||||
|
@ -24,7 +26,9 @@
|
|||
<div class="reply-arrow img-commonctrl"></div>
|
||||
<% _.each(replys, function (item) { %>
|
||||
<div class="reply-item-ct">
|
||||
<div class="user-name"><%=scope.getUserName(item.get("username"))%></div>
|
||||
<div class="user-name">
|
||||
<div class="color" style="display: inline-block; background-color: <% if (item.get("usercolor")!==null) { %><%=item.get("usercolor")%><% } else { %> #cfcfcf <% } %>; " ></div><%= scope.getUserName(item.get("username")) %>
|
||||
</div>
|
||||
<div class="user-date"><%=item.get("date")%></div>
|
||||
<% if (!item.get("editTextInPopover")) { %>
|
||||
<div oo_editor_input="true" tabindex="-1" class="user-message user-select"><%=scope.pickLink(item.get("reply"))%></div>
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<div id="<%=id%>" class="user-comment-item">
|
||||
<div class="user-name-colored"><span style="background-color:<%=usercolor%>;"><%=scope.getUserName(username)%></span></div>
|
||||
<div class="user-name">
|
||||
<div class="color" style="display: inline-block; background-color: <% if (usercolor!==null) { %><%=usercolor%><% } else { %> #cfcfcf <% } %>; " ></div><%= scope.getUserName(username) %>
|
||||
</div>
|
||||
<div class="user-date"><%=date%></div>
|
||||
<div class="user-message limit-height"><%=changetext%></div>
|
||||
<div class="edit-ct">
|
||||
|
|
|
@ -103,7 +103,8 @@ Common.Utils = _.extend(new(function() {
|
|||
Chart : 7,
|
||||
MailMerge : 8,
|
||||
Signature : 9,
|
||||
Pivot : 10
|
||||
Pivot : 10,
|
||||
Cell : 11
|
||||
},
|
||||
isMobile = /android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent || navigator.vendor || window.opera),
|
||||
me = this,
|
||||
|
|
|
@ -66,16 +66,18 @@ define([
|
|||
'</li>'].join(''),
|
||||
|
||||
templateUserList: _.template('<ul>' +
|
||||
'<% _.each(users, function(item) { %>' +
|
||||
'<%= _.template(usertpl)({user: item, scope: scope}) %>' +
|
||||
'<% }); %>' +
|
||||
'<% for (originalId in users) { %>' +
|
||||
'<%= _.template(usertpl)({user: users[originalId][0], scope: scope}) %>' +
|
||||
'<% } %>' +
|
||||
'</ul>'),
|
||||
|
||||
tplMsg: ['<li>',
|
||||
'<% if (msg.get("type")==1) { %>',
|
||||
'<div class="message service" data-can-copy="true"><%= msg.get("message") %></div>',
|
||||
'<% } else { %>',
|
||||
'<div class="user" data-can-copy="true" style="color: <%= msg.get("usercolor") %>;"><%= scope.getUserName(msg.get("username")) %></div>',
|
||||
'<div class="user-name" data-can-copy="true">',
|
||||
'<div class="color" style="display: inline-block; background-color: <% if (msg.get("usercolor")!==null) { %><%=msg.get("usercolor")%><% } else { %> #cfcfcf <% } %>; " ></div><%= scope.getUserName(msg.get("username")) %>',
|
||||
'</div>',
|
||||
'<label class="message user-select" data-can-copy="true"><%= msg.get("message") %></label>',
|
||||
'<% } %>',
|
||||
'</li>'].join(''),
|
||||
|
@ -98,8 +100,8 @@ define([
|
|||
Common.UI.BaseView.prototype.initialize.call(this, arguments);
|
||||
|
||||
this.storeUsers.bind({
|
||||
add : _.bind(this._onAddUser, this),
|
||||
change : _.bind(this._onUsersChanged, this),
|
||||
add : _.bind(this._onResetUsers, this),
|
||||
change : _.bind(this._onResetUsers, this),
|
||||
reset : _.bind(this._onResetUsers, this)
|
||||
});
|
||||
|
||||
|
@ -160,23 +162,10 @@ define([
|
|||
}
|
||||
},
|
||||
|
||||
_onAddUser: function(m, c, opts) {
|
||||
if (this.panelUsers) {
|
||||
this.panelUsers.find('ul').append(_.template(this.tplUser)({user: m, scope: this}));
|
||||
this.panelUsers.scroller.update({minScrollbarLength : 25, alwaysVisibleY: true});
|
||||
}
|
||||
},
|
||||
|
||||
_onUsersChanged: function(m) {
|
||||
if (m.changed.online != undefined && this.panelUsers) {
|
||||
this.panelUsers.find('#' + m.get('iid'))[m.changed.online?'removeClass':'addClass']('offline');
|
||||
this.panelUsers.scroller.update({minScrollbarLength : 25, alwaysVisibleY: true});
|
||||
}
|
||||
},
|
||||
|
||||
_onResetUsers: function(c, opts) {
|
||||
if (this.panelUsers) {
|
||||
this.panelUsers.html(this.templateUserList({users: c.models, usertpl: this.tplUser, scope: this}));
|
||||
this.panelUsers.html(this.templateUserList({users: this.storeUsers.chain().filter(function(item){return item.get('online');}).groupBy(function(item) {return item.get('idOriginal');}).value(),
|
||||
usertpl: this.tplUser, scope: this}));
|
||||
this.panelUsers.scroller.update({minScrollbarLength : 25, alwaysVisibleY: true});
|
||||
}
|
||||
},
|
||||
|
@ -217,9 +206,9 @@ define([
|
|||
},
|
||||
|
||||
_prepareMessage: function(m) {
|
||||
var user = this.storeUsers.findUser(m.get('userid'));
|
||||
var user = this.storeUsers.findOriginalUser(m.get('userid'));
|
||||
m.set({
|
||||
usercolor : user ? user.get('color') : '#000',
|
||||
usercolor : user ? user.get('color') : null,
|
||||
message : this._pickLink(Common.Utils.String.htmlEncode(m.get('message')))
|
||||
}, {silent:true});
|
||||
},
|
||||
|
|
|
@ -48,14 +48,13 @@ Common.Views = Common.Views || {};
|
|||
define([
|
||||
'text!common/main/lib/template/Comments.template',
|
||||
'text!common/main/lib/template/CommentsPanel.template',
|
||||
'text!common/main/lib/template/CommentsPopover.template',
|
||||
'common/main/lib/util/utils',
|
||||
'common/main/lib/component/Button',
|
||||
'common/main/lib/component/ComboBox',
|
||||
'common/main/lib/component/DataView',
|
||||
'common/main/lib/component/Layout',
|
||||
'common/main/lib/component/Window'
|
||||
], function (commentsTemplate, panelTemplate, popoverTemplate) {
|
||||
], function (commentsTemplate, panelTemplate) {
|
||||
'use strict';
|
||||
|
||||
function replaceWords (template, words) {
|
||||
|
@ -73,757 +72,6 @@ define([
|
|||
return tpl;
|
||||
}
|
||||
|
||||
Common.Views.CommentsPopover = Common.UI.Window.extend({
|
||||
|
||||
// Window
|
||||
|
||||
initialize : function (options) {
|
||||
var _options = {};
|
||||
|
||||
_.extend(_options, {
|
||||
closable : false,
|
||||
width : 265,
|
||||
height : 120,
|
||||
header : false,
|
||||
modal : false
|
||||
}, options);
|
||||
|
||||
this.template = options.template || [
|
||||
'<div class="box">',
|
||||
'<div id="id-comments-popover" class="comments-popover"></div>',
|
||||
'<div id="id-comments-arrow" class="comments-arrow"></div>',
|
||||
'</div>'
|
||||
].join('');
|
||||
|
||||
this.store = options.store;
|
||||
this.delegate = options.delegate;
|
||||
|
||||
_options.tpl = _.template(this.template)(_options);
|
||||
|
||||
this.arrow = {margin: 20, width: 12, height: 34};
|
||||
this.sdkBounds = {width: 0, height: 0, padding: 10, paddingTop: 20};
|
||||
|
||||
Common.UI.Window.prototype.initialize.call(this, _options);
|
||||
},
|
||||
render: function () {
|
||||
Common.UI.Window.prototype.render.call(this);
|
||||
|
||||
var me = this,
|
||||
t = this.delegate,
|
||||
window = this.$window;
|
||||
|
||||
window.css({
|
||||
height: '',
|
||||
minHeight: '',
|
||||
overflow: 'hidden',
|
||||
position: 'absolute',
|
||||
zIndex: '990'
|
||||
});
|
||||
|
||||
// for spreadsheets - bug 23127
|
||||
|
||||
// if ($('#ws-h-scrollbar').length) {
|
||||
// window.css({zIndex: '5'});
|
||||
// }
|
||||
|
||||
var body = window.find('.body');
|
||||
if (body) {
|
||||
body.css('position', 'relative');
|
||||
}
|
||||
|
||||
window.on('click', _.bind(function() {
|
||||
window.css({zIndex: '991'});
|
||||
Common.NotificationCenter.trigger('comments:click');
|
||||
}, this));
|
||||
Common.NotificationCenter.on('review:click', function() {
|
||||
window.css({zIndex: '990'});
|
||||
});
|
||||
|
||||
var PopoverDataView = Common.UI.DataView.extend((function() {
|
||||
|
||||
var parentView = me;
|
||||
|
||||
return {
|
||||
|
||||
options : {
|
||||
handleSelect: false,
|
||||
scrollable: true,
|
||||
template: _.template('<div class="dataview-ct inner" style="overflow-y: hidden;"></div>')
|
||||
},
|
||||
|
||||
getTextBox: function () {
|
||||
var text = $(this.el).find('textarea');
|
||||
return (text && text.length) ? text : undefined;
|
||||
},
|
||||
setFocusToTextBox: function (blur) {
|
||||
var text = $(this.el).find('textarea');
|
||||
if (blur) {
|
||||
text.blur();
|
||||
} else {
|
||||
if (text && text.length) {
|
||||
var val = text.val();
|
||||
text.focus();
|
||||
text.val('');
|
||||
text.val(val);
|
||||
}
|
||||
}
|
||||
},
|
||||
getActiveTextBoxVal: function () {
|
||||
var text = $(this.el).find('textarea');
|
||||
return (text && text.length) ? text.val().trim() : '';
|
||||
},
|
||||
autoHeightTextBox: function () {
|
||||
var view = this,
|
||||
textBox = this.$el.find('textarea'),
|
||||
domTextBox = null,
|
||||
minHeight = 50,
|
||||
lineHeight = 0,
|
||||
scrollPos = 0,
|
||||
oldHeight = 0,
|
||||
newHeight = 0;
|
||||
|
||||
function updateTextBoxHeight() {
|
||||
scrollPos = $(view.scroller.el).scrollTop();
|
||||
|
||||
if (domTextBox.scrollHeight > domTextBox.clientHeight) {
|
||||
textBox.css({height: (domTextBox.scrollHeight + lineHeight) + 'px'});
|
||||
|
||||
parentView.calculateSizeOfContent();
|
||||
} else {
|
||||
oldHeight = domTextBox.clientHeight;
|
||||
if (oldHeight >= minHeight) {
|
||||
textBox.css({height: minHeight + 'px'});
|
||||
|
||||
if (domTextBox.scrollHeight > domTextBox.clientHeight) {
|
||||
newHeight = Math.max(domTextBox.scrollHeight + lineHeight, minHeight);
|
||||
textBox.css({height: newHeight + 'px'});
|
||||
}
|
||||
|
||||
parentView.calculateSizeOfContent();
|
||||
parentView.setLeftTop(me.arrowPosX, me.arrowPosY, me.leftX);
|
||||
parentView.calculateSizeOfContent();
|
||||
}
|
||||
}
|
||||
|
||||
view.scroller.scrollTop(scrollPos);
|
||||
view.autoScrollToEditButtons();
|
||||
}
|
||||
|
||||
if (textBox && textBox.length) {
|
||||
domTextBox = textBox.get(0);
|
||||
|
||||
if (domTextBox) {
|
||||
lineHeight = parseInt(textBox.css('lineHeight'), 10) * 0.25;
|
||||
updateTextBoxHeight();
|
||||
textBox.bind('input propertychange', updateTextBoxHeight)
|
||||
}
|
||||
}
|
||||
|
||||
this.textBox = textBox;
|
||||
},
|
||||
clearTextBoxBind: function () {
|
||||
if (this.textBox) {
|
||||
this.textBox.unbind('input propertychange');
|
||||
this.textBox = undefined;
|
||||
}
|
||||
},
|
||||
autoScrollToEditButtons: function () {
|
||||
var button = $('#id-comments-change-popover'), // TODO: add to cache
|
||||
btnBounds = null,
|
||||
contentBounds = this.el.getBoundingClientRect(),
|
||||
moveY = 0,
|
||||
padding = 7;
|
||||
|
||||
if (button.length) {
|
||||
btnBounds = button.get(0).getBoundingClientRect();
|
||||
if (btnBounds && contentBounds) {
|
||||
moveY = contentBounds.bottom - (btnBounds.bottom + padding);
|
||||
if (moveY < 0) {
|
||||
this.scroller.scrollTop(this.scroller.getScrollTop() - moveY);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})());
|
||||
if (PopoverDataView) {
|
||||
if (this.commentsView) {
|
||||
this.commentsView.render($('#id-comments-popover'));
|
||||
this.commentsView.onResetItems();
|
||||
} else {
|
||||
this.commentsView = new PopoverDataView({
|
||||
el: $('#id-comments-popover'),
|
||||
store: me.store,
|
||||
itemTemplate: _.template(replaceWords(popoverTemplate, {
|
||||
textAddReply: t.textAddReply,
|
||||
textAdd: t.textAdd,
|
||||
textCancel: t.textCancel,
|
||||
textEdit: t.textEdit,
|
||||
textReply: t.textReply,
|
||||
textClose: t.textClose,
|
||||
maxCommLength: Asc.c_oAscMaxCellOrCommentLength
|
||||
})
|
||||
)
|
||||
});
|
||||
|
||||
var addtooltip = function (dataview, view, record) {
|
||||
if (view.tipsArray) {
|
||||
view.tipsArray.forEach(function(item){
|
||||
item.remove();
|
||||
});
|
||||
}
|
||||
|
||||
var arr = [],
|
||||
btns = $(view.el).find('.btn-resolve');
|
||||
btns.tooltip({title: t.textResolve, placement: 'cursor'});
|
||||
btns.each(function(idx, item){
|
||||
arr.push($(item).data('bs.tooltip').tip());
|
||||
});
|
||||
btns = $(view.el).find('.btn-resolve-check');
|
||||
btns.tooltip({title: t.textOpenAgain, placement: 'cursor'});
|
||||
btns.each(function(idx, item){
|
||||
arr.push($(item).data('bs.tooltip').tip());
|
||||
});
|
||||
view.tipsArray = arr;
|
||||
this.autoHeightTextBox();
|
||||
};
|
||||
|
||||
var onCommentsViewMouseOver = function() {
|
||||
me._isMouseOver = true;
|
||||
};
|
||||
|
||||
var onCommentsViewMouseOut = function() {
|
||||
me._isMouseOver = false;
|
||||
};
|
||||
|
||||
this.commentsView.on('item:add', addtooltip);
|
||||
this.commentsView.on('item:remove', addtooltip);
|
||||
this.commentsView.on('item:change', addtooltip);
|
||||
this.commentsView.cmpEl.on('mouseover', onCommentsViewMouseOver).on('mouseout', onCommentsViewMouseOut);
|
||||
|
||||
this.commentsView.on('item:click', function (picker, item, record, e) {
|
||||
var btn, showEditBox, showReplyBox, commentId, replyId, hideAddReply;
|
||||
|
||||
function readdresolves() {
|
||||
me.update();
|
||||
}
|
||||
|
||||
btn = $(e.target);
|
||||
if (btn) {
|
||||
showEditBox = record.get('editTextInPopover');
|
||||
showReplyBox = record.get('showReplyInPopover');
|
||||
hideAddReply = record.get('hideAddReply');
|
||||
commentId = record.get('uid');
|
||||
replyId = btn.attr('data-value');
|
||||
|
||||
if (record.get('hint')) {
|
||||
t.fireEvent('comment:disableHint', [record]);
|
||||
return;
|
||||
}
|
||||
|
||||
if (btn.hasClass('btn-edit')) {
|
||||
if (!_.isUndefined(replyId)) {
|
||||
t.fireEvent('comment:closeEditing', [commentId]);
|
||||
t.fireEvent('comment:editReply', [commentId, replyId, true]);
|
||||
|
||||
this.replyId = replyId;
|
||||
|
||||
this.autoHeightTextBox();
|
||||
|
||||
me.calculateSizeOfContent();
|
||||
me.setLeftTop(me.arrowPosX, me.arrowPosY, me.leftX);
|
||||
me.calculateSizeOfContent();
|
||||
|
||||
readdresolves();
|
||||
|
||||
me.hookTextBox();
|
||||
|
||||
this.autoScrollToEditButtons();
|
||||
this.setFocusToTextBox();
|
||||
} else {
|
||||
if (!showEditBox) {
|
||||
t.fireEvent('comment:closeEditing');
|
||||
record.set('editTextInPopover', true);
|
||||
|
||||
t.fireEvent('comment:show', [commentId]);
|
||||
|
||||
this.autoHeightTextBox();
|
||||
|
||||
me.calculateSizeOfContent();
|
||||
me.setLeftTop(me.arrowPosX, me.arrowPosY, me.leftX);
|
||||
me.calculateSizeOfContent();
|
||||
|
||||
readdresolves();
|
||||
|
||||
me.hookTextBox();
|
||||
|
||||
this.autoScrollToEditButtons();
|
||||
this.setFocusToTextBox();
|
||||
}
|
||||
}
|
||||
} else if (btn.hasClass('btn-delete')) {
|
||||
if (!_.isUndefined(replyId)) {
|
||||
t.fireEvent('comment:removeReply', [commentId, replyId]);
|
||||
|
||||
me.calculateSizeOfContent();
|
||||
me.setLeftTop(me.arrowPosX, me.arrowPosY, me.leftX);
|
||||
me.calculateSizeOfContent();
|
||||
|
||||
} else {
|
||||
t.fireEvent('comment:remove', [commentId]);
|
||||
}
|
||||
|
||||
t.fireEvent('comment:closeEditing');
|
||||
|
||||
readdresolves();
|
||||
|
||||
} else if (btn.hasClass('user-reply')) {
|
||||
t.fireEvent('comment:closeEditing');
|
||||
record.set('showReplyInPopover', true);
|
||||
|
||||
me.calculateSizeOfContent();
|
||||
me.setLeftTop(me.arrowPosX, me.arrowPosY, me.leftX);
|
||||
me.calculateSizeOfContent();
|
||||
|
||||
readdresolves();
|
||||
|
||||
this.autoHeightTextBox();
|
||||
me.hookTextBox();
|
||||
|
||||
this.autoScrollToEditButtons();
|
||||
this.setFocusToTextBox();
|
||||
} else if (btn.hasClass('btn-reply', false)) {
|
||||
if (showReplyBox) {
|
||||
this.clearTextBoxBind();
|
||||
|
||||
t.fireEvent('comment:addReply', [commentId, this.getActiveTextBoxVal()]);
|
||||
t.fireEvent('comment:closeEditing');
|
||||
|
||||
readdresolves();
|
||||
}
|
||||
} else if (btn.hasClass('btn-close', false)) {
|
||||
t.fireEvent('comment:closeEditing', [commentId]);
|
||||
me.calculateSizeOfContent();
|
||||
t.fireEvent('comment:show', [commentId]);
|
||||
|
||||
readdresolves();
|
||||
|
||||
} else if (btn.hasClass('btn-inner-edit', false)) {
|
||||
|
||||
if (record.get('dummy')) {
|
||||
var commentVal = this.getActiveTextBoxVal();
|
||||
if (commentVal.length>0)
|
||||
t.fireEvent('comment:addDummyComment', [commentVal]);
|
||||
else {
|
||||
var text = me.$window.find('textarea:not(.user-message)');
|
||||
if (text && text.length)
|
||||
setTimeout(function(){
|
||||
text.focus();
|
||||
}, 10);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
this.clearTextBoxBind();
|
||||
|
||||
if (!_.isUndefined(this.replyId)) {
|
||||
t.fireEvent('comment:changeReply', [commentId, this.replyId, this.getActiveTextBoxVal()]);
|
||||
this.replyId = undefined;
|
||||
t.fireEvent('comment:closeEditing');
|
||||
} else if (showEditBox) {
|
||||
t.fireEvent('comment:change', [commentId, this.getActiveTextBoxVal()]);
|
||||
t.fireEvent('comment:closeEditing');
|
||||
me.calculateSizeOfContent();
|
||||
}
|
||||
|
||||
readdresolves();
|
||||
|
||||
} else if (btn.hasClass('btn-inner-close', false)) {
|
||||
if (record.get('dummy')) {
|
||||
me.hide();
|
||||
return;
|
||||
}
|
||||
|
||||
if (hideAddReply && this.getActiveTextBoxVal().length > 0) {
|
||||
me.saveText();
|
||||
record.set('hideAddReply', false);
|
||||
this.getTextBox().val(me.textVal);
|
||||
this.autoHeightTextBox();
|
||||
} else {
|
||||
|
||||
this.clearTextBoxBind();
|
||||
|
||||
t.fireEvent('comment:closeEditing', [commentId]);
|
||||
}
|
||||
|
||||
this.replyId = undefined;
|
||||
|
||||
me.calculateSizeOfContent();
|
||||
me.setLeftTop(me.arrowPosX, me.arrowPosY, me.leftX);
|
||||
me.calculateSizeOfContent();
|
||||
|
||||
readdresolves();
|
||||
|
||||
} else if (btn.hasClass('btn-resolve', false)) {
|
||||
var tip = btn.data('bs.tooltip');
|
||||
if (tip) tip.dontShow = true;
|
||||
|
||||
t.fireEvent('comment:resolve', [commentId]);
|
||||
|
||||
readdresolves();
|
||||
} else if (btn.hasClass('btn-resolve-check', false)) {
|
||||
var tip = btn.data('bs.tooltip');
|
||||
if (tip) tip.dontShow = true;
|
||||
|
||||
t.fireEvent('comment:resolve', [commentId]);
|
||||
|
||||
readdresolves();
|
||||
}
|
||||
}
|
||||
});
|
||||
me.on({
|
||||
'show': function () {
|
||||
me.commentsView.autoHeightTextBox();
|
||||
me.$window.find('textarea').keydown(function (event) {
|
||||
if (event.keyCode == Common.UI.Keys.ESC) {
|
||||
me.hide();
|
||||
}
|
||||
});
|
||||
},
|
||||
'animate:before': function () {
|
||||
var text = me.$window.find('textarea');
|
||||
if (text && text.length)
|
||||
text.focus();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
show: function (animate, loadText, focus, showText) {
|
||||
this.options.animate = animate;
|
||||
|
||||
var me = this,textBox = this.commentsView.getTextBox();
|
||||
|
||||
if (loadText && this.textVal) {
|
||||
textBox && textBox.val(this.textVal);
|
||||
}
|
||||
|
||||
if (showText && showText.length) {
|
||||
textBox && textBox.val(showText);
|
||||
}
|
||||
|
||||
// this.calculateSizeOfContent();
|
||||
// this.commentsView.autoHeightTextBox();
|
||||
|
||||
Common.UI.Window.prototype.show.call(this);
|
||||
|
||||
if (this.commentsView.scroller) {
|
||||
this.commentsView.scroller.update({minScrollbarLength: 40, alwaysVisibleY: true});
|
||||
}
|
||||
|
||||
this.hookTextBox();
|
||||
},
|
||||
hide: function () {
|
||||
if (this.handlerHide) {
|
||||
this.handlerHide ();
|
||||
}
|
||||
this.hideTips();
|
||||
Common.UI.Window.prototype.hide.call(this);
|
||||
|
||||
if (!_.isUndefined(this.e) && this.e.keyCode == Common.UI.Keys.ESC) {
|
||||
this.e.preventDefault();
|
||||
this.e.stopImmediatePropagation();
|
||||
this.e = undefined;
|
||||
}
|
||||
},
|
||||
|
||||
// CommentsPopover
|
||||
|
||||
update: function () {
|
||||
if (this.commentsView && this.commentsView.scroller) {
|
||||
this.commentsView.scroller.update({minScrollbarLength: 40, alwaysVisibleY: true});
|
||||
}
|
||||
},
|
||||
|
||||
isVisible: function () {
|
||||
return (this.$window && this.$window.is(':visible'));
|
||||
},
|
||||
setLeftTop: function (posX, posY, leftX, loadInnerValues, retainContent) {
|
||||
if (!this.$window)
|
||||
this.render();
|
||||
|
||||
if (loadInnerValues) {
|
||||
posX = this.arrowPosX;
|
||||
posY = this.arrowPosY;
|
||||
leftX = this.leftX;
|
||||
}
|
||||
|
||||
if (_.isUndefined(posX) && _.isUndefined(posY))
|
||||
return;
|
||||
|
||||
this.arrowPosX = posX;
|
||||
this.arrowPosY = posY;
|
||||
this.leftX = leftX;
|
||||
|
||||
var commentsView = $('#id-comments-popover'),
|
||||
arrowView = $('#id-comments-arrow'),
|
||||
editorView = $('#editor_sdk'),
|
||||
editorBounds = null,
|
||||
sdkBoundsHeight = 0,
|
||||
sdkBoundsTop = 0,
|
||||
sdkBoundsLeft = 0,
|
||||
sdkPanelRight = '',
|
||||
sdkPanelRightWidth = 0,
|
||||
sdkPanelLeft = '',
|
||||
sdkPanelLeftWidth = 0,
|
||||
sdkPanelThumbs = '', // for PE
|
||||
sdkPanelThumbsWidth = 0, // for PE
|
||||
sdkPanelTop = '',
|
||||
sdkPanelHeight = 0,
|
||||
leftPos = 0,
|
||||
windowWidth = 0,
|
||||
outerHeight = 0,
|
||||
topPos = 0,
|
||||
sdkBoundsTopPos = 0;
|
||||
|
||||
if (commentsView && arrowView && editorView && editorView.get(0)) {
|
||||
editorBounds = editorView.get(0).getBoundingClientRect();
|
||||
if (editorBounds) {
|
||||
sdkBoundsHeight = editorBounds.height - this.sdkBounds.padding * 2;
|
||||
|
||||
this.$window.css({maxHeight: sdkBoundsHeight + 'px'});
|
||||
|
||||
this.sdkBounds.width = editorBounds.width;
|
||||
this.sdkBounds.height = editorBounds.height;
|
||||
|
||||
// LEFT CORNER
|
||||
|
||||
if (!_.isUndefined(posX)) {
|
||||
|
||||
sdkPanelRight = $('#id_vertical_scroll');
|
||||
if (sdkPanelRight.length) {
|
||||
sdkPanelRightWidth = (sdkPanelRight.css('display') !== 'none') ? sdkPanelRight.width() : 0;
|
||||
} else {
|
||||
sdkPanelRight = $('#ws-v-scrollbar');
|
||||
if (sdkPanelRight.length) {
|
||||
sdkPanelRightWidth = (sdkPanelRight.css('display') !== 'none') ? sdkPanelRight.width() : 0;
|
||||
}
|
||||
}
|
||||
|
||||
this.sdkBounds.width -= sdkPanelRightWidth;
|
||||
|
||||
sdkPanelLeft = $('#id_panel_left');
|
||||
if (sdkPanelLeft.length) {
|
||||
sdkPanelLeftWidth = (sdkPanelLeft.css('display') !== 'none') ? sdkPanelLeft.width() : 0;
|
||||
}
|
||||
sdkPanelThumbs = $('#id_panel_thumbnails');
|
||||
if (sdkPanelThumbs.length) {
|
||||
sdkPanelThumbsWidth = (sdkPanelThumbs.css('display') !== 'none') ? sdkPanelThumbs.width() : 0;
|
||||
this.sdkBounds.width -= sdkPanelThumbsWidth;
|
||||
}
|
||||
|
||||
leftPos = Math.min(sdkBoundsLeft + posX + this.arrow.width, sdkBoundsLeft + this.sdkBounds.width - this.$window.outerWidth() - 25);
|
||||
leftPos = Math.max(sdkBoundsLeft + sdkPanelLeftWidth + this.arrow.width, leftPos);
|
||||
|
||||
arrowView.removeClass('right').addClass('left');
|
||||
|
||||
if (!_.isUndefined(leftX)) {
|
||||
windowWidth = this.$window.outerWidth();
|
||||
if (windowWidth) {
|
||||
if ((posX + windowWidth > this.sdkBounds.width - this.arrow.width + 5) && (this.leftX > windowWidth)) {
|
||||
leftPos = this.leftX - windowWidth + sdkBoundsLeft - this.arrow.width;
|
||||
arrowView.removeClass('left').addClass('right');
|
||||
} else {
|
||||
leftPos = sdkBoundsLeft + posX + this.arrow.width;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.$window.css('left', leftPos + 'px');
|
||||
}
|
||||
|
||||
// TOP CORNER
|
||||
|
||||
if (!_.isUndefined(posY)) {
|
||||
sdkPanelTop = $('#id_panel_top');
|
||||
sdkBoundsTopPos = sdkBoundsTop;
|
||||
if (sdkPanelTop.length) {
|
||||
sdkPanelHeight = (sdkPanelTop.css('display') !== 'none') ? sdkPanelTop.height() : 0;
|
||||
sdkBoundsTopPos += this.sdkBounds.paddingTop;
|
||||
} else {
|
||||
sdkPanelTop = $('#ws-h-scrollbar');
|
||||
if (sdkPanelTop.length) {
|
||||
sdkPanelHeight = (sdkPanelTop.css('display') !== 'none') ? sdkPanelTop.height() : 0;
|
||||
}
|
||||
}
|
||||
|
||||
this.sdkBounds.height -= sdkPanelHeight;
|
||||
|
||||
outerHeight = this.$window.outerHeight();
|
||||
|
||||
topPos = Math.min(sdkBoundsTop + sdkBoundsHeight - outerHeight, this.arrowPosY + sdkBoundsTop - this.arrow.height);
|
||||
topPos = Math.max(topPos, sdkBoundsTopPos);
|
||||
|
||||
this.$window.css('top', topPos + 'px');
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!retainContent)
|
||||
this.calculateSizeOfContent();
|
||||
},
|
||||
calculateSizeOfContent: function (testVisible) {
|
||||
if (testVisible && !this.$window.is(':visible'))
|
||||
return;
|
||||
|
||||
this.$window.css({overflow: 'hidden'});
|
||||
|
||||
var arrowView = $('#id-comments-arrow'),
|
||||
commentsView = $('#id-comments-popover'),
|
||||
contentBounds = null,
|
||||
editorView = null,
|
||||
editorBounds = null,
|
||||
sdkBoundsHeight = 0,
|
||||
sdkBoundsTop = 0,
|
||||
sdkBoundsLeft = 0,
|
||||
sdkPanelTop = '',
|
||||
sdkPanelHeight = 0,
|
||||
arrowPosY = 0,
|
||||
windowHeight = 0,
|
||||
outerHeight = 0,
|
||||
topPos = 0,
|
||||
sdkBoundsTopPos = 0;
|
||||
|
||||
if (commentsView && arrowView && commentsView.get(0)) {
|
||||
commentsView.css({height: '100%'});
|
||||
|
||||
contentBounds = commentsView.get(0).getBoundingClientRect();
|
||||
if (contentBounds) {
|
||||
editorView = $('#editor_sdk');
|
||||
if (editorView && editorView.get(0)) {
|
||||
editorBounds = editorView.get(0).getBoundingClientRect();
|
||||
if (editorBounds) {
|
||||
sdkBoundsHeight = editorBounds.height - this.sdkBounds.padding * 2;
|
||||
sdkBoundsTopPos = sdkBoundsTop;
|
||||
windowHeight = this.$window.outerHeight();
|
||||
|
||||
// TOP CORNER
|
||||
|
||||
sdkPanelTop = $('#id_panel_top');
|
||||
if (sdkPanelTop.length) {
|
||||
sdkPanelHeight = (sdkPanelTop.css('display') !== 'none') ? sdkPanelTop.height() : 0;
|
||||
sdkBoundsTopPos += this.sdkBounds.paddingTop;
|
||||
} else {
|
||||
sdkPanelTop = $('#ws-h-scrollbar');
|
||||
if (sdkPanelTop.length) {
|
||||
sdkPanelHeight = (sdkPanelTop.css('display') !== 'none') ? sdkPanelTop.height() : 0;
|
||||
}
|
||||
}
|
||||
|
||||
outerHeight = Math.max(commentsView.outerHeight(), this.$window.outerHeight());
|
||||
|
||||
if (sdkBoundsHeight <= outerHeight) {
|
||||
this.$window.css({
|
||||
maxHeight: sdkBoundsHeight - sdkPanelHeight + 'px',
|
||||
top: sdkBoundsTop + sdkPanelHeight + 'px'});
|
||||
|
||||
commentsView.css({height: sdkBoundsHeight - sdkPanelHeight - 3 + 'px'});
|
||||
|
||||
// arrowPosY = Math.max(this.arrow.margin, this.arrowPosY - sdkPanelHeight - this.arrow.width);
|
||||
arrowPosY = Math.min(arrowPosY, sdkBoundsHeight - (sdkPanelHeight + this.arrow.margin + this.arrow.width));
|
||||
|
||||
arrowView.css({top: arrowPosY + 'px'});
|
||||
} else {
|
||||
|
||||
outerHeight = windowHeight;
|
||||
|
||||
if (outerHeight > 0) {
|
||||
if (contentBounds.top + outerHeight > sdkBoundsHeight + sdkBoundsTop || contentBounds.height === 0) {
|
||||
topPos = Math.min(sdkBoundsTop + sdkBoundsHeight - outerHeight, this.arrowPosY + sdkBoundsTop - this.arrow.height);
|
||||
topPos = Math.max(topPos, sdkBoundsTopPos);
|
||||
|
||||
this.$window.css({top: topPos + 'px'});
|
||||
}
|
||||
}
|
||||
|
||||
arrowPosY = Math.max(this.arrow.margin, this.arrowPosY - (sdkBoundsHeight - outerHeight) - this.arrow.width);
|
||||
arrowPosY = Math.min(arrowPosY, outerHeight - this.arrow.margin - this.arrow.width);
|
||||
|
||||
arrowView.css({top: arrowPosY + 'px'});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.$window.css({overflow: ''});
|
||||
},
|
||||
saveText: function (clear) {
|
||||
if (this.commentsView && this.commentsView.cmpEl.find('.lock-area').length<1) {
|
||||
this.textVal = undefined;
|
||||
if (!clear) {
|
||||
this.textVal = this.commentsView.getActiveTextBoxVal();
|
||||
} else {
|
||||
this.commentsView.clearTextBoxBind();
|
||||
}
|
||||
}
|
||||
},
|
||||
loadText: function () {
|
||||
if (this.textVal && this.commentsView) {
|
||||
var textBox = this.commentsView.getTextBox();
|
||||
textBox && textBox.val(this.textVal);
|
||||
}
|
||||
},
|
||||
getEditText: function () {
|
||||
if (this.commentsView) {
|
||||
return this.commentsView.getActiveTextBoxVal();
|
||||
}
|
||||
|
||||
return undefined;
|
||||
},
|
||||
|
||||
hookTextBox: function () {
|
||||
var me = this, textBox = this.commentsView.getTextBox();
|
||||
|
||||
textBox && textBox.keydown(function (event) {
|
||||
if ((event.ctrlKey || event.metaKey) && !event.altKey && event.keyCode === Common.UI.Keys.RETURN) {
|
||||
var buttonChangeComment = $('#id-comments-change-popover');
|
||||
if (buttonChangeComment && buttonChangeComment.length) {
|
||||
buttonChangeComment.click();
|
||||
}
|
||||
|
||||
event.stopImmediatePropagation();
|
||||
} else if (event.keyCode === Common.UI.Keys.TAB) {
|
||||
var $this, end, start;
|
||||
start = this.selectionStart;
|
||||
end = this.selectionEnd;
|
||||
$this = $(this);
|
||||
$this.val($this.val().substring(0, start) + '\t' + $this.val().substring(end));
|
||||
this.selectionStart = this.selectionEnd = start + 1;
|
||||
|
||||
event.stopImmediatePropagation();
|
||||
event.preventDefault();
|
||||
}
|
||||
|
||||
me.e = event;
|
||||
});
|
||||
},
|
||||
|
||||
hideTips: function() {
|
||||
if (this.commentsView)
|
||||
_.each(this.commentsView.dataViewItems, function(item) {
|
||||
if (item.tipsArray) {
|
||||
item.tipsArray.forEach(function(item){
|
||||
item.hide();
|
||||
});
|
||||
}
|
||||
}, this);
|
||||
},
|
||||
|
||||
isCommentsViewMouseOver: function() {
|
||||
return this._isMouseOver;
|
||||
}
|
||||
});
|
||||
|
||||
Common.Views.Comments = Common.UI.BaseView.extend(_.extend({
|
||||
el: '#left-panel-comments',
|
||||
template: _.template(panelTemplate),
|
||||
|
@ -836,59 +84,57 @@ define([
|
|||
Common.UI.BaseView.prototype.initialize.call(this, options);
|
||||
|
||||
this.store = this.options.store;
|
||||
this.popoverComments = this.options.popoverComments;
|
||||
},
|
||||
render: function () {
|
||||
var me = this;
|
||||
|
||||
this.$el.html(this.template({
|
||||
textAddCommentToDoc: me.textAddCommentToDoc,
|
||||
textAddComment: me.textAddComment,
|
||||
textCancel: me.textCancel,
|
||||
textEnterCommentHint: me.textEnterCommentHint,
|
||||
maxCommLength: Asc.c_oAscMaxCellOrCommentLength
|
||||
}));
|
||||
if (!this.rendered) {
|
||||
this.$el.html(this.template({
|
||||
textAddCommentToDoc: me.textAddCommentToDoc,
|
||||
textAddComment: me.textAddComment,
|
||||
textCancel: me.textCancel,
|
||||
textEnterCommentHint: me.textEnterCommentHint,
|
||||
maxCommLength: Asc.c_oAscMaxCellOrCommentLength
|
||||
}));
|
||||
|
||||
this.buttonAddCommentToDoc = new Common.UI.Button({
|
||||
el: $('.btn.new',this.$el),
|
||||
enableToggle: false
|
||||
});
|
||||
this.buttonAdd = new Common.UI.Button({
|
||||
action: 'add',
|
||||
el: $('.btn.add', this.$el),
|
||||
enableToggle: false
|
||||
});
|
||||
this.buttonCancel = new Common.UI.Button({
|
||||
el: $('.btn.cancel', this.$el),
|
||||
enableToggle: false
|
||||
});
|
||||
this.buttonAddCommentToDoc = new Common.UI.Button({
|
||||
el: $('.btn.new', this.$el),
|
||||
enableToggle: false
|
||||
});
|
||||
this.buttonAdd = new Common.UI.Button({
|
||||
action: 'add',
|
||||
el: $('.btn.add', this.$el),
|
||||
enableToggle: false
|
||||
});
|
||||
this.buttonCancel = new Common.UI.Button({
|
||||
el: $('.btn.cancel', this.$el),
|
||||
enableToggle: false
|
||||
});
|
||||
|
||||
this.buttonAddCommentToDoc.on('click', _.bind(this.onClickShowBoxDocumentComment, this));
|
||||
this.buttonAdd.on('click', _.bind(this.onClickAddDocumentComment, this));
|
||||
this.buttonCancel.on('click', _.bind(this.onClickCancelDocumentComment, this));
|
||||
this.buttonAddCommentToDoc.on('click', _.bind(this.onClickShowBoxDocumentComment, this));
|
||||
this.buttonAdd.on('click', _.bind(this.onClickAddDocumentComment, this));
|
||||
this.buttonCancel.on('click', _.bind(this.onClickCancelDocumentComment, this));
|
||||
|
||||
this.txtComment = $('#comment-msg-new', this.el);
|
||||
this.txtComment.keydown(function (event) {
|
||||
if ((event.ctrlKey || event.metaKey) && !event.altKey && event.keyCode == Common.UI.Keys.RETURN) {
|
||||
me.onClickAddDocumentComment();
|
||||
event.stopImmediatePropagation();
|
||||
} else if (event.keyCode === Common.UI.Keys.TAB) {
|
||||
var $this, end, start;
|
||||
start = this.selectionStart;
|
||||
end = this.selectionEnd;
|
||||
$this = $(this);
|
||||
$this.val($this.val().substring(0, start) + '\t' + $this.val().substring(end));
|
||||
this.selectionStart = this.selectionEnd = start + 1;
|
||||
|
||||
event.stopImmediatePropagation();
|
||||
event.preventDefault();
|
||||
}
|
||||
});
|
||||
this.txtComment = $('#comment-msg-new', this.el);
|
||||
this.txtComment.keydown(function (event) {
|
||||
if ((event.ctrlKey || event.metaKey) && !event.altKey && event.keyCode == Common.UI.Keys.RETURN) {
|
||||
me.onClickAddDocumentComment();
|
||||
event.stopImmediatePropagation();
|
||||
} else if (event.keyCode === Common.UI.Keys.TAB) {
|
||||
var $this, end, start;
|
||||
start = this.selectionStart;
|
||||
end = this.selectionEnd;
|
||||
$this = $(this);
|
||||
$this.val($this.val().substring(0, start) + '\t' + $this.val().substring(end));
|
||||
this.selectionStart = this.selectionEnd = start + 1;
|
||||
|
||||
event.stopImmediatePropagation();
|
||||
event.preventDefault();
|
||||
}
|
||||
});
|
||||
}
|
||||
var CommentsPanelDataView = Common.UI.DataView.extend((function() {
|
||||
|
||||
var parentView = me;
|
||||
|
||||
return {
|
||||
|
||||
options : {
|
||||
|
@ -983,7 +229,6 @@ define([
|
|||
})());
|
||||
if (CommentsPanelDataView) {
|
||||
if (this.commentsView) {
|
||||
this.commentsView.render($('.messages-ct',me.el));
|
||||
this.commentsView.onResetItems();
|
||||
} else {
|
||||
this.commentsView = new CommentsPanelDataView({
|
||||
|
@ -1139,8 +384,9 @@ define([
|
|||
}
|
||||
}
|
||||
|
||||
this.setupLayout();
|
||||
if (!this.rendered) this.setupLayout();
|
||||
this.update();
|
||||
this.rendered = true;
|
||||
|
||||
return this;
|
||||
},
|
||||
|
@ -1154,19 +400,6 @@ define([
|
|||
}
|
||||
},
|
||||
|
||||
getPopover: function (sdkViewName) {
|
||||
|
||||
if (_.isUndefined(this.popover)) {
|
||||
this.popover = new Common.Views.CommentsPopover({
|
||||
store : this.popoverComments,
|
||||
delegate : this,
|
||||
renderTo : sdkViewName
|
||||
});
|
||||
}
|
||||
|
||||
return this.popover;
|
||||
},
|
||||
|
||||
showEditContainer: function (show) {
|
||||
var addCommentLink = $('.add-link-ct', this.el),
|
||||
newCommentBlock = $('.new-comment-ct', this.el),
|
||||
|
@ -1204,6 +437,23 @@ define([
|
|||
this.showEditContainer(false);
|
||||
},
|
||||
|
||||
saveText: function (clear) {
|
||||
if (this.commentsView && this.commentsView.cmpEl.find('.lock-area').length<1) {
|
||||
this.textVal = undefined;
|
||||
if (!clear) {
|
||||
this.textVal = this.commentsView.getActiveTextBoxVal();
|
||||
} else {
|
||||
this.commentsView.clearTextBoxBind();
|
||||
}
|
||||
}
|
||||
},
|
||||
loadText: function () {
|
||||
if (this.textVal && this.commentsView) {
|
||||
var textBox = this.commentsView.getTextBox();
|
||||
textBox && textBox.val(this.textVal);
|
||||
}
|
||||
},
|
||||
|
||||
hookTextBox: function () {
|
||||
var me = this,
|
||||
textBox = this.commentsView.getTextBox();
|
||||
|
|
|
@ -119,7 +119,7 @@ define([
|
|||
},
|
||||
|
||||
_onMessage: function(msg) {
|
||||
if (msg /*&& msg.Referer == "onlyoffice"*/) {
|
||||
if (msg && msg.Referer == "onlyoffice") {
|
||||
if (msg.needUpdate)
|
||||
this.trigger('accessrights', this, msg.sharingSettings);
|
||||
Common.NotificationCenter.trigger('window:close', this);
|
||||
|
|
|
@ -57,16 +57,18 @@ define([
|
|||
|
||||
var templateUserItem =
|
||||
'<li id="<%= user.get("iid") %>" class="<% if (!user.get("online")) { %> offline <% } if (user.get("view")) {%> viewmode <% } %>">' +
|
||||
'<div class="color" style="background-color: <%= user.get("color") %>;" >' +
|
||||
'<label class="name"><%= fnEncode(user.get("username")) %></label>' +
|
||||
'</div>' +
|
||||
'<div class="user-name">' +
|
||||
'<div class="color" style="background-color: <%= user.get("color") %>;"></div>'+
|
||||
'<label><%= fnEncode(user.get("username")) %></label>' +
|
||||
'<% if (len>1) { %><label style="margin-left:3px;">(<%=len%>)</label><% } %>' +
|
||||
'</div>'+
|
||||
'</li>';
|
||||
|
||||
var templateUserList = _.template(
|
||||
'<ul>' +
|
||||
'<% _.each(users, function(item) { %>' +
|
||||
'<%= usertpl({user: item, fnEncode: fnEncode}) %>' +
|
||||
'<% }); %>' +
|
||||
'<% for (originalId in users) { %>' +
|
||||
'<%= usertpl({user: users[originalId][0], fnEncode: fnEncode, len: users[originalId].length}) %>' +
|
||||
'<% } %>' +
|
||||
'</ul>');
|
||||
|
||||
var templateRightBox = '<section>' +
|
||||
|
@ -115,63 +117,37 @@ define([
|
|||
'<label id="title-user-name" style="pointer-events: none;"></label>' +
|
||||
'</section>';
|
||||
|
||||
function onAddUser(model, collection, opts) {
|
||||
if ( $userList ) {
|
||||
var $ul = $userList.find('ul');
|
||||
if ( !$ul.length ) {
|
||||
$userList.html( templateUserList({
|
||||
users: collection.models,
|
||||
usertpl: _.template(templateUserItem),
|
||||
fnEncode: Common.Utils.String.htmlEncode
|
||||
})
|
||||
);
|
||||
} else {
|
||||
$ul.append( _.template(templateUserItem)({
|
||||
user: model,
|
||||
fnEncode: Common.Utils.String.htmlEncode
|
||||
}) );
|
||||
}
|
||||
|
||||
$userList.scroller && $userList.scroller.update({minScrollbarLength : 40, alwaysVisibleY: true});
|
||||
}
|
||||
|
||||
applyUsers( collection.getEditingCount() );
|
||||
};
|
||||
|
||||
function onUsersChanged(model, collection) {
|
||||
if (model.changed.online != undefined && $userList) {
|
||||
$userList.find('#'+ model.get('iid'))[model.changed.online ? 'removeClass' : 'addClass']('offline');
|
||||
$userList.scroller && $userList.scroller.update({minScrollbarLength : 40, alwaysVisibleY: true});
|
||||
}
|
||||
|
||||
applyUsers(model.collection.getEditingCount());
|
||||
};
|
||||
|
||||
function onResetUsers(collection, opts) {
|
||||
var usercount = collection.getEditingCount();
|
||||
if ( $userList ) {
|
||||
if ( usercount > 1 || usercount > 0 && appConfig && !appConfig.isEdit && !appConfig.canComments) {
|
||||
$userList.html(templateUserList({
|
||||
users: collection.models,
|
||||
users: collection.chain().filter(function(item){return item.get('online') && !item.get('view')}).groupBy(function(item) {return item.get('idOriginal');}).value(),
|
||||
usertpl: _.template(templateUserItem),
|
||||
fnEncode: Common.Utils.String.htmlEncode
|
||||
}));
|
||||
|
||||
$userList.scroller = new Common.UI.Scroller({
|
||||
el: $userList.find('ul'),
|
||||
useKeyboard: true,
|
||||
minScrollbarLength: 40,
|
||||
alwaysVisibleY: true
|
||||
});
|
||||
if (!$userList.scroller)
|
||||
$userList.scroller = new Common.UI.Scroller({
|
||||
el: $userList.find('ul'),
|
||||
useKeyboard: true,
|
||||
minScrollbarLength: 40,
|
||||
alwaysVisibleY: true
|
||||
});
|
||||
$userList.scroller.update({minScrollbarLength : 40, alwaysVisibleY: true});
|
||||
} else {
|
||||
$userList.empty();
|
||||
}
|
||||
}
|
||||
|
||||
applyUsers( usercount );
|
||||
applyUsers( usercount, collection.getEditingOriginalCount() );
|
||||
};
|
||||
|
||||
function applyUsers(count) {
|
||||
function onUsersChanged(model) {
|
||||
onResetUsers(model.collection);
|
||||
};
|
||||
|
||||
function applyUsers(count, originalCount) {
|
||||
var has_edit_users = count > 1 || count > 0 && appConfig && !appConfig.isEdit && !appConfig.canComments; // has other user(s) who edit document
|
||||
if ( has_edit_users ) {
|
||||
$btnUsers
|
||||
|
@ -192,7 +168,7 @@ define([
|
|||
$btnUsers.find('.caption')
|
||||
.css({'font-size': ((has_edit_users) ? '12px' : '14px'),
|
||||
'margin-top': ((has_edit_users) ? '0' : '-1px')})
|
||||
.html((has_edit_users) ? count : '+');
|
||||
.html((has_edit_users) ? originalCount : '+');
|
||||
|
||||
var usertip = $btnUsers.data('bs.tooltip');
|
||||
if ( usertip ) {
|
||||
|
@ -393,7 +369,7 @@ define([
|
|||
|
||||
storeUsers = this.options.storeUsers;
|
||||
storeUsers.bind({
|
||||
add : onAddUser,
|
||||
add : onUsersChanged,
|
||||
change : onUsersChanged,
|
||||
reset : onResetUsers
|
||||
});
|
||||
|
@ -484,9 +460,8 @@ define([
|
|||
|
||||
if ( config.canEdit && config.canRequestEditRights )
|
||||
this.btnEdit = createTitleButton('svg-btn-edit', $html.find('#slot-hbtn-edit'));
|
||||
} else {
|
||||
me.btnOptions.render($html.find('#slot-btn-options'));
|
||||
}
|
||||
me.btnOptions.render($html.find('#slot-btn-options'));
|
||||
|
||||
$userList = $html.find('.cousers-list');
|
||||
$panelUsers = $html.find('.box-cousers');
|
||||
|
|
|
@ -48,23 +48,23 @@ define([
|
|||
Common.Views.InsertTableDialog = Common.UI.Window.extend(_.extend({
|
||||
options: {
|
||||
width: 230,
|
||||
height: 170,
|
||||
header: false,
|
||||
height: 156,
|
||||
style: 'min-width: 230px;',
|
||||
cls: 'modal-dlg',
|
||||
split: false
|
||||
},
|
||||
|
||||
initialize : function(options) {
|
||||
_.extend(this.options, options || {});
|
||||
_.extend(this.options, {
|
||||
title: (options.split) ? this.txtTitleSplit : this.txtTitle
|
||||
}, options || {});
|
||||
|
||||
this.template = [
|
||||
'<div class="box">',
|
||||
'<h4>' + ((options.split) ? this.txtTitleSplit : this.txtTitle) + '</h4>',
|
||||
'<div class="input-row" style="margin: 10px 0;">',
|
||||
'<div class="input-row">',
|
||||
'<label class="text columns-text" style="width: 130px;">' + this.txtColumns + '</label><div class="columns-val" style="float: right;"></div>',
|
||||
'</div>',
|
||||
'<div class="input-row" style="margin: 10px 0;">',
|
||||
'<div class="input-row" style="margin-top: 10px;">',
|
||||
'<label class="text rows-text" style="width: 130px;">' + this.txtRows + '</label><div class="rows-val" style="float: right;"></div>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
|
|
|
@ -156,16 +156,24 @@ define([
|
|||
if (this.type == Asc.c_oAscAdvancedOptionsID.DRM) {
|
||||
this.inputPwd = new Common.UI.InputField({
|
||||
el: $('#id-password-txt'),
|
||||
type: 'password',
|
||||
type: 'text',
|
||||
validateOnBlur: false,
|
||||
validation : function(value) {
|
||||
return me.txtIncorrectPwd;
|
||||
}
|
||||
});
|
||||
this.$window.find('input').on('keypress', _.bind(this.onKeyPress, this));
|
||||
this.$window.find('input').on('input', function(){
|
||||
if ($(this).val() !== '') {
|
||||
($(this).attr('type') !== 'password') && $(this).attr('type', 'password');
|
||||
} else {
|
||||
$(this).attr('type', 'text');
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.initCodePages();
|
||||
this.updatePreview();
|
||||
if (this.preview)
|
||||
this.updatePreview();
|
||||
this.onPrimary = function() {
|
||||
me._handleInput('ok');
|
||||
return false;
|
||||
|
@ -205,10 +213,12 @@ define([
|
|||
_handleInput: function(state) {
|
||||
if (this.handler) {
|
||||
if (this.cmbEncoding) {
|
||||
var delimiter = this.cmbDelimiter ? this.cmbDelimiter.getValue() : null,
|
||||
var encoding = (!this.cmbEncoding.isDisabled()) ? this.cmbEncoding.getValue() :
|
||||
((this.settings && this.settings.asc_getCodePage()) ? this.settings.asc_getCodePage() : 0),
|
||||
delimiter = this.cmbDelimiter ? this.cmbDelimiter.getValue() : null,
|
||||
delimiterChar = (delimiter == -1) ? this.inputDelimiter.getValue() : null;
|
||||
(delimiter == -1) && (delimiter = null);
|
||||
this.handler.call(this, this.cmbEncoding.getValue(), delimiter, delimiterChar);
|
||||
this.handler.call(this, encoding, delimiter, delimiterChar);
|
||||
} else {
|
||||
this.handler.call(this, state, this.inputPwd.getValue());
|
||||
}
|
||||
|
@ -218,7 +228,7 @@ define([
|
|||
},
|
||||
|
||||
initCodePages: function () {
|
||||
var i, c, codepage, encodedata = [], listItems = [], length = 0;
|
||||
var i, c, codepage, encodedata = [], listItems = [], length = 0, lcid_width = 0;
|
||||
|
||||
if (this.codepages) {
|
||||
encodedata = [];
|
||||
|
@ -227,218 +237,99 @@ define([
|
|||
c = [];
|
||||
c[0] = codepage.asc_getCodePage();
|
||||
c[1] = codepage.asc_getCodePageName();
|
||||
c[2] = codepage.asc_getLcid();
|
||||
|
||||
encodedata.push(c);
|
||||
}
|
||||
} else {
|
||||
encodedata = [
|
||||
[37, 'IBM EBCDIC (US-Canada)'],
|
||||
[437, 'OEM United States'],
|
||||
[500, 'IBM EBCDIC (International)'],
|
||||
[708, 'Arabic (ASMO 708)'],
|
||||
[720, 'Arabic (DOS)'],
|
||||
[737, 'Greek (DOS)'],
|
||||
[775, 'Baltic (DOS)'],
|
||||
[850, 'Western European (DOS)'],
|
||||
[852, 'Central European (DOS)'],
|
||||
[855, 'OEM Cyrillic'],
|
||||
[857, 'Turkish (DOS)'],
|
||||
[858, 'OEM Multilingual Latin I'],
|
||||
[860, 'Portuguese (DOS)'],
|
||||
[861, 'Icelandic (DOS)'],
|
||||
[862, 'Hebrew (DOS)'],
|
||||
[863, 'French Canadian (DOS)'],
|
||||
[864, 'Arabic (864) '],
|
||||
[865, 'Nordic (DOS)'],
|
||||
[866, 'Cyrillic (DOS)'],
|
||||
[869, 'Greek, Modern (DOS)'],
|
||||
[870, 'IBM EBCDIC (Multilingual Latin-2)'],
|
||||
[874, 'Thai (Windows)'],
|
||||
[875, 'IBM EBCDIC (Greek Modern)'],
|
||||
[932, 'Japanese (Shift-JIS)'],
|
||||
[936, 'Chinese Simplified (GB2312)'],
|
||||
[949, 'Korean'],
|
||||
[950, 'Chinese Traditional (Big5)'],
|
||||
[1026, 'IBM EBCDIC (Turkish Latin-5)'],
|
||||
[1047, 'IBM Latin-1'],
|
||||
[1140, 'IBM EBCDIC (US-Canada-Euro)'],
|
||||
[1141, 'IBM EBCDIC (Germany-Euro)'],
|
||||
[1142, 'IBM EBCDIC (Denmark-Norway-Euro)'],
|
||||
[1143, 'IBM EBCDIC (Finland-Sweden-Euro)'],
|
||||
[1144, 'IBM EBCDIC (Italy-Euro)'],
|
||||
[1145, 'IBM EBCDIC (Spain-Euro)'],
|
||||
[1146, 'IBM EBCDIC (UK-Euro)'],
|
||||
[1147, 'IBM EBCDIC (France-Euro)'],
|
||||
[1148, 'IBM EBCDIC (International-Euro)'],
|
||||
[1149, 'IBM EBCDIC (Icelandic-Euro)'],
|
||||
[1200, 'Unicode'],
|
||||
[1201, 'Unicode (Big-Endian)'],
|
||||
[1250, 'Central European (Windows)'],
|
||||
[1251, 'Cyrillic (Windows)'],
|
||||
[1252, 'Western European (Windows)'],
|
||||
[1253, 'Greek (Windows)'],
|
||||
[1254, 'Turkish (Windows)'],
|
||||
[1255, 'Hebrew (Windows) '],
|
||||
[1256, 'Arabic (Windows) '],
|
||||
[1257, 'Baltic (Windows)'],
|
||||
[1258, 'Vietnamese (Windows)'],
|
||||
[1361, 'Korean (Johab)'],
|
||||
[10000, 'Western European (Mac)'],
|
||||
[10001, 'Japanese (Mac)'],
|
||||
[10002, 'Chinese Traditional (Mac)'],
|
||||
[10003, 'Korean (Mac)'],
|
||||
[10004, 'Arabic (Mac) '],
|
||||
[10005, 'Hebrew (Mac)'],
|
||||
[10006, 'Greek (Mac) '],
|
||||
[10007, 'Cyrillic (Mac)'],
|
||||
[10008, 'Chinese Simplified (Mac)'],
|
||||
[10010, 'Romanian (Mac)'],
|
||||
[10017, 'Ukrainian (Mac)'],
|
||||
[10021, 'Thai (Mac)'],
|
||||
[10029, 'Central European (Mac) '],
|
||||
[10079, 'Icelandic (Mac)'],
|
||||
[10081, 'Turkish (Mac)'],
|
||||
[10082, 'Croatian (Mac)'],
|
||||
[12000, 'Unicode (UTF-32)'],
|
||||
[12001, 'Unicode (UTF-32 Big-Endian)'],
|
||||
[20000, 'Chinese Traditional (CNS)'],
|
||||
[20001, 'TCA Taiwan'],
|
||||
[20002, 'Chinese Traditional (Eten)'],
|
||||
[20003, 'IBM5550 Taiwan'],
|
||||
[20004, 'TeleText Taiwan'],
|
||||
[20005, 'Wang Taiwan'],
|
||||
[20105, 'Western European (IA5)'],
|
||||
[20106, 'German (IA5)'],
|
||||
[20107, 'Swedish (IA5) '],
|
||||
[20108, 'Norwegian (IA5) '],
|
||||
[20127, 'US-ASCII'],
|
||||
[20261, 'T.61 '],
|
||||
[20269, 'ISO-6937'],
|
||||
[20273, 'IBM EBCDIC (Germany)'],
|
||||
[20277, 'IBM EBCDIC (Denmark-Norway) '],
|
||||
[20278, 'IBM EBCDIC (Finland-Sweden)'],
|
||||
[20280, 'IBM EBCDIC (Italy)'],
|
||||
[20284, 'IBM EBCDIC (Spain)'],
|
||||
[20285, 'IBM EBCDIC (UK)'],
|
||||
[20290, 'IBM EBCDIC (Japanese katakana)'],
|
||||
[20297, 'IBM EBCDIC (France)'],
|
||||
[20420, 'IBM EBCDIC (Arabic)'],
|
||||
[20423, 'IBM EBCDIC (Greek)'],
|
||||
[20424, 'IBM EBCDIC (Hebrew)'],
|
||||
[20833, 'IBM EBCDIC (Korean Extended)'],
|
||||
[20838, 'IBM EBCDIC (Thai)'],
|
||||
[20866, 'Cyrillic (KOI8-R)'],
|
||||
[20871, 'IBM EBCDIC (Icelandic) '],
|
||||
[20880, 'IBM EBCDIC (Cyrillic Russian)'],
|
||||
[20905, 'IBM EBCDIC (Turkish)'],
|
||||
[20924, 'IBM Latin-1 '],
|
||||
[20932, 'Japanese (JIS 0208-1990 and 0212-1990)'],
|
||||
[20936, 'Chinese Simplified (GB2312-80) '],
|
||||
[20949, 'Korean Wansung '],
|
||||
[21025, 'IBM EBCDIC (Cyrillic Serbian-Bulgarian)'],
|
||||
[21866, 'Cyrillic (KOI8-U)'],
|
||||
[28591, 'Western European (ISO) '],
|
||||
[28592, 'Central European (ISO)'],
|
||||
[28593, 'Latin 3 (ISO)'],
|
||||
[28594, 'Baltic (ISO)'],
|
||||
[28595, 'Cyrillic (ISO) '],
|
||||
[28596, 'Arabic (ISO)'],
|
||||
[28597, 'Greek (ISO) '],
|
||||
[28598, 'Hebrew (ISO-Visual)'],
|
||||
[28599, 'Turkish (ISO)'],
|
||||
[28603, 'Estonian (ISO)'],
|
||||
[28605, 'Latin 9 (ISO)'],
|
||||
[29001, 'Europa'],
|
||||
[38598, 'Hebrew (ISO-Logical)'],
|
||||
[50220, 'Japanese (JIS)'],
|
||||
[50221, 'Japanese (JIS-Allow 1 byte Kana) '],
|
||||
[50222, 'Japanese (JIS-Allow 1 byte Kana - SO/SI)'],
|
||||
[50225, 'Korean (ISO)'],
|
||||
[50227, 'Chinese Simplified (ISO-2022)'],
|
||||
[51932, 'Japanese (EUC)'],
|
||||
[51936, 'Chinese Simplified (EUC) '],
|
||||
[51949, 'Korean (EUC)'],
|
||||
[52936, 'Chinese Simplified (HZ)'],
|
||||
[54936, 'Chinese Simplified (GB18030)'],
|
||||
[57002, 'ISCII Devanagari '],
|
||||
[57003, 'ISCII Bengali '],
|
||||
[57004, 'ISCII Tamil'],
|
||||
[57005, 'ISCII Telugu '],
|
||||
[57006, 'ISCII Assamese '],
|
||||
[57007, 'ISCII Oriya'],
|
||||
[57008, 'ISCII Kannada'],
|
||||
[57009, 'ISCII Malayalam '],
|
||||
[57010, 'ISCII Gujarati'],
|
||||
[57011, 'ISCII Punjabi'],
|
||||
[65000, 'Unicode (UTF-7)'],
|
||||
[65001, 'Unicode (UTF-8)']
|
||||
];
|
||||
lcid_width = 50;
|
||||
}
|
||||
|
||||
length = encodedata.length;
|
||||
|
||||
if (length) {
|
||||
for (i = 0; i < length; ++i) {
|
||||
listItems.push({
|
||||
value: encodedata[i][0],
|
||||
displayValue: encodedata[i][1] // Common.Utils.String.ellipsis(..., 37)
|
||||
});
|
||||
}
|
||||
|
||||
this.cmbEncoding = new Common.UI.ComboBox({
|
||||
el: $('#id-codepages-combo', this.$window),
|
||||
style: 'width: 230px;',
|
||||
menuStyle: 'min-width: 230px; max-height: 200px;',
|
||||
cls: 'input-group-nr',
|
||||
menuCls: 'scrollable-menu',
|
||||
data: listItems,
|
||||
editable: false
|
||||
for (i = 0; i < length; ++i) {
|
||||
listItems.push({
|
||||
value: encodedata[i][0],
|
||||
displayValue: Common.Utils.String.htmlEncode(encodedata[i][1]),
|
||||
lcid: encodedata[i][2] || ''
|
||||
});
|
||||
this.cmbEncoding.setValue( (this.settings && this.settings.asc_getCodePage()) ? this.settings.asc_getCodePage() : encodedata[0][0]);
|
||||
}
|
||||
|
||||
var itemsTemplate =
|
||||
_.template([
|
||||
'<% _.each(items, function(item) { %>',
|
||||
'<li id="<%= item.id %>" data-value="<%= item.value %>"><a tabindex="-1" type="menuitem">',
|
||||
'<div style="display: inline-block;"><%= item.displayValue %></div>',
|
||||
'<label style="text-align: right;width:' + lcid_width + 'px;"><%= item.lcid %></label>',
|
||||
'</a></li>',
|
||||
'<% }); %>'
|
||||
].join(''));
|
||||
|
||||
this.cmbEncoding = new Common.UI.ComboBox({
|
||||
el: $('#id-codepages-combo', this.$window),
|
||||
style: 'width: 230px;',
|
||||
menuStyle: 'min-width: 230px; max-height: 200px;',
|
||||
cls: 'input-group-nr',
|
||||
menuCls: 'scrollable-menu',
|
||||
data: listItems,
|
||||
editable: false,
|
||||
disabled: true,
|
||||
itemsTemplate: itemsTemplate
|
||||
});
|
||||
|
||||
if (length) {
|
||||
this.cmbEncoding.setDisabled(false);
|
||||
this.cmbEncoding.setValue((this.settings && this.settings.asc_getCodePage()) ? this.settings.asc_getCodePage() : encodedata[0][0]);
|
||||
if (this.preview)
|
||||
this.cmbEncoding.on('selected', _.bind(this.onCmbEncodingSelect, this));
|
||||
|
||||
if (this.type == Asc.c_oAscAdvancedOptionsID.CSV) {
|
||||
this.cmbDelimiter = new Common.UI.ComboBox({
|
||||
el: $('#id-delimiters-combo', this.$window),
|
||||
style: 'width: 100px;',
|
||||
menuStyle: 'min-width: 100px;',
|
||||
cls: 'input-group-nr',
|
||||
data: [
|
||||
{value: 4, displayValue: this.txtComma},
|
||||
{value: 2, displayValue: this.txtSemicolon},
|
||||
{value: 3, displayValue: this.txtColon},
|
||||
{value: 1, displayValue: this.txtTab},
|
||||
{value: 5, displayValue: this.txtSpace},
|
||||
{value: -1, displayValue: this.txtOther}],
|
||||
editable: false
|
||||
});
|
||||
this.cmbDelimiter.setValue( (this.settings && this.settings.asc_getDelimiter()) ? this.settings.asc_getDelimiter() : 4);
|
||||
this.cmbDelimiter.on('selected', _.bind(this.onCmbDelimiterSelect, this));
|
||||
var ul = this.cmbEncoding.cmpEl.find('ul'),
|
||||
a = ul.find('li:nth(0) a'),
|
||||
width = ul.width() - parseInt(a.css('padding-left')) - parseInt(a.css('padding-right')) - 50;
|
||||
ul.find('li div').width(width + 10);
|
||||
}
|
||||
|
||||
this.inputDelimiter = new Common.UI.InputField({
|
||||
el : $('#id-delimiter-other'),
|
||||
style : 'width: 30px;',
|
||||
maxLength: 1,
|
||||
validateOnChange: true,
|
||||
validateOnBlur: false,
|
||||
value: (this.settings && this.settings.asc_getDelimiterChar()) ? this.settings.asc_getDelimiterChar() : ''
|
||||
});
|
||||
this.inputDelimiter.setVisible(false);
|
||||
if (this.preview)
|
||||
this.inputDelimiter.on ('changing', _.bind(this.updatePreview, this));
|
||||
}
|
||||
if (this.type == Asc.c_oAscAdvancedOptionsID.CSV) {
|
||||
this.cmbDelimiter = new Common.UI.ComboBox({
|
||||
el: $('#id-delimiters-combo', this.$window),
|
||||
style: 'width: 100px;',
|
||||
menuStyle: 'min-width: 100px;',
|
||||
cls: 'input-group-nr',
|
||||
data: [
|
||||
{value: 4, displayValue: this.txtComma},
|
||||
{value: 2, displayValue: this.txtSemicolon},
|
||||
{value: 3, displayValue: this.txtColon},
|
||||
{value: 1, displayValue: this.txtTab},
|
||||
{value: 5, displayValue: this.txtSpace},
|
||||
{value: -1, displayValue: this.txtOther}],
|
||||
editable: false
|
||||
});
|
||||
this.cmbDelimiter.setValue( (this.settings && this.settings.asc_getDelimiter()) ? this.settings.asc_getDelimiter() : 4);
|
||||
this.cmbDelimiter.on('selected', _.bind(this.onCmbDelimiterSelect, this));
|
||||
|
||||
this.inputDelimiter = new Common.UI.InputField({
|
||||
el : $('#id-delimiter-other'),
|
||||
style : 'width: 30px;',
|
||||
maxLength: 1,
|
||||
validateOnChange: true,
|
||||
validateOnBlur: false,
|
||||
value: (this.settings && this.settings.asc_getDelimiterChar()) ? this.settings.asc_getDelimiterChar() : ''
|
||||
});
|
||||
this.inputDelimiter.setVisible(false);
|
||||
if (this.preview)
|
||||
this.inputDelimiter.on ('changing', _.bind(this.updatePreview, this));
|
||||
}
|
||||
},
|
||||
|
||||
updatePreview: function() {
|
||||
var encoding = (!this.cmbEncoding.isDisabled()) ? this.cmbEncoding.getValue() :
|
||||
((this.settings && this.settings.asc_getCodePage()) ? this.settings.asc_getCodePage() : 0);
|
||||
|
||||
if (this.type == Asc.c_oAscAdvancedOptionsID.CSV) {
|
||||
var delimiter = this.cmbDelimiter ? this.cmbDelimiter.getValue() : null,
|
||||
delimiterChar = (delimiter == -1) ? this.inputDelimiter.getValue() : null;
|
||||
(delimiter == -1) && (delimiter = null);
|
||||
this.api.asc_decodeBuffer(this.preview, new Asc.asc_CCSVAdvancedOptions(this.cmbEncoding.getValue(), delimiter, delimiterChar), _.bind(this.previewCallback, this));
|
||||
this.api.asc_decodeBuffer(this.preview, new Asc.asc_CCSVAdvancedOptions(encoding, delimiter, delimiterChar), _.bind(this.previewCallback, this));
|
||||
} else {
|
||||
this.api.asc_decodeBuffer(this.preview, new Asc.asc_CTXTAdvancedOptions(this.cmbEncoding.getValue()), _.bind(this.previewCallback, this));
|
||||
this.api.asc_decodeBuffer(this.preview, new Asc.asc_CTXTAdvancedOptions(encoding), _.bind(this.previewCallback, this));
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -453,6 +344,7 @@ define([
|
|||
el: this.previewScrolled,
|
||||
minScrollbarLength : 20,
|
||||
alwaysVisibleY: true,
|
||||
alwaysVisibleX: true,
|
||||
onChange: _.bind(function(){
|
||||
if (this.scrollerY) {
|
||||
var startPos = this.scrollerY.getScrollTop(),
|
||||
|
|
|
@ -65,7 +65,7 @@ define([
|
|||
function setEvents() {
|
||||
var me = this;
|
||||
|
||||
if ( me.appConfig.isProtectSupport && me.appConfig.isDesktopApp && me.appConfig.isOffline ) {
|
||||
if ( me.appConfig.isDesktopApp && me.appConfig.isOffline ) {
|
||||
this.btnsAddPwd.concat(this.btnsChangePwd).forEach(function(button) {
|
||||
button.on('click', function (b, e) {
|
||||
me.fireEvent('protect:password', [b, 'add']);
|
||||
|
@ -116,7 +116,7 @@ define([
|
|||
var filter = Common.localStorage.getKeysFilter();
|
||||
this.appPrefix = (filter && filter.length) ? filter.split(',')[0] : '';
|
||||
|
||||
if ( this.appConfig.isProtectSupport && this.appConfig.isDesktopApp && this.appConfig.isOffline ) {
|
||||
if ( this.appConfig.isDesktopApp && this.appConfig.isOffline ) {
|
||||
this.btnAddPwd = new Common.UI.Button({
|
||||
cls: 'btn-toolbar x-huge icon-top',
|
||||
iconCls: 'btn-ic-protect',
|
||||
|
@ -159,7 +159,7 @@ define([
|
|||
(new Promise(function (accept, reject) {
|
||||
accept();
|
||||
})).then(function(){
|
||||
if ( config.isProtectSupport && config.isDesktopApp && config.isOffline) {
|
||||
if ( config.isDesktopApp && config.isOffline) {
|
||||
me.btnAddPwd.updateHint(me.hintAddPwd);
|
||||
me.btnPwd.updateHint(me.hintPwd);
|
||||
|
||||
|
@ -206,7 +206,7 @@ define([
|
|||
getPanel: function () {
|
||||
this.$el = $(_.template(template)( {} ));
|
||||
|
||||
if ( this.appConfig.isProtectSupport && this.appConfig.isDesktopApp && this.appConfig.isOffline ) {
|
||||
if ( this.appConfig.isDesktopApp && this.appConfig.isOffline ) {
|
||||
this.btnAddPwd.render(this.$el.find('#slot-btn-add-password'));
|
||||
this.btnPwd.render(this.$el.find('#slot-btn-change-password'));
|
||||
this.btnSignature && this.btnSignature.render(this.$el.find('#slot-btn-signature'));
|
||||
|
|
|
@ -46,369 +46,14 @@ if (Common === undefined)
|
|||
Common.Views = Common.Views || {};
|
||||
|
||||
define([
|
||||
'text!common/main/lib/template/ReviewChangesPopover.template',
|
||||
'common/main/lib/util/utils',
|
||||
'common/main/lib/component/Button',
|
||||
'common/main/lib/component/DataView',
|
||||
'common/main/lib/component/Layout',
|
||||
'common/main/lib/component/Window'
|
||||
], function (popoverTemplate) {
|
||||
], function () {
|
||||
'use strict';
|
||||
|
||||
Common.Views.ReviewChangesPopover = Common.UI.Window.extend({
|
||||
|
||||
// Window
|
||||
|
||||
initialize : function (options) {
|
||||
var _options = {};
|
||||
|
||||
_.extend(_options, {
|
||||
closable : false,
|
||||
width : 265,
|
||||
height : 120,
|
||||
header : false,
|
||||
modal : false
|
||||
}, options);
|
||||
|
||||
this.template = options.template || [
|
||||
'<div class="box">',
|
||||
'<div id="id-review-popover" class="comments-popover dataview-ct"></div>',
|
||||
'<div id="id-review-arrow" class="comments-arrow review"></div>',
|
||||
'</div>'
|
||||
].join('');
|
||||
|
||||
this.store = options.store;
|
||||
this.delegate = options.delegate;
|
||||
|
||||
_options.tpl = _.template(this.template)(_options);
|
||||
|
||||
this.arrow = {margin: 20, width: 12, height: 34};
|
||||
this.sdkBounds = {width: 0, height: 0, padding: 10, paddingTop: 20};
|
||||
|
||||
Common.UI.Window.prototype.initialize.call(this, _options);
|
||||
},
|
||||
render: function () {
|
||||
Common.UI.Window.prototype.render.call(this);
|
||||
|
||||
var me = this,
|
||||
t = this.delegate,
|
||||
window = this.$window;
|
||||
|
||||
window.css({
|
||||
height: '',
|
||||
minHeight: '',
|
||||
overflow: 'hidden',
|
||||
position: 'absolute',
|
||||
zIndex: '991'
|
||||
});
|
||||
|
||||
var body = window.find('.body');
|
||||
if (body) {
|
||||
body.css('position', 'relative');
|
||||
}
|
||||
|
||||
window.on('click', function() {
|
||||
window.css({zIndex: '991'});
|
||||
Common.NotificationCenter.trigger('review:click');
|
||||
});
|
||||
Common.NotificationCenter.on('comments:click', function() {
|
||||
window.css({zIndex: '990'});
|
||||
});
|
||||
|
||||
var PopoverDataView = Common.UI.DataView.extend((function() {
|
||||
|
||||
var parentView = me;
|
||||
|
||||
return {
|
||||
options : {
|
||||
handleSelect: false,
|
||||
scrollable: true,
|
||||
template: _.template('<div class="dataview-ct inner" style="overflow-y: hidden;">'+
|
||||
'</div>' +
|
||||
'<div class="lock-area" style="cursor: default;"></div>' +
|
||||
'<div class="lock-author" style="cursor: default;"></div>'
|
||||
)
|
||||
}
|
||||
}
|
||||
})());
|
||||
if (PopoverDataView) {
|
||||
if (this.reviewChangesView) {
|
||||
this.reviewChangesView.render($('#id-review-popover'));
|
||||
this.reviewChangesView.onResetItems();
|
||||
} else {
|
||||
this.reviewChangesView = new PopoverDataView({
|
||||
el: $('#id-review-popover'),
|
||||
store: me.store,
|
||||
itemTemplate: _.template(popoverTemplate)
|
||||
});
|
||||
|
||||
this.reviewChangesView.on('item:click', function (picker, item, record, e) {
|
||||
var btn = $(e.target);
|
||||
if (btn) {
|
||||
if (btn.hasClass('btn-accept')) {
|
||||
t.fireEvent('reviewchange:accept', [record.get('changedata')]);
|
||||
} else if (btn.hasClass('btn-reject')) {
|
||||
t.fireEvent('reviewchange:reject', [record.get('changedata')]);
|
||||
} else if (btn.hasClass('btn-delete')) {
|
||||
t.fireEvent('reviewchange:delete', [record.get('changedata')]);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
show: function (animate, lock, lockuser) {
|
||||
this.options.animate = animate;
|
||||
|
||||
var me = this;
|
||||
|
||||
// this.calculateSizeOfContent();
|
||||
|
||||
Common.UI.Window.prototype.show.call(this);
|
||||
if (this.reviewChangesView.scroller) {
|
||||
this.reviewChangesView.scroller.update({minScrollbarLength: 40, alwaysVisibleY: true});
|
||||
}
|
||||
|
||||
this.reviewChangesView.cmpEl.find('.lock-area').toggleClass('hidden', !lock);
|
||||
this.reviewChangesView.cmpEl.find('.lock-author').toggleClass('hidden', !lock || _.isEmpty(lockuser)).text(lockuser);
|
||||
},
|
||||
hide: function () {
|
||||
if (this.handlerHide) {
|
||||
this.handlerHide ();
|
||||
}
|
||||
|
||||
Common.UI.Window.prototype.hide.call(this);
|
||||
|
||||
if (!_.isUndefined(this.e) && this.e.keyCode == Common.UI.Keys.ESC) {
|
||||
this.e.preventDefault();
|
||||
this.e.stopImmediatePropagation();
|
||||
this.e = undefined;
|
||||
}
|
||||
},
|
||||
|
||||
update: function () {
|
||||
if (this.reviewChangesView && this.reviewChangesView.scroller) {
|
||||
this.reviewChangesView.scroller.update({minScrollbarLength: 40, alwaysVisibleY: true});
|
||||
}
|
||||
},
|
||||
|
||||
isVisible: function () {
|
||||
return (this.$window && this.$window.is(':visible'));
|
||||
},
|
||||
|
||||
setLeftTop: function (posX, posY, leftX, loadInnerValues) {
|
||||
if (!this.$window)
|
||||
this.render();
|
||||
|
||||
if (loadInnerValues) {
|
||||
posX = this.arrowPosX;
|
||||
posY = this.arrowPosY;
|
||||
leftX = this.leftX;
|
||||
}
|
||||
|
||||
if (_.isUndefined(posX) && _.isUndefined(posY))
|
||||
return;
|
||||
|
||||
this.arrowPosX = posX;
|
||||
this.arrowPosY = posY;
|
||||
this.leftX = leftX;
|
||||
|
||||
var reviewChangesView = $('#id-review-popover'),
|
||||
arrowView = $('#id-review-arrow'),
|
||||
editorView = $('#editor_sdk'),
|
||||
editorBounds = null,
|
||||
sdkBoundsHeight = 0,
|
||||
sdkBoundsTop = 0,
|
||||
sdkBoundsLeft = 0,
|
||||
sdkPanelRight = '',
|
||||
sdkPanelRightWidth = 0,
|
||||
sdkPanelLeft = '',
|
||||
sdkPanelLeftWidth = 0,
|
||||
sdkPanelThumbs = '', // for PE
|
||||
sdkPanelThumbsWidth = 0, // for PE
|
||||
sdkPanelTop = '',
|
||||
sdkPanelHeight = 0,
|
||||
leftPos = 0,
|
||||
windowWidth = 0,
|
||||
outerHeight = 0,
|
||||
topPos = 0,
|
||||
sdkBoundsTopPos = 0;
|
||||
|
||||
if (reviewChangesView && arrowView && editorView && editorView.get(0)) {
|
||||
editorBounds = editorView.get(0).getBoundingClientRect();
|
||||
if (editorBounds) {
|
||||
sdkBoundsHeight = editorBounds.height - this.sdkBounds.padding * 2;
|
||||
|
||||
this.$window.css({maxHeight: sdkBoundsHeight + 'px'});
|
||||
|
||||
this.sdkBounds.width = editorBounds.width;
|
||||
this.sdkBounds.height = editorBounds.height;
|
||||
|
||||
// LEFT CORNER
|
||||
|
||||
if (!_.isUndefined(posX)) {
|
||||
|
||||
sdkPanelRight = $('#id_vertical_scroll');
|
||||
if (sdkPanelRight.length) {
|
||||
sdkPanelRightWidth = (sdkPanelRight.css('display') !== 'none') ? sdkPanelRight.width() : 0;
|
||||
} else {
|
||||
sdkPanelRight = $('#ws-v-scrollbar');
|
||||
if (sdkPanelRight.length) {
|
||||
sdkPanelRightWidth = (sdkPanelRight.css('display') !== 'none') ? sdkPanelRight.width() : 0;
|
||||
}
|
||||
}
|
||||
|
||||
this.sdkBounds.width -= sdkPanelRightWidth;
|
||||
|
||||
sdkPanelLeft = $('#id_panel_left');
|
||||
if (sdkPanelLeft.length) {
|
||||
sdkPanelLeftWidth = (sdkPanelLeft.css('display') !== 'none') ? sdkPanelLeft.width() : 0;
|
||||
}
|
||||
sdkPanelThumbs = $('#id_panel_thumbnails');
|
||||
if (sdkPanelThumbs.length) {
|
||||
sdkPanelThumbsWidth = (sdkPanelThumbs.css('display') !== 'none') ? sdkPanelThumbs.width() : 0;
|
||||
this.sdkBounds.width -= sdkPanelThumbsWidth;
|
||||
}
|
||||
|
||||
leftPos = Math.min(sdkBoundsLeft + posX + this.arrow.width, sdkBoundsLeft + this.sdkBounds.width - this.$window.outerWidth());
|
||||
leftPos = Math.max(sdkBoundsLeft + sdkPanelLeftWidth + this.arrow.width, leftPos);
|
||||
|
||||
arrowView.removeClass('right').addClass('left');
|
||||
|
||||
if (!_.isUndefined(leftX)) {
|
||||
windowWidth = this.$window.outerWidth();
|
||||
if (windowWidth) {
|
||||
if ((posX + windowWidth > this.sdkBounds.width - this.arrow.width + 5) && (this.leftX > windowWidth)) {
|
||||
leftPos = this.leftX - windowWidth + sdkBoundsLeft - this.arrow.width;
|
||||
arrowView.removeClass('left').addClass('right');
|
||||
} else {
|
||||
leftPos = sdkBoundsLeft + posX + this.arrow.width;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.$window.css('left', leftPos + 'px');
|
||||
}
|
||||
|
||||
// TOP CORNER
|
||||
|
||||
if (!_.isUndefined(posY)) {
|
||||
sdkPanelTop = $('#id_panel_top');
|
||||
sdkBoundsTopPos = sdkBoundsTop;
|
||||
if (sdkPanelTop.length) {
|
||||
sdkPanelHeight = (sdkPanelTop.css('display') !== 'none') ? sdkPanelTop.height() : 0;
|
||||
sdkBoundsTopPos += this.sdkBounds.paddingTop;
|
||||
} else {
|
||||
sdkPanelTop = $('#ws-h-scrollbar');
|
||||
if (sdkPanelTop.length) {
|
||||
sdkPanelHeight = (sdkPanelTop.css('display') !== 'none') ? sdkPanelTop.height() : 0;
|
||||
sdkBoundsTopPos -= this.sdkBounds.paddingTop;
|
||||
}
|
||||
}
|
||||
|
||||
this.sdkBounds.height -= sdkPanelHeight;
|
||||
|
||||
outerHeight = this.$window.outerHeight();
|
||||
|
||||
topPos = Math.min(sdkBoundsTop + sdkBoundsHeight - outerHeight, this.arrowPosY + sdkBoundsTop - this.arrow.height);
|
||||
topPos = Math.max(topPos, sdkBoundsTopPos);
|
||||
|
||||
this.$window.css('top', topPos + 'px');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.calculateSizeOfContent();
|
||||
},
|
||||
calculateSizeOfContent: function (testVisible) {
|
||||
if (testVisible && !this.$window.is(':visible'))
|
||||
return;
|
||||
|
||||
this.$window.css({overflow: 'hidden'});
|
||||
|
||||
var arrowView = $('#id-review-arrow'),
|
||||
reviewChangesView = $('#id-review-popover'),
|
||||
contentBounds = null,
|
||||
editorView = null,
|
||||
editorBounds = null,
|
||||
sdkBoundsHeight = 0,
|
||||
sdkBoundsTop = 0,
|
||||
sdkBoundsLeft = 0,
|
||||
sdkPanelTop = '',
|
||||
sdkPanelHeight = 0,
|
||||
arrowPosY = 0,
|
||||
windowHeight = 0,
|
||||
outerHeight = 0,
|
||||
topPos = 0,
|
||||
sdkBoundsTopPos = 0;
|
||||
|
||||
if (reviewChangesView && arrowView && reviewChangesView.get(0)) {
|
||||
reviewChangesView.css({height: '100%'});
|
||||
|
||||
contentBounds = reviewChangesView.get(0).getBoundingClientRect();
|
||||
if (contentBounds) {
|
||||
editorView = $('#editor_sdk');
|
||||
if (editorView && editorView.get(0)) {
|
||||
editorBounds = editorView.get(0).getBoundingClientRect();
|
||||
if (editorBounds) {
|
||||
sdkBoundsHeight = editorBounds.height - this.sdkBounds.padding * 2;
|
||||
sdkBoundsTopPos = sdkBoundsTop;
|
||||
windowHeight = this.$window.outerHeight();
|
||||
|
||||
// TOP CORNER
|
||||
|
||||
sdkPanelTop = $('#id_panel_top');
|
||||
if (sdkPanelTop.length) {
|
||||
sdkPanelHeight = (sdkPanelTop.css('display') !== 'none') ? sdkPanelTop.height() : 0;
|
||||
sdkBoundsTopPos += this.sdkBounds.paddingTop;
|
||||
} else {
|
||||
sdkPanelTop = $('#ws-h-scrollbar');
|
||||
if (sdkPanelTop.length) {
|
||||
sdkPanelHeight = (sdkPanelTop.css('display') !== 'none') ? sdkPanelTop.height() : 0;
|
||||
sdkBoundsTopPos -= this.sdkBounds.paddingTop;
|
||||
}
|
||||
}
|
||||
|
||||
outerHeight = Math.max(reviewChangesView.outerHeight(), this.$window.outerHeight());
|
||||
|
||||
if (sdkBoundsHeight <= outerHeight) {
|
||||
this.$window.css({
|
||||
maxHeight: sdkBoundsHeight - sdkPanelHeight + 'px',
|
||||
top: sdkBoundsTop + sdkPanelHeight + 'px'});
|
||||
|
||||
reviewChangesView.css({height: sdkBoundsHeight - sdkPanelHeight - 3 + 'px'});
|
||||
|
||||
// arrowPosY = Math.max(this.arrow.margin, this.arrowPosY - sdkPanelHeight - this.arrow.width);
|
||||
arrowPosY = Math.min(arrowPosY, sdkBoundsHeight - (sdkPanelHeight + this.arrow.margin + this.arrow.width));
|
||||
|
||||
arrowView.css({top: arrowPosY + 'px'});
|
||||
} else {
|
||||
|
||||
outerHeight = windowHeight;
|
||||
|
||||
if (outerHeight > 0) {
|
||||
if (contentBounds.top + outerHeight > sdkBoundsHeight + sdkBoundsTop || contentBounds.height === 0) {
|
||||
topPos = Math.min(sdkBoundsTop + sdkBoundsHeight - outerHeight, this.arrowPosY + sdkBoundsTop - this.arrow.height);
|
||||
topPos = Math.max(topPos, sdkBoundsTopPos);
|
||||
|
||||
this.$window.css({top: topPos + 'px'});
|
||||
}
|
||||
}
|
||||
|
||||
arrowPosY = Math.max(this.arrow.margin, this.arrowPosY - (sdkBoundsHeight - outerHeight) - this.arrow.width);
|
||||
arrowPosY = Math.min(arrowPosY, outerHeight - this.arrow.margin - this.arrow.width);
|
||||
|
||||
arrowView.css({top: arrowPosY + 'px'});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.$window.css({overflow: ''});
|
||||
}
|
||||
});
|
||||
|
||||
Common.Views.ReviewChanges = Common.UI.BaseView.extend(_.extend((function(){
|
||||
var template =
|
||||
'<section id="review-changes-panel" class="panel" data-tab="review">' +
|
||||
|
@ -525,8 +170,6 @@ define([
|
|||
initialize: function (options) {
|
||||
Common.UI.BaseView.prototype.initialize.call(this, options);
|
||||
|
||||
// this.store = this.options.store;
|
||||
// this.popoverChanges = this.options.popoverChanges;
|
||||
this.appConfig = options.mode;
|
||||
|
||||
if ( this.appConfig.canReview ) {
|
||||
|
@ -807,18 +450,6 @@ define([
|
|||
this.fireEvent('show', this);
|
||||
},
|
||||
|
||||
getPopover: function (sdkViewName) {
|
||||
if (this.appConfig.canReview && _.isUndefined(this.popover)) {
|
||||
this.popover = new Common.Views.ReviewChangesPopover({
|
||||
store: this.options.popoverChanges,
|
||||
delegate: this,
|
||||
renderTo: sdkViewName
|
||||
});
|
||||
}
|
||||
|
||||
return this.popover;
|
||||
},
|
||||
|
||||
getButton: function(type, parent) {
|
||||
if ( type == 'turn' && parent == 'statusbar' ) {
|
||||
var button = new Common.UI.Button({
|
||||
|
|
935
apps/common/main/lib/view/ReviewPopover.js
Normal file
|
@ -0,0 +1,935 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2018
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* ReviewPopover.js
|
||||
*
|
||||
* View
|
||||
*
|
||||
* Created by Julia Radzhabova on 06.06.2018
|
||||
* Copyright (c) 2018 Ascensio System SIA. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
if (Common === undefined)
|
||||
var Common = {};
|
||||
|
||||
Common.Views = Common.Views || {};
|
||||
|
||||
define([
|
||||
'text!common/main/lib/template/CommentsPopover.template',
|
||||
'text!common/main/lib/template/ReviewChangesPopover.template',
|
||||
'common/main/lib/util/utils',
|
||||
'common/main/lib/component/Button',
|
||||
'common/main/lib/component/ComboBox',
|
||||
'common/main/lib/component/DataView',
|
||||
'common/main/lib/component/Layout',
|
||||
'common/main/lib/component/Window'
|
||||
], function (commentsTemplate, reviewTemplate) {
|
||||
'use strict';
|
||||
|
||||
function replaceWords(template, words) {
|
||||
var word,
|
||||
value,
|
||||
tpl = template;
|
||||
|
||||
for (word in words) {
|
||||
if (undefined !== word) {
|
||||
value = words[word];
|
||||
tpl = tpl.replace(new RegExp(word, 'g'), value);
|
||||
}
|
||||
}
|
||||
|
||||
return tpl;
|
||||
}
|
||||
|
||||
Common.Views.ReviewPopover = Common.UI.Window.extend(_.extend({
|
||||
|
||||
// Window
|
||||
|
||||
initialize: function (options) {
|
||||
var _options = {};
|
||||
|
||||
_.extend(_options, {
|
||||
closable: false,
|
||||
width: 265,
|
||||
height: 120,
|
||||
header: false,
|
||||
modal: false,
|
||||
alias: 'Common.Views.ReviewPopover'
|
||||
}, options);
|
||||
|
||||
this.template = options.template || [
|
||||
'<div class="box">',
|
||||
'<div id="id-popover" class="comments-popover" style="overflow-y: hidden;position: relative;">',
|
||||
'<div id="id-review-popover"></div>',
|
||||
'<div id="id-comments-popover"></div>',
|
||||
'</div>',
|
||||
'<div id="id-comments-arrow" class="comments-arrow"></div>',
|
||||
'</div>'
|
||||
].join('');
|
||||
|
||||
this.commentsStore = options.commentsStore;
|
||||
this.reviewStore = options.reviewStore;
|
||||
this._state = {commentsVisible: false, reviewVisible: false};
|
||||
|
||||
_options.tpl = _.template(this.template)(_options);
|
||||
|
||||
this.arrow = {margin: 20, width: 12, height: 34};
|
||||
this.sdkBounds = {width: 0, height: 0, padding: 10, paddingTop: 20};
|
||||
|
||||
Common.UI.Window.prototype.initialize.call(this, _options);
|
||||
return this;
|
||||
},
|
||||
render: function (comments, review) {
|
||||
Common.UI.Window.prototype.render.call(this);
|
||||
|
||||
var me = this,
|
||||
window = this.$window;
|
||||
|
||||
window.css({
|
||||
height: '',
|
||||
minHeight: '',
|
||||
overflow: 'hidden',
|
||||
position: 'absolute',
|
||||
zIndex: '990'
|
||||
});
|
||||
|
||||
var body = window.find('.body');
|
||||
if (body) {
|
||||
body.css('position', 'relative');
|
||||
}
|
||||
|
||||
var CommentsPopoverDataView = Common.UI.DataView.extend((function () {
|
||||
|
||||
var parentView = me;
|
||||
|
||||
return {
|
||||
|
||||
options: {
|
||||
handleSelect: false,
|
||||
allowScrollbar: false,
|
||||
template: _.template('<div class="dataview-ct inner" style="overflow-y: visible;"></div>')
|
||||
},
|
||||
|
||||
getTextBox: function () {
|
||||
var text = $(this.el).find('textarea');
|
||||
return (text && text.length) ? text : undefined;
|
||||
},
|
||||
setFocusToTextBox: function (blur) {
|
||||
var text = $(this.el).find('textarea');
|
||||
if (blur) {
|
||||
text.blur();
|
||||
} else {
|
||||
if (text && text.length) {
|
||||
var val = text.val();
|
||||
text.focus();
|
||||
text.val('');
|
||||
text.val(val);
|
||||
}
|
||||
}
|
||||
},
|
||||
getActiveTextBoxVal: function () {
|
||||
var text = $(this.el).find('textarea');
|
||||
return (text && text.length) ? text.val().trim() : '';
|
||||
},
|
||||
autoHeightTextBox: function () {
|
||||
var view = this,
|
||||
textBox = this.$el.find('textarea'),
|
||||
domTextBox = null,
|
||||
minHeight = 50,
|
||||
lineHeight = 0,
|
||||
scrollPos = 0,
|
||||
oldHeight = 0,
|
||||
newHeight = 0;
|
||||
|
||||
function updateTextBoxHeight() {
|
||||
scrollPos = parentView.scroller.getScrollTop();
|
||||
|
||||
if (domTextBox.scrollHeight > domTextBox.clientHeight) {
|
||||
textBox.css({height: (domTextBox.scrollHeight + lineHeight) + 'px'});
|
||||
|
||||
parentView.calculateSizeOfContent();
|
||||
} else {
|
||||
oldHeight = domTextBox.clientHeight;
|
||||
if (oldHeight >= minHeight) {
|
||||
textBox.css({height: minHeight + 'px'});
|
||||
|
||||
if (domTextBox.scrollHeight > domTextBox.clientHeight) {
|
||||
newHeight = Math.max(domTextBox.scrollHeight + lineHeight, minHeight);
|
||||
textBox.css({height: newHeight + 'px'});
|
||||
}
|
||||
|
||||
parentView.calculateSizeOfContent();
|
||||
parentView.setLeftTop(me.arrowPosX, me.arrowPosY, me.leftX);
|
||||
parentView.calculateSizeOfContent();
|
||||
}
|
||||
}
|
||||
|
||||
parentView.scroller.scrollTop(scrollPos);
|
||||
view.autoScrollToEditButtons();
|
||||
}
|
||||
|
||||
if (textBox && textBox.length) {
|
||||
domTextBox = textBox.get(0);
|
||||
|
||||
if (domTextBox) {
|
||||
lineHeight = parseInt(textBox.css('lineHeight'), 10) * 0.25;
|
||||
updateTextBoxHeight();
|
||||
textBox.bind('input propertychange', updateTextBoxHeight)
|
||||
}
|
||||
}
|
||||
|
||||
this.textBox = textBox;
|
||||
},
|
||||
clearTextBoxBind: function () {
|
||||
if (this.textBox) {
|
||||
this.textBox.unbind('input propertychange');
|
||||
this.textBox = undefined;
|
||||
}
|
||||
},
|
||||
autoScrollToEditButtons: function () {
|
||||
var button = $('#id-comments-change-popover'), // TODO: add to cache
|
||||
btnBounds = null,
|
||||
contentBounds = this.el.getBoundingClientRect(),
|
||||
moveY = 0,
|
||||
padding = 7;
|
||||
|
||||
if (button.length) {
|
||||
btnBounds = button.get(0).getBoundingClientRect();
|
||||
if (btnBounds && contentBounds) {
|
||||
moveY = contentBounds.bottom - (btnBounds.bottom + padding);
|
||||
if (moveY < 0) {
|
||||
parentView.scroller.scrollTop(parentView.scroller.getScrollTop() - moveY);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})());
|
||||
if (CommentsPopoverDataView) {
|
||||
if (this.commentsView) {
|
||||
this.commentsView.render($('#id-comments-popover'));
|
||||
this.commentsView.onResetItems();
|
||||
} else {
|
||||
this.commentsView = new CommentsPopoverDataView({
|
||||
el: $('#id-comments-popover'),
|
||||
store: me.commentsStore,
|
||||
itemTemplate: _.template(replaceWords(commentsTemplate, {
|
||||
textAddReply: me.textAddReply,
|
||||
textAdd: me.textAdd,
|
||||
textCancel: me.textCancel,
|
||||
textEdit: me.textEdit,
|
||||
textReply: me.textReply,
|
||||
textClose: me.textClose,
|
||||
maxCommLength: Asc.c_oAscMaxCellOrCommentLength
|
||||
})
|
||||
)
|
||||
});
|
||||
|
||||
var addtooltip = function (dataview, view, record) {
|
||||
if (view.tipsArray) {
|
||||
view.tipsArray.forEach(function (item) {
|
||||
item.remove();
|
||||
});
|
||||
}
|
||||
|
||||
var arr = [],
|
||||
btns = $(view.el).find('.btn-resolve');
|
||||
btns.tooltip({title: me.textResolve, placement: 'cursor'});
|
||||
btns.each(function (idx, item) {
|
||||
arr.push($(item).data('bs.tooltip').tip());
|
||||
});
|
||||
btns = $(view.el).find('.btn-resolve-check');
|
||||
btns.tooltip({title: me.textOpenAgain, placement: 'cursor'});
|
||||
btns.each(function (idx, item) {
|
||||
arr.push($(item).data('bs.tooltip').tip());
|
||||
});
|
||||
view.tipsArray = arr;
|
||||
this.autoHeightTextBox();
|
||||
};
|
||||
|
||||
var onCommentsViewMouseOver = function () {
|
||||
me._isMouseOver = true;
|
||||
};
|
||||
|
||||
var onCommentsViewMouseOut = function () {
|
||||
me._isMouseOver = false;
|
||||
};
|
||||
|
||||
this.commentsView.on('item:add', addtooltip);
|
||||
this.commentsView.on('item:remove', addtooltip);
|
||||
this.commentsView.on('item:change', addtooltip);
|
||||
this.commentsView.cmpEl.on('mouseover', onCommentsViewMouseOver).on('mouseout', onCommentsViewMouseOut);
|
||||
|
||||
this.commentsView.on('item:click', function (picker, item, record, e) {
|
||||
var btn, showEditBox, showReplyBox, commentId, replyId, hideAddReply;
|
||||
|
||||
function readdresolves() {
|
||||
me.update();
|
||||
}
|
||||
|
||||
btn = $(e.target);
|
||||
if (btn) {
|
||||
showEditBox = record.get('editTextInPopover');
|
||||
showReplyBox = record.get('showReplyInPopover');
|
||||
hideAddReply = record.get('hideAddReply');
|
||||
commentId = record.get('uid');
|
||||
replyId = btn.attr('data-value');
|
||||
|
||||
if (record.get('hint')) {
|
||||
me.fireEvent('comment:disableHint', [record]);
|
||||
return;
|
||||
}
|
||||
|
||||
if (btn.hasClass('btn-edit')) {
|
||||
if (!_.isUndefined(replyId)) {
|
||||
me.fireEvent('comment:closeEditing', [commentId]);
|
||||
me.fireEvent('comment:editReply', [commentId, replyId, true]);
|
||||
|
||||
this.replyId = replyId;
|
||||
|
||||
this.autoHeightTextBox();
|
||||
|
||||
me.calculateSizeOfContent();
|
||||
me.setLeftTop(me.arrowPosX, me.arrowPosY, me.leftX);
|
||||
me.calculateSizeOfContent();
|
||||
|
||||
readdresolves();
|
||||
|
||||
me.hookTextBox();
|
||||
|
||||
this.autoScrollToEditButtons();
|
||||
this.setFocusToTextBox();
|
||||
} else {
|
||||
if (!showEditBox) {
|
||||
me.fireEvent('comment:closeEditing');
|
||||
record.set('editTextInPopover', true);
|
||||
|
||||
me.fireEvent('comment:show', [commentId]);
|
||||
|
||||
this.autoHeightTextBox();
|
||||
|
||||
me.calculateSizeOfContent();
|
||||
me.setLeftTop(me.arrowPosX, me.arrowPosY, me.leftX);
|
||||
me.calculateSizeOfContent();
|
||||
|
||||
readdresolves();
|
||||
|
||||
me.hookTextBox();
|
||||
|
||||
this.autoScrollToEditButtons();
|
||||
this.setFocusToTextBox();
|
||||
}
|
||||
}
|
||||
} else if (btn.hasClass('btn-delete')) {
|
||||
if (!_.isUndefined(replyId)) {
|
||||
me.fireEvent('comment:removeReply', [commentId, replyId]);
|
||||
|
||||
me.calculateSizeOfContent();
|
||||
me.setLeftTop(me.arrowPosX, me.arrowPosY, me.leftX);
|
||||
me.calculateSizeOfContent();
|
||||
|
||||
} else {
|
||||
me.fireEvent('comment:remove', [commentId]);
|
||||
}
|
||||
|
||||
me.fireEvent('comment:closeEditing');
|
||||
|
||||
readdresolves();
|
||||
|
||||
} else if (btn.hasClass('user-reply')) {
|
||||
me.fireEvent('comment:closeEditing');
|
||||
record.set('showReplyInPopover', true);
|
||||
|
||||
me.calculateSizeOfContent();
|
||||
me.setLeftTop(me.arrowPosX, me.arrowPosY, me.leftX);
|
||||
me.calculateSizeOfContent();
|
||||
|
||||
readdresolves();
|
||||
|
||||
this.autoHeightTextBox();
|
||||
me.hookTextBox();
|
||||
|
||||
this.autoScrollToEditButtons();
|
||||
this.setFocusToTextBox();
|
||||
} else if (btn.hasClass('btn-reply', false)) {
|
||||
if (showReplyBox) {
|
||||
this.clearTextBoxBind();
|
||||
|
||||
me.fireEvent('comment:addReply', [commentId, this.getActiveTextBoxVal()]);
|
||||
me.fireEvent('comment:closeEditing');
|
||||
|
||||
readdresolves();
|
||||
}
|
||||
} else if (btn.hasClass('btn-close', false)) {
|
||||
me.fireEvent('comment:closeEditing', [commentId]);
|
||||
me.calculateSizeOfContent();
|
||||
me.fireEvent('comment:show', [commentId]);
|
||||
|
||||
readdresolves();
|
||||
|
||||
} else if (btn.hasClass('btn-inner-edit', false)) {
|
||||
|
||||
if (record.get('dummy')) {
|
||||
var commentVal = this.getActiveTextBoxVal();
|
||||
if (commentVal.length > 0)
|
||||
me.fireEvent('comment:addDummyComment', [commentVal]);
|
||||
else {
|
||||
var text = me.$window.find('textarea:not(.user-message)');
|
||||
if (text && text.length)
|
||||
setTimeout(function () {
|
||||
text.focus();
|
||||
}, 10);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
this.clearTextBoxBind();
|
||||
|
||||
if (!_.isUndefined(this.replyId)) {
|
||||
me.fireEvent('comment:changeReply', [commentId, this.replyId, this.getActiveTextBoxVal()]);
|
||||
this.replyId = undefined;
|
||||
me.fireEvent('comment:closeEditing');
|
||||
} else if (showEditBox) {
|
||||
me.fireEvent('comment:change', [commentId, this.getActiveTextBoxVal()]);
|
||||
me.fireEvent('comment:closeEditing');
|
||||
me.calculateSizeOfContent();
|
||||
}
|
||||
|
||||
readdresolves();
|
||||
|
||||
} else if (btn.hasClass('btn-inner-close', false)) {
|
||||
if (record.get('dummy')) {
|
||||
me.hide();
|
||||
return;
|
||||
}
|
||||
|
||||
if (hideAddReply && this.getActiveTextBoxVal().length > 0) {
|
||||
me.saveText();
|
||||
record.set('hideAddReply', false);
|
||||
this.getTextBox().val(me.textVal);
|
||||
this.autoHeightTextBox();
|
||||
} else {
|
||||
|
||||
this.clearTextBoxBind();
|
||||
|
||||
me.fireEvent('comment:closeEditing', [commentId]);
|
||||
}
|
||||
|
||||
this.replyId = undefined;
|
||||
|
||||
me.calculateSizeOfContent();
|
||||
me.setLeftTop(me.arrowPosX, me.arrowPosY, me.leftX);
|
||||
me.calculateSizeOfContent();
|
||||
|
||||
readdresolves();
|
||||
|
||||
} else if (btn.hasClass('btn-resolve', false)) {
|
||||
var tip = btn.data('bs.tooltip');
|
||||
if (tip) tip.dontShow = true;
|
||||
|
||||
me.fireEvent('comment:resolve', [commentId]);
|
||||
|
||||
readdresolves();
|
||||
} else if (btn.hasClass('btn-resolve-check', false)) {
|
||||
var tip = btn.data('bs.tooltip');
|
||||
if (tip) tip.dontShow = true;
|
||||
|
||||
me.fireEvent('comment:resolve', [commentId]);
|
||||
|
||||
readdresolves();
|
||||
}
|
||||
}
|
||||
});
|
||||
me.on({
|
||||
'show': function () {
|
||||
me.commentsView.autoHeightTextBox();
|
||||
me.$window.find('textarea').keydown(function (event) {
|
||||
if (event.keyCode == Common.UI.Keys.ESC) {
|
||||
me.hide();
|
||||
}
|
||||
});
|
||||
},
|
||||
'animate:before': function () {
|
||||
var text = me.$window.find('textarea');
|
||||
if (text && text.length)
|
||||
text.focus();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
var ReviewPopoverDataView = Common.UI.DataView.extend((function() {
|
||||
|
||||
return {
|
||||
options : {
|
||||
handleSelect: false,
|
||||
scrollable: true,
|
||||
template: _.template('<div class="dataview-ct inner" style="overflow-y: visible;">'+
|
||||
'</div>' +
|
||||
'<div class="lock-area" style="cursor: default;"></div>' +
|
||||
'<div class="lock-author" style="cursor: default;"></div>'
|
||||
)
|
||||
}
|
||||
}
|
||||
})());
|
||||
if (ReviewPopoverDataView) {
|
||||
if (this.reviewChangesView) {
|
||||
this.reviewChangesView.render($('#id-review-popover'));
|
||||
this.reviewChangesView.onResetItems();
|
||||
} else {
|
||||
this.reviewChangesView = new ReviewPopoverDataView({
|
||||
el: $('#id-review-popover'),
|
||||
store: me.reviewStore,
|
||||
itemTemplate: _.template(reviewTemplate)
|
||||
});
|
||||
|
||||
this.reviewChangesView.on('item:click', function (picker, item, record, e) {
|
||||
var btn = $(e.target);
|
||||
if (btn) {
|
||||
if (btn.hasClass('btn-accept')) {
|
||||
me.fireEvent('reviewchange:accept', [record.get('changedata')]);
|
||||
} else if (btn.hasClass('btn-reject')) {
|
||||
me.fireEvent('reviewchange:reject', [record.get('changedata')]);
|
||||
} else if (btn.hasClass('btn-delete')) {
|
||||
me.fireEvent('reviewchange:delete', [record.get('changedata')]);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (_.isUndefined(this.scroller)) {
|
||||
this.scroller = new Common.UI.Scroller({
|
||||
el: window.find('#id-popover'),
|
||||
minScrollbarLength : 40,
|
||||
wheelSpeed: 10,
|
||||
alwaysVisibleY: true
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
showComments: function (animate, loadText, focus, showText) {
|
||||
this.options.animate = animate;
|
||||
|
||||
var me = this, textBox = this.commentsView.getTextBox();
|
||||
|
||||
if (loadText && this.textVal) {
|
||||
textBox && textBox.val(this.textVal);
|
||||
}
|
||||
|
||||
if (showText && showText.length) {
|
||||
textBox && textBox.val(showText);
|
||||
}
|
||||
|
||||
this.show(animate);
|
||||
this.hookTextBox();
|
||||
|
||||
this._state.commentsVisible = true;
|
||||
},
|
||||
|
||||
showReview: function (animate, lock, lockuser) {
|
||||
this.show(animate);
|
||||
this.reviewChangesView.cmpEl.find('.lock-area').toggleClass('hidden', !lock);
|
||||
this.reviewChangesView.cmpEl.find('.lock-author').toggleClass('hidden', !lock || _.isEmpty(lockuser)).text(lockuser);
|
||||
this._state.reviewVisible = true;
|
||||
},
|
||||
|
||||
show: function (animate, loadText, focus, showText) {
|
||||
this.options.animate = animate;
|
||||
|
||||
Common.UI.Window.prototype.show.call(this);
|
||||
if (this.scroller) {
|
||||
this.scroller.update({minScrollbarLength: 40, alwaysVisibleY: true});
|
||||
}
|
||||
},
|
||||
|
||||
hideComments: function () {
|
||||
if (this.handlerHide) {
|
||||
this.handlerHide();
|
||||
}
|
||||
this.hideTips();
|
||||
this._state.commentsVisible = false;
|
||||
if (!this._state.reviewVisible)
|
||||
this.hide();
|
||||
else
|
||||
this.calculateSizeOfContent();
|
||||
},
|
||||
|
||||
hideReview: function () {
|
||||
if (this.handlerHide) {
|
||||
this.handlerHide();
|
||||
}
|
||||
this.hideTips();
|
||||
|
||||
this._state.reviewVisible = false;
|
||||
if (!this._state.commentsVisible)
|
||||
this.hide();
|
||||
else
|
||||
this.calculateSizeOfContent();
|
||||
},
|
||||
|
||||
hide: function () {
|
||||
if (this.handlerHide) {
|
||||
this.handlerHide();
|
||||
}
|
||||
|
||||
this.hideTips();
|
||||
|
||||
Common.UI.Window.prototype.hide.call(this);
|
||||
|
||||
if (!_.isUndefined(this.e) && this.e.keyCode == Common.UI.Keys.ESC) {
|
||||
this.e.preventDefault();
|
||||
this.e.stopImmediatePropagation();
|
||||
this.e = undefined;
|
||||
}
|
||||
},
|
||||
|
||||
// CommentsPopover
|
||||
|
||||
update: function (needRender) {
|
||||
if (this.commentsView && needRender)
|
||||
this.commentsView.onResetItems();
|
||||
if (this.scroller) {
|
||||
this.scroller.update({minScrollbarLength: 40, alwaysVisibleY: true});
|
||||
}
|
||||
},
|
||||
|
||||
isVisible: function () {
|
||||
return (this.$window && this.$window.is(':visible'));
|
||||
},
|
||||
setLeftTop: function (posX, posY, leftX, loadInnerValues, retainContent) {
|
||||
if (!this.$window)
|
||||
this.render();
|
||||
|
||||
if (loadInnerValues) {
|
||||
posX = this.arrowPosX;
|
||||
posY = this.arrowPosY;
|
||||
leftX = this.leftX;
|
||||
}
|
||||
|
||||
if (_.isUndefined(posX) && _.isUndefined(posY))
|
||||
return;
|
||||
|
||||
this.arrowPosX = posX;
|
||||
this.arrowPosY = posY;
|
||||
this.leftX = leftX;
|
||||
|
||||
var commentsView = $('#id-popover'),
|
||||
arrowView = $('#id-comments-arrow'),
|
||||
editorView = $('#editor_sdk'),
|
||||
editorBounds = null,
|
||||
sdkBoundsHeight = 0,
|
||||
sdkBoundsTop = 0,
|
||||
sdkBoundsLeft = 0,
|
||||
sdkPanelRight = '',
|
||||
sdkPanelRightWidth = 0,
|
||||
sdkPanelLeft = '',
|
||||
sdkPanelLeftWidth = 0,
|
||||
sdkPanelThumbs = '', // for PE
|
||||
sdkPanelThumbsWidth = 0, // for PE
|
||||
sdkPanelTop = '',
|
||||
sdkPanelHeight = 0,
|
||||
leftPos = 0,
|
||||
windowWidth = 0,
|
||||
outerHeight = 0,
|
||||
topPos = 0,
|
||||
sdkBoundsTopPos = 0;
|
||||
|
||||
if (commentsView && arrowView && editorView && editorView.get(0)) {
|
||||
editorBounds = editorView.get(0).getBoundingClientRect();
|
||||
if (editorBounds) {
|
||||
sdkBoundsHeight = editorBounds.height - this.sdkBounds.padding * 2;
|
||||
|
||||
this.$window.css({maxHeight: sdkBoundsHeight + 'px'});
|
||||
|
||||
this.sdkBounds.width = editorBounds.width;
|
||||
this.sdkBounds.height = editorBounds.height;
|
||||
|
||||
// LEFT CORNER
|
||||
|
||||
if (!_.isUndefined(posX)) {
|
||||
|
||||
sdkPanelRight = $('#id_vertical_scroll');
|
||||
if (sdkPanelRight.length) {
|
||||
sdkPanelRightWidth = (sdkPanelRight.css('display') !== 'none') ? sdkPanelRight.width() : 0;
|
||||
} else {
|
||||
sdkPanelRight = $('#ws-v-scrollbar');
|
||||
if (sdkPanelRight.length) {
|
||||
sdkPanelRightWidth = (sdkPanelRight.css('display') !== 'none') ? sdkPanelRight.width() : 0;
|
||||
}
|
||||
}
|
||||
|
||||
this.sdkBounds.width -= sdkPanelRightWidth;
|
||||
|
||||
sdkPanelLeft = $('#id_panel_left');
|
||||
if (sdkPanelLeft.length) {
|
||||
sdkPanelLeftWidth = (sdkPanelLeft.css('display') !== 'none') ? sdkPanelLeft.width() : 0;
|
||||
}
|
||||
sdkPanelThumbs = $('#id_panel_thumbnails');
|
||||
if (sdkPanelThumbs.length) {
|
||||
sdkPanelThumbsWidth = (sdkPanelThumbs.css('display') !== 'none') ? sdkPanelThumbs.width() : 0;
|
||||
this.sdkBounds.width -= sdkPanelThumbsWidth;
|
||||
}
|
||||
|
||||
leftPos = Math.min(sdkBoundsLeft + posX + this.arrow.width, sdkBoundsLeft + this.sdkBounds.width - this.$window.outerWidth() - 25);
|
||||
leftPos = Math.max(sdkBoundsLeft + sdkPanelLeftWidth + this.arrow.width, leftPos);
|
||||
|
||||
arrowView.removeClass('right').addClass('left');
|
||||
|
||||
if (!_.isUndefined(leftX)) {
|
||||
windowWidth = this.$window.outerWidth();
|
||||
if (windowWidth) {
|
||||
if ((posX + windowWidth > this.sdkBounds.width - this.arrow.width + 5) && (this.leftX > windowWidth)) {
|
||||
leftPos = this.leftX - windowWidth + sdkBoundsLeft - this.arrow.width;
|
||||
arrowView.removeClass('left').addClass('right');
|
||||
} else {
|
||||
leftPos = sdkBoundsLeft + posX + this.arrow.width;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.$window.css('left', leftPos + 'px');
|
||||
}
|
||||
|
||||
// TOP CORNER
|
||||
|
||||
if (!_.isUndefined(posY)) {
|
||||
sdkPanelTop = $('#id_panel_top');
|
||||
sdkBoundsTopPos = sdkBoundsTop;
|
||||
if (sdkPanelTop.length) {
|
||||
sdkPanelHeight = (sdkPanelTop.css('display') !== 'none') ? sdkPanelTop.height() : 0;
|
||||
sdkBoundsTopPos += this.sdkBounds.paddingTop;
|
||||
} else {
|
||||
sdkPanelTop = $('#ws-h-scrollbar');
|
||||
if (sdkPanelTop.length) {
|
||||
sdkPanelHeight = (sdkPanelTop.css('display') !== 'none') ? sdkPanelTop.height() : 0;
|
||||
}
|
||||
}
|
||||
|
||||
this.sdkBounds.height -= sdkPanelHeight;
|
||||
|
||||
outerHeight = this.$window.outerHeight();
|
||||
|
||||
topPos = Math.min(sdkBoundsTop + sdkBoundsHeight - outerHeight, this.arrowPosY + sdkBoundsTop - this.arrow.height);
|
||||
topPos = Math.max(topPos, sdkBoundsTopPos);
|
||||
|
||||
this.$window.css('top', topPos + 'px');
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!retainContent)
|
||||
this.calculateSizeOfContent();
|
||||
},
|
||||
calculateSizeOfContent: function (testVisible) {
|
||||
if (testVisible && !this.$window.is(':visible'))
|
||||
return;
|
||||
|
||||
this.$window.css({overflow: 'hidden'});
|
||||
|
||||
var arrowView = $('#id-comments-arrow'),
|
||||
commentsView = $('#id-popover'),
|
||||
contentBounds = null,
|
||||
editorView = null,
|
||||
editorBounds = null,
|
||||
sdkBoundsHeight = 0,
|
||||
sdkBoundsTop = 0,
|
||||
sdkBoundsLeft = 0,
|
||||
sdkPanelTop = '',
|
||||
sdkPanelHeight = 0,
|
||||
arrowPosY = 0,
|
||||
windowHeight = 0,
|
||||
outerHeight = 0,
|
||||
topPos = 0,
|
||||
sdkBoundsTopPos = 0;
|
||||
|
||||
if (commentsView && arrowView && commentsView.get(0)) {
|
||||
commentsView.css({height: '100%'});
|
||||
|
||||
contentBounds = commentsView.get(0).getBoundingClientRect();
|
||||
if (contentBounds) {
|
||||
editorView = $('#editor_sdk');
|
||||
if (editorView && editorView.get(0)) {
|
||||
editorBounds = editorView.get(0).getBoundingClientRect();
|
||||
if (editorBounds) {
|
||||
sdkBoundsHeight = editorBounds.height - this.sdkBounds.padding * 2;
|
||||
sdkBoundsTopPos = sdkBoundsTop;
|
||||
windowHeight = this.$window.outerHeight();
|
||||
|
||||
// TOP CORNER
|
||||
|
||||
sdkPanelTop = $('#id_panel_top');
|
||||
if (sdkPanelTop.length) {
|
||||
sdkPanelHeight = (sdkPanelTop.css('display') !== 'none') ? sdkPanelTop.height() : 0;
|
||||
sdkBoundsTopPos += this.sdkBounds.paddingTop;
|
||||
} else {
|
||||
sdkPanelTop = $('#ws-h-scrollbar');
|
||||
if (sdkPanelTop.length) {
|
||||
sdkPanelHeight = (sdkPanelTop.css('display') !== 'none') ? sdkPanelTop.height() : 0;
|
||||
}
|
||||
}
|
||||
|
||||
outerHeight = Math.max(commentsView.outerHeight(), this.$window.outerHeight());
|
||||
|
||||
if (sdkBoundsHeight <= outerHeight) {
|
||||
this.$window.css({
|
||||
maxHeight: sdkBoundsHeight - sdkPanelHeight + 'px',
|
||||
top: sdkBoundsTop + sdkPanelHeight + 'px'
|
||||
});
|
||||
|
||||
commentsView.css({height: sdkBoundsHeight - sdkPanelHeight - 3 + 'px'});
|
||||
|
||||
// arrowPosY = Math.max(this.arrow.margin, this.arrowPosY - sdkPanelHeight - this.arrow.width);
|
||||
arrowPosY = Math.min(arrowPosY, sdkBoundsHeight - (sdkPanelHeight + this.arrow.margin + this.arrow.width));
|
||||
|
||||
arrowView.css({top: arrowPosY + 'px'});
|
||||
} else {
|
||||
|
||||
outerHeight = windowHeight;
|
||||
|
||||
if (outerHeight > 0) {
|
||||
if (contentBounds.top + outerHeight > sdkBoundsHeight + sdkBoundsTop || contentBounds.height === 0) {
|
||||
topPos = Math.min(sdkBoundsTop + sdkBoundsHeight - outerHeight, this.arrowPosY + sdkBoundsTop - this.arrow.height);
|
||||
topPos = Math.max(topPos, sdkBoundsTopPos);
|
||||
|
||||
this.$window.css({top: topPos + 'px'});
|
||||
}
|
||||
}
|
||||
|
||||
arrowPosY = Math.max(this.arrow.margin, this.arrowPosY - (sdkBoundsHeight - outerHeight) - this.arrow.width);
|
||||
arrowPosY = Math.min(arrowPosY, outerHeight - this.arrow.margin - this.arrow.width);
|
||||
|
||||
arrowView.css({top: arrowPosY + 'px'});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.$window.css({overflow: ''});
|
||||
},
|
||||
saveText: function (clear) {
|
||||
if (this.commentsView && this.commentsView.cmpEl.find('.lock-area').length < 1) {
|
||||
this.textVal = undefined;
|
||||
if (!clear) {
|
||||
this.textVal = this.commentsView.getActiveTextBoxVal();
|
||||
} else {
|
||||
this.commentsView.clearTextBoxBind();
|
||||
}
|
||||
}
|
||||
},
|
||||
loadText: function () {
|
||||
if (this.textVal && this.commentsView) {
|
||||
var textBox = this.commentsView.getTextBox();
|
||||
textBox && textBox.val(this.textVal);
|
||||
}
|
||||
},
|
||||
getEditText: function () {
|
||||
if (this.commentsView) {
|
||||
return this.commentsView.getActiveTextBoxVal();
|
||||
}
|
||||
|
||||
return undefined;
|
||||
},
|
||||
|
||||
hookTextBox: function () {
|
||||
var me = this, textBox = this.commentsView.getTextBox();
|
||||
|
||||
textBox && textBox.keydown(function (event) {
|
||||
if ((event.ctrlKey || event.metaKey) && !event.altKey && event.keyCode === Common.UI.Keys.RETURN) {
|
||||
var buttonChangeComment = $('#id-comments-change-popover');
|
||||
if (buttonChangeComment && buttonChangeComment.length) {
|
||||
buttonChangeComment.click();
|
||||
}
|
||||
|
||||
event.stopImmediatePropagation();
|
||||
} else if (event.keyCode === Common.UI.Keys.TAB) {
|
||||
var $this, end, start;
|
||||
start = this.selectionStart;
|
||||
end = this.selectionEnd;
|
||||
$this = $(this);
|
||||
$this.val($this.val().substring(0, start) + '\t' + $this.val().substring(end));
|
||||
this.selectionStart = this.selectionEnd = start + 1;
|
||||
|
||||
event.stopImmediatePropagation();
|
||||
event.preventDefault();
|
||||
}
|
||||
|
||||
me.e = event;
|
||||
});
|
||||
},
|
||||
|
||||
hideTips: function () {
|
||||
if (this.commentsView)
|
||||
_.each(this.commentsView.dataViewItems, function (item) {
|
||||
if (item.tipsArray) {
|
||||
item.tipsArray.forEach(function (item) {
|
||||
item.hide();
|
||||
});
|
||||
}
|
||||
}, this);
|
||||
},
|
||||
|
||||
isCommentsViewMouseOver: function () {
|
||||
return this._isMouseOver;
|
||||
},
|
||||
|
||||
setReviewStore: function(store) {
|
||||
this.reviewStore = store;
|
||||
if (this.reviewChangesView)
|
||||
this.reviewChangesView.setStore(this.reviewStore);
|
||||
},
|
||||
|
||||
setCommentsStore: function(store) {
|
||||
this.commentsStore = store;
|
||||
if (this.commentsView)
|
||||
this.commentsView.setStore(this.commentsStore);
|
||||
},
|
||||
|
||||
getPopover: function(options) {
|
||||
if (!this.popover)
|
||||
this.popover = new Common.Views.ReviewPopover(options);
|
||||
return this.popover;
|
||||
},
|
||||
|
||||
textAddReply : 'Add Reply',
|
||||
textAdd : "Add",
|
||||
textCancel : 'Cancel',
|
||||
textEdit : 'Edit',
|
||||
textReply : 'Reply',
|
||||
textClose : 'Close',
|
||||
textResolve : 'Resolve',
|
||||
textOpenAgain : "Open Again"
|
||||
|
||||
}, Common.Views.ReviewPopover || {}))
|
||||
});
|
1
apps/common/main/resources/img/doc-formats/blank.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 127" version="1.1" width="100" height="127"><defs><style>.cls-2-1{opacity:0.2;}</style></defs><symbol id="svg-format-blank"><path fill="#fff" d="M95,23v96a3,3,0,0,1-3,3H8a3,3,0,0,1-3-3V8A3,3,0,0,1,8,5H77Z"/><path class="cls-2-1" d="M77,5H8A3,3,0,0,0,5,8V119a3,3,0,0,0,3,3H92a3,3,0,0,0,3-3V23ZM94,119a2,2,0,0,1-2,2H8a2,2,0,0,1-2-2V8A2,2,0,0,1,8,6H76.59l.41.41V20a3,3,0,0,0,3,3H93.59l.41.41Z"/><g class="cls-2-1"><rect x="50" y="86" width="25" height="2"/><rect x="25" y="80" width="50" height="2"/><rect x="25" y="74" width="50" height="2"/><rect x="25" y="68" width="50" height="2"/><rect x="25" y="62" width="50" height="2"/><rect x="25" y="43" width="24" height="2"/><rect x="25" y="37" width="19" height="2"/></g></symbol></svg>
|
After Width: | Height: | Size: 788 B |
1
apps/common/main/resources/img/doc-formats/csv.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 127" version="1.1" width="100" height="127"><defs><style>.cls-2{opacity:0.2;}.cls-3{font-size:12px;font-family:OpenSans-Bold, Open Sans;font-weight:700;}.cls-3,.cls-4{fill:#fff;}</style></defs><symbol id="svg-format-csv"><path fill="#646464" d="M95,23v96a3,3,0,0,1-3,3H8a3,3,0,0,1-3-3V8A3,3,0,0,1,8,5H77Z"/><path class="cls-2" d="M95,23H80a3,3,0,0,1-3-3V5Z"/><text class="cls-3" transform="translate(38.97 113)">CSV</text><rect class="cls-4" x="21" y="90" width="17" height="2"/><rect class="cls-4" x="21" y="83" width="17" height="2"/><rect class="cls-4" x="21" y="76" width="17" height="2"/><rect class="cls-4" x="21" y="69" width="17" height="2"/><rect class="cls-4" x="21" y="62" width="17" height="2"/><rect class="cls-4" x="21" y="55" width="17" height="2"/><rect class="cls-4" x="21" y="48" width="17" height="2"/><rect class="cls-4" x="21" y="41" width="17" height="2"/><rect class="cls-4" x="21" y="34" width="17" height="2"/><rect class="cls-4" x="42" y="90" width="17" height="2"/><rect class="cls-4" x="42" y="83" width="17" height="2"/><rect class="cls-4" x="42" y="76" width="17" height="2"/><rect class="cls-4" x="42" y="69" width="17" height="2"/><rect class="cls-4" x="42" y="62" width="17" height="2"/><rect class="cls-4" x="42" y="55" width="17" height="2"/><rect class="cls-4" x="42" y="48" width="17" height="2"/><rect class="cls-4" x="42" y="41" width="17" height="2"/><rect class="cls-4" x="42" y="34" width="17" height="2"/><rect class="cls-4" x="63" y="90" width="17" height="2"/><rect class="cls-4" x="63" y="83" width="17" height="2"/><rect class="cls-4" x="63" y="76" width="17" height="2"/><rect class="cls-4" x="63" y="69" width="17" height="2"/><rect class="cls-4" x="63" y="62" width="17" height="2"/><rect class="cls-4" x="63" y="55" width="17" height="2"/><rect class="cls-4" x="63" y="48" width="17" height="2"/><rect class="cls-4" x="63" y="41" width="17" height="2"/><rect class="cls-4" x="63" y="34" width="17" height="2"/></symbol></svg>
|
After Width: | Height: | Size: 2 KiB |
1
apps/common/main/resources/img/doc-formats/docx.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 127" version="1.1" width="100" height="127"><defs><style>.cls-2{opacity:0.2;}.cls-3{font-size:12px;font-family:OpenSans-Bold, Open Sans;font-weight:700;}.cls-3,.cls-4{fill:#fff;}</style></defs><symbol id="svg-format-docx"><path fill="#214479" d="M95,23v96a3,3,0,0,1-3,3H8a3,3,0,0,1-3-3V8A3,3,0,0,1,8,5H77Z"/><path class="cls-2" d="M95,23H80a3,3,0,0,1-3-3V5Z"/><text class="cls-3" transform="translate(32.96 113)">DOCX</text><polygon class="cls-4" points="67.8 48 61.5 75 54.5 48 51.5 48 48.5 48 41.5 75 35.2 48 29.4 48 37.9 82 44.3 82 51.5 54.1 58.7 82 65.1 82 73.6 48 67.8 48"/></symbol></svg>
|
After Width: | Height: | Size: 651 B |
1
apps/common/main/resources/img/doc-formats/epub.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 127" version="1.1" width="100" height="127"><defs><style>.cls-2{opacity:0.2;}.cls-3{font-size:12px;font-family:OpenSans-Bold, Open Sans;font-weight:700;}.cls-3,.cls-4{fill:#fff;}</style></defs><symbol id="svg-format-epub"><path fill="#5892b6" d="M95,23v96a3,3,0,0,1-3,3H8a3,3,0,0,1-3-3V8A3,3,0,0,1,8,5H77Z"/><path class="cls-2" d="M95,23H80a3,3,0,0,1-3-3V5Z"/><text class="cls-3" transform="translate(34.31 113)">EPUB</text><path class="cls-4" d="M49,84V49s-9-6-24-7V75S42,76,49,84Z"/><path class="cls-4" d="M75,75V42c-15,1-24,7-24,7V84C58,76,75,75,75,75Z"/><path class="cls-4" d="M77,47V79s-15,0-27,8.3C38,79,23,79,23,79V47H20V82s13-2,30,6c17-8,30-6,30-6V47Z"/></symbol></svg>
|
After Width: | Height: | Size: 734 B |
1
apps/common/main/resources/img/doc-formats/html.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 127" version="1.1" width="100" height="127"><defs><style>.cls-2{opacity:0.2;}.cls-3{font-size:12px;font-family:OpenSans-Bold, Open Sans;font-weight:700;}.cls-3,.cls-4{fill:#fff;}</style></defs><symbol id="svg-format-html"><path fill="#7c9a34" d="M95,23v96a3,3,0,0,1-3,3H8a3,3,0,0,1-3-3V8A3,3,0,0,1,8,5H77Z"/><path class="cls-2" d="M95,23H80a3,3,0,0,1-3-3V5Z"/><text class="cls-3" transform="translate(32.89 113)">HTML</text><polygon class="cls-4" points="62 53 62 57.8 75.5 62.5 62 67.2 62 72 80 64.2 80 60.8 62 53"/><polygon class="cls-4" points="40 75 45.5 75 59.5 50 54 50 40 75"/><polygon class="cls-4" points="19 64.2 37 72 37 67.2 23.5 62.5 37 57.8 37 53 19 60.8 19 64.2"/></symbol></svg>
|
After Width: | Height: | Size: 751 B |
1
apps/common/main/resources/img/doc-formats/odp.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 127" version="1.1" width="100" height="127"><defs><style>.cls-2{opacity:0.2;}.cls-3{font-size:12px;font-family:OpenSans-Bold, Open Sans;font-weight:700;}.cls-3,.cls-4{fill:#fff;}</style></defs><symbol id="svg-format-odp"><path fill="#dd9426" d="M95,23v96a3,3,0,0,1-3,3H8a3,3,0,0,1-3-3V8A3,3,0,0,1,8,5H77Z"/><path class="cls-2" d="M95,23H80a3,3,0,0,1-3-3V5Z"/><text class="cls-3" transform="translate(37.02 113)">ODP</text><path class="cls-4" d="M78,52.74h0l-.29-.15a15,15,0,0,0-14,.53,14.93,14.93,0,0,0-14.3-.24l-.08,0a.25.25,0,0,0-.1.2.26.26,0,0,0,.26.26h.06a14.62,14.62,0,0,1,4.14-.18c4,.37,7.43,1.6,9.86,4.36.13.13.24.12.37,0C67,54,71.68,52.6,76.72,53.07c.28,0,.56.06.83.11l.33,0a.23.23,0,0,0,.26-.25A.25.25,0,0,0,78,52.74Z"/><path class="cls-4" d="M72.16,65.21l0,0A26,26,0,0,0,47.19,68,26,26,0,0,0,22.1,70.19l-.05,0a.41.41,0,0,0-.14.3.39.39,0,0,0,.38.39h.08l0,0a26.09,26.09,0,0,1,7.49-1.1c6.93,0,13.1,1.64,17.74,6l0,0a.38.38,0,0,0,.25.09.37.37,0,0,0,.3-.14l.22-.31c4.72-6.45,12.5-9.63,21.16-9.63.62,0,1.23,0,1.84.06l.55,0a.4.4,0,0,0,.39-.39A.38.38,0,0,0,72.16,65.21Z"/></symbol></svg>
|
After Width: | Height: | Size: 1.1 KiB |
1
apps/common/main/resources/img/doc-formats/ods.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 127" version="1.1" width="100" height="127"><defs><style>.cls-2{opacity:0.2;}.cls-3{font-size:12px;font-family:OpenSans-Bold, Open Sans;font-weight:700;}.cls-3,.cls-4{fill:#fff;}</style></defs><symbol id="svg-format-ods"><path fill="#237453" d="M95,23v96a3,3,0,0,1-3,3H8a3,3,0,0,1-3-3V8A3,3,0,0,1,8,5H77Z"/><path class="cls-2" d="M95,23H80a3,3,0,0,1-3-3V5Z"/><text class="cls-3" transform="translate(37.48 113)">ODS</text><path class="cls-4" d="M78,52.74h0l-.29-.15a15,15,0,0,0-14,.53,14.93,14.93,0,0,0-14.3-.24l-.08,0a.25.25,0,0,0-.1.2.26.26,0,0,0,.26.26h.06a14.62,14.62,0,0,1,4.14-.18c4,.37,7.43,1.6,9.86,4.36.13.13.24.12.37,0C67,54,71.68,52.6,76.72,53.07c.28,0,.56.06.83.11l.33,0a.23.23,0,0,0,.26-.25A.25.25,0,0,0,78,52.74Z"/><path class="cls-4" d="M72.16,65.21l0,0A26,26,0,0,0,47.19,68,26,26,0,0,0,22.1,70.19l-.05,0a.41.41,0,0,0-.14.3.39.39,0,0,0,.38.39h.08l0,0a26.09,26.09,0,0,1,7.49-1.1c6.93,0,13.1,1.64,17.74,6l0,0a.38.38,0,0,0,.25.09.37.37,0,0,0,.3-.14l.22-.31c4.72-6.45,12.5-9.63,21.16-9.63.62,0,1.23,0,1.84.06l.55,0a.4.4,0,0,0,.39-.39A.38.38,0,0,0,72.16,65.21Z"/></symbol></svg>
|
After Width: | Height: | Size: 1.1 KiB |
1
apps/common/main/resources/img/doc-formats/odt.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 127" version="1.1" width="100" height="127"><defs><style>.cls-2{opacity:0.2;}.cls-3{font-size:12px;font-family:OpenSans-Bold, Open Sans;font-weight:700;}.cls-3,.cls-4{fill:#fff;}</style></defs><symbol id="svg-format-odt"><path fill="#3c6d88" d="M95,23v96a3,3,0,0,1-3,3H8a3,3,0,0,1-3-3V8A3,3,0,0,1,8,5H77Z"/><path class="cls-2" d="M95,23H80a3,3,0,0,1-3-3V5Z"/><text class="cls-3" transform="translate(37.31 113)">ODT</text><path class="cls-4" d="M78,52.74h0l-.29-.15a15,15,0,0,0-14,.53,14.93,14.93,0,0,0-14.3-.24l-.08,0a.25.25,0,0,0-.1.2.26.26,0,0,0,.26.26h.06a14.62,14.62,0,0,1,4.14-.18c4,.37,7.43,1.6,9.86,4.36.13.13.24.12.37,0C67,54,71.68,52.6,76.72,53.07c.28,0,.56.06.83.11l.33,0a.23.23,0,0,0,.26-.25A.25.25,0,0,0,78,52.74Z"/><path class="cls-4" d="M72.16,65.21l0,0A26,26,0,0,0,47.19,68,26,26,0,0,0,22.1,70.19l-.05,0a.41.41,0,0,0-.14.3.39.39,0,0,0,.38.39h.08l0,0a26.09,26.09,0,0,1,7.49-1.1c6.93,0,13.1,1.64,17.74,6l0,0a.38.38,0,0,0,.25.09.37.37,0,0,0,.3-.14l.22-.31c4.72-6.45,12.5-9.63,21.16-9.63.62,0,1.23,0,1.84.06l.55,0a.4.4,0,0,0,.39-.39A.38.38,0,0,0,72.16,65.21Z"/></symbol></svg>
|
After Width: | Height: | Size: 1.1 KiB |
1
apps/common/main/resources/img/doc-formats/pdf.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 127" version="1.1" width="100" height="127"><defs><style>.cls-2{opacity:0.2;}.cls-3{font-size:12px;font-family:OpenSans-Bold, Open Sans;font-weight:700;}.cls-3,.cls-4{fill:#fff;}</style></defs><symbol id="svg-format-pdf"><path fill="#ba4c3f" d="M95,23v96a3,3,0,0,1-3,3H8a3,3,0,0,1-3-3V8A3,3,0,0,1,8,5H77Z"/><path class="cls-2" d="M95,23H80a3,3,0,0,1-3-3V5Z"/><text class="cls-3" transform="translate(38.5 113)">PDF</text><path id="path4463" class="cls-4" d="M40.42,66.69C42,63.55,43.84,60,45.3,56.46h0l.58-1.4c-1.9-7.25-3.05-13.07-2-16.83h0a2.59,2.59,0,0,1,2.62-1.57h.88c1.66,0,2.44,2.09,2.53,2.91h0a13.12,13.12,0,0,1-.48,3.68h0a9.11,9.11,0,0,0-.56-3.75h0C48.16,38,47.5,37.1,46.91,37h0a1.82,1.82,0,0,0-.68,1.4h0A19.67,19.67,0,0,0,46,41.59h0A36,36,0,0,0,47.45,51h0c.18-.54.34-1,.48-1.54h0c.2-.76,1.49-5.81,1.49-5.81h0s-.33,6.72-.78,8.76h0c-.1.43-.21.86-.32,1.29h0a29.59,29.59,0,0,0,7.37,11.52h0A23.75,23.75,0,0,0,60,68.12h0a57.72,57.72,0,0,1,8.65-.65h0c3.28,0,5.69.53,6.66,1.49h0A2.55,2.55,0,0,1,76,70.62h0a5.92,5.92,0,0,1-.14,1h0c0-.18,0-1-2.6-1.88h0c-2.07-.66-6-.64-10.61-.15h0c5.39,2.64,10.64,4,12.3,3.16h0a3.48,3.48,0,0,0,.9-.87h0a9.45,9.45,0,0,1-.51,1.66h0a2.54,2.54,0,0,1-1.29.88h0c-2.63.71-9.46-.92-15.42-4.32h0A125,125,0,0,0,38.8,74.79h0C33,84.88,28.71,89.51,25.19,87.75h0L23.9,87.1a1.5,1.5,0,0,1-.49-1.63h0c.41-2,2.93-5,8-8.06h0c.55-.33,3-1.61,3-1.61h0s-1.79,1.74-2.21,2.08h0c-4,3.31-7,7.47-6.95,9.09h0l0,.14c3.43-.49,8.57-7.48,15.19-20.42m2.1,1.07c-1.11,2.08-2.19,4-3.19,5.79h0a84.6,84.6,0,0,1,17.1-4.84h0c-.76-.53-1.49-1.08-2.19-1.67h0A29.28,29.28,0,0,1,47,57.66h0a81,81,0,0,1-4.52,10.1"/></symbol></svg>
|
After Width: | Height: | Size: 1.6 KiB |
38
apps/common/main/resources/img/doc-formats/pdfa.svg
Normal file
|
@ -0,0 +1,38 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 127" version="1.1" width="100" height="127">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: #ba4c3f;
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
.cls-2, .cls-3 {
|
||||
isolation: isolate;
|
||||
}
|
||||
|
||||
.cls-4 {
|
||||
fill: #fff;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
|
||||
<symbol id="svg-format-pdfa">
|
||||
<path class="cls-1" d="M95,23v96a2.9,2.9,0,0,1-3,3H8a2.9,2.9,0,0,1-3-3V8A2.9,2.9,0,0,1,8,5H77Z" transform="translate(-5 -5)"/>
|
||||
<path class="cls-2" d="M95,23H80a2.9,2.9,0,0,1-3-3V5Z" transform="translate(-5 -5)"/>
|
||||
<g class="cls-3">
|
||||
<path class="cls-4" d="M38.9,107.1a2.6,2.6,0,0,1-.9,2.1,3.6,3.6,0,0,1-2.4.8h-.8v3H33v-8.6h2.7a4.3,4.3,0,0,1,2.4.7A2.6,2.6,0,0,1,38.9,107.1Zm-4.1,1.4h.6a1.6,1.6,0,0,0,1.2-.4,1,1,0,0,0,.4-.9,1.3,1.3,0,0,0-.3-1,1.6,1.6,0,0,0-1.1-.3h-.8Z" transform="translate(-5 -5)"/>
|
||||
<path class="cls-4" d="M47.6,108.6a4.5,4.5,0,0,1-1.2,3.3,5.2,5.2,0,0,1-3.5,1.1H40.5v-8.6h2.7a4.4,4.4,0,0,1,3.2,1.1A4.1,4.1,0,0,1,47.6,108.6Zm-1.9.1c0-1.9-.8-2.8-2.4-2.8h-1v5.6h.8C44.8,111.5,45.7,110.6,45.7,108.7Z" transform="translate(-5 -5)"/>
|
||||
<path class="cls-4" d="M51.2,113H49.4v-8.6h4.9v1.5H51.2v2.2h2.9v1.5H51.2Z" transform="translate(-5 -5)"/>
|
||||
<path class="cls-4" d="M59.8,104.4,56.6,113H55l3.2-8.6Z" transform="translate(-5 -5)"/>
|
||||
<path class="cls-4" d="M66.2,113l-.7-2H62.4l-.6,2h-2l3.1-8.6h2.2l3,8.6Zm-1.1-3.6c-.6-1.8-.9-2.9-1-3.1s-.1-.4-.1-.6-.5,1.8-1.1,3.7Z" transform="translate(-5 -5)"/>
|
||||
</g>
|
||||
<path id="path4463" class="cls-4" d="M40.4,66.7c1.6-3.2,3.4-6.7,4.9-10.2h0l.6-1.4c-1.9-7.3-3.1-13.1-2-16.9h0a2.5,2.5,0,0,1,2.6-1.5h.9c1.6,0,2.4,2,2.5,2.9h0a10.8,10.8,0,0,1-.5,3.6h0a9.5,9.5,0,0,0-.5-3.7h0c-.7-1.5-1.4-2.4-2-2.5h0a1.9,1.9,0,0,0-.7,1.4h0c-.1,1.1-.2,2.1-.2,3.2h0A37.6,37.6,0,0,0,47.5,51h0c.1-.5.3-1,.4-1.5h0l1.5-5.9h0a79.7,79.7,0,0,1-.8,8.8h0l-.3,1.3h0a29.2,29.2,0,0,0,7.4,11.5h0A24.9,24.9,0,0,0,60,68.1h0a63.6,63.6,0,0,1,8.7-.6h0c3.2,0,5.6.5,6.6,1.5h0a2.4,2.4,0,0,1,.7,1.6h0c0,.4-.1.7-.1,1h0c0-.2,0-1-2.6-1.9h0c-2.1-.6-6-.6-10.6-.1h0c5.3,2.6,10.6,4,12.3,3.2h0l.9-.9h0a10.4,10.4,0,0,1-.6,1.6h0a1.8,1.8,0,0,1-1.2.9h0c-2.7.7-9.5-.9-15.5-4.3h0a123.9,123.9,0,0,0-19.8,4.7h0C33,84.9,28.7,89.5,25.2,87.8h0l-1.3-.7a1.4,1.4,0,0,1-.5-1.6h0c.4-2,2.9-5,8-8.1h0l3-1.6h0l-2.2,2.1h0c-4,3.3-7,7.5-6.9,9.1h0c3.4-.5,8.5-7.5,15.1-20.4m2.1,1.1-3.2,5.8h0a81.1,81.1,0,0,1,17.1-4.9h0L54.3,67h0A29.8,29.8,0,0,1,47,57.7h0a100.4,100.4,0,0,1-4.5,10.1" transform="translate(-5 -5)"/>
|
||||
<g>
|
||||
<path class="cls-4" d="M68.5,39.4c-.1.5-.5,1.8-1,3.7h2c-.5-1.8-.8-2.9-.9-3.1S68.5,39.6,68.5,39.4Z" transform="translate(-5 -5)"/>
|
||||
<path class="cls-4" d="M75,36H62a2,2,0,0,0-2,2v9a2,2,0,0,0,2,2H75a2,2,0,0,0,2-2V38A2,2,0,0,0,75,36ZM70.5,46.7l-.6-2H67l-.5,2H64.6l2.8-8.6h2.1l2.8,8.6Z" transform="translate(-5 -5)"/>
|
||||
</g>
|
||||
</symbol>
|
||||
</svg>
|
After Width: | Height: | Size: 2.8 KiB |
1
apps/common/main/resources/img/doc-formats/pptx.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 127" version="1.1" width="100" height="127"><defs><style>.cls-2{opacity:0.2;}.cls-3{font-size:12px;font-family:OpenSans-Bold, Open Sans;font-weight:700;}.cls-3,.cls-4{fill:#fff;}</style></defs><symbol id="svg-format-pptx"><path fill="#dd682b" d="M95,23v96a3,3,0,0,1-3,3H8a3,3,0,0,1-3-3V8A3,3,0,0,1,8,5H77Z"/><path class="cls-2" d="M95,23H80a3,3,0,0,1-3-3V5Z"/><text class="cls-3" transform="translate(34.99 113)">PPTX</text><path class="cls-4" d="M50,69A16,16,0,0,0,66,53H50V37a16,16,0,0,0,0,32Z"/><path class="cls-4" d="M53,34V50H69A16,16,0,0,0,53,34Z"/><rect class="cls-4" x="25" y="89" width="50" height="2"/><rect class="cls-4" x="25" y="83" width="50" height="2"/><rect class="cls-4" x="25" y="77" width="50" height="2"/></symbol></svg>
|
After Width: | Height: | Size: 798 B |
1
apps/common/main/resources/img/doc-formats/rtf.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 127" version="1.1" width="100" height="127"><defs><style>.cls-2{opacity:0.2;}.cls-3{font-size:12px;font-family:OpenSans-Bold, Open Sans;font-weight:700;}.cls-3,.cls-4{fill:#fff;}</style></defs><symbol id="svg-format-rtf"><path fill="#635e9b" d="M95,23v96a3,3,0,0,1-3,3H8a3,3,0,0,1-3-3V8A3,3,0,0,1,8,5H77Z"/><path class="cls-2" d="M95,23H80a3,3,0,0,1-3-3V5Z"/><text class="cls-3" transform="translate(39.27 113)">RTF</text><rect class="cls-4" x="49" y="38" width="25" height="2"/><rect class="cls-4" x="49" y="44" width="25" height="2"/><rect class="cls-4" x="49" y="50" width="25" height="2"/><rect class="cls-4" x="49" y="56" width="25" height="2"/><rect class="cls-4" x="25" y="62" width="49" height="2"/><rect class="cls-4" x="25" y="68" width="49" height="2"/><rect class="cls-4" x="25" y="74" width="49" height="2"/><rect class="cls-4" x="25" y="80" width="49" height="2"/><rect class="cls-4" x="25" y="86" width="49" height="2"/><rect class="cls-4" x="25" y="38" width="20" height="20"/></symbol></svg>
|
After Width: | Height: | Size: 1 KiB |
1
apps/common/main/resources/img/doc-formats/txt.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 127" version="1.1" width="100" height="127"><defs><style>.cls-2{opacity:0.2;}.cls-3{font-size:12px;font-family:OpenSans-Bold, Open Sans;font-weight:700;}.cls-3,.cls-4{fill:#fff;}</style></defs><symbol id="svg-format-txt"><path fill="#7c7c7d" d="M95,23v96a3,3,0,0,1-3,3H8a3,3,0,0,1-3-3V8A3,3,0,0,1,8,5H77Z"/><path class="cls-2" d="M95,23H80a3,3,0,0,1-3-3V5Z"/><text class="cls-3" transform="translate(39.05 113)">TXT</text><rect class="cls-4" x="25" y="38" width="49" height="2"/><rect class="cls-4" x="25" y="44" width="49" height="2"/><rect class="cls-4" x="25" y="50" width="49" height="2"/><rect class="cls-4" x="25" y="56" width="49" height="2"/><rect class="cls-4" x="25" y="62" width="49" height="2"/><rect class="cls-4" x="25" y="68" width="49" height="2"/><rect class="cls-4" x="25" y="74" width="49" height="2"/><rect class="cls-4" x="25" y="80" width="49" height="2"/><rect class="cls-4" x="25" y="86" width="49" height="2"/></symbol></svg>
|
After Width: | Height: | Size: 1,007 B |
1
apps/common/main/resources/img/doc-formats/xlsx.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 127" version="1.1" width="100" height="127"><defs><style>.cls-2{opacity:0.2;}.cls-3{font-size:12px;font-family:OpenSans-Bold, Open Sans;font-weight:700;}.cls-3,.cls-4{fill:#fff;}</style></defs><symbol id="svg-format-xlsx"><path fill="#1f7244" d="M95,23v96a3,3,0,0,1-3,3H8a3,3,0,0,1-3-3V8A3,3,0,0,1,8,5H77Z"/><path class="cls-2" d="M95,23H80a3,3,0,0,1-3-3V5Z"/><text class="cls-3" transform="translate(35.3 113)">XLSX</text><polygon class="cls-4" points="52.75 61.63 64 45 58.5 45 50 57.56 41.5 45 36 45 47.25 61.63 35.5 79 41 79 50 65.7 59 79 64.5 79 52.75 61.63"/></symbol></svg>
|
After Width: | Height: | Size: 637 B |
|
@ -63,8 +63,8 @@
|
|||
c-0.845-1.277-2.313-2.215-3.989-2.215c-2.461,0-5.405,1.78-5.694,4.119C4.399,10.291,7.034,7.625,10.645,7.625z"/>
|
||||
</symbol>
|
||||
<symbol id="svg-btn-options" viewBox="0 0 20 20">
|
||||
<rect x="4" y="6" width="12" height="1"/>
|
||||
<rect x="4" y="9" width="12" height="1"/>
|
||||
<rect x="4" y="12" width="12" height="1"/>
|
||||
<rect x="3" y="6" width="14" height="1"/>
|
||||
<rect x="3" y="10" width="14" height="1"/>
|
||||
<rect x="3" y="14" width="14" height="1"/>
|
||||
</symbol>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 661 B After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 2.3 KiB |
|
@ -62,6 +62,8 @@
|
|||
}
|
||||
|
||||
.name {
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
display: block;
|
||||
position: relative;
|
||||
padding: 0 10px 0 16px;
|
||||
|
@ -69,7 +71,6 @@
|
|||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -100,6 +101,23 @@
|
|||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.user-name {
|
||||
color: @gray-deep;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.color {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border: 1px solid @gray-dark;
|
||||
margin: 0 5px 3px 0;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.message {
|
||||
word-wrap: break-word;
|
||||
width: 100%;
|
||||
|
|
|
@ -11,7 +11,8 @@
|
|||
}
|
||||
|
||||
.user-name {
|
||||
color: @gray-darker;
|
||||
color: @gray-deep;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
|
@ -22,6 +23,14 @@
|
|||
max-width: 155px;
|
||||
}
|
||||
|
||||
.color {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border: 1px solid @gray-dark;
|
||||
margin: 0 5px 3px 0;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.user-date {
|
||||
color: @gray-darker;
|
||||
font-size: 10px;
|
||||
|
|
|
@ -109,6 +109,8 @@
|
|||
}
|
||||
|
||||
.user-name {
|
||||
color: @gray-deep;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
|
@ -118,6 +120,14 @@
|
|||
cursor: default;
|
||||
}
|
||||
|
||||
.color {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border: 1px solid @gray-dark;
|
||||
margin: 0 5px 3px 0;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.user-name-colored {
|
||||
padding: 10px 0px 0 0px;
|
||||
cursor: default;
|
||||
|
@ -336,8 +346,13 @@
|
|||
|
||||
.comments-popover {
|
||||
width:100%;
|
||||
height:100%;
|
||||
position: relative;
|
||||
overflow-y: hidden;
|
||||
margin-bottom: 5px;
|
||||
|
||||
.dataview-ct.inner {
|
||||
overflow: visible;
|
||||
}
|
||||
}
|
||||
|
||||
.comments-arrow {
|
||||
|
|
|
@ -40,7 +40,6 @@
|
|||
|
||||
.extra {
|
||||
> section {
|
||||
line-height: 20px;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
}
|
||||
|
@ -52,6 +51,7 @@
|
|||
&.right {
|
||||
flex-grow: 1;
|
||||
min-width: 100px;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
.status-label {
|
||||
|
@ -233,15 +233,23 @@
|
|||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
border: 1px solid @gray-dark;
|
||||
margin: 0 5px 1px 0;
|
||||
}
|
||||
|
||||
.name {
|
||||
display: block;
|
||||
padding-left: 16px;
|
||||
margin-top: -5px;
|
||||
.user-name {
|
||||
color: @gray-deep;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
vertical-align: middle;
|
||||
cursor: default;
|
||||
|
||||
label {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
vertical-align: middle;
|
||||
max-width: 200px;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -119,8 +119,8 @@
|
|||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
cursor: pointer;
|
||||
color: @gray-darker;
|
||||
text-overflow: ellipsis;
|
||||
padding-right: 35px;
|
||||
}
|
||||
|
|
|
@ -251,6 +251,10 @@
|
|||
z-index: @zindex-navbar + 4;
|
||||
}
|
||||
}
|
||||
|
||||
&:not(.cover):not(.z-clear) {
|
||||
z-index: @zindex-navbar + 1;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-toolbar {
|
||||
|
|
|
@ -53,4 +53,8 @@
|
|||
|
||||
.link-tooltip .tooltip-inner {
|
||||
max-width: 500px;
|
||||
}
|
||||
|
||||
.auto-tooltip .tooltip-inner {
|
||||
max-width: none;
|
||||
}
|
|
@ -634,7 +634,7 @@ define([
|
|||
}
|
||||
return false;
|
||||
case 'help':
|
||||
if ( this.mode.isEdit ) { // TODO: unlock 'help' for 'view' mode
|
||||
if ( this.mode.isEdit && this.mode.canHelp ) { // TODO: unlock 'help' for 'view' mode
|
||||
Common.UI.Menu.Manager.hideAll();
|
||||
this.leftMenu.showMenu('file:help');
|
||||
}
|
||||
|
|
|
@ -142,10 +142,16 @@ define([
|
|||
|
||||
this._state.prcontrolsdisable = paragraph_locked || header_locked;
|
||||
|
||||
var need_disable = paragraph_locked || in_equation || in_image || in_header;
|
||||
var control_props = this.api.asc_IsContentControl() ? this.api.asc_GetContentControlProperties() : null,
|
||||
control_plain = (control_props) ? (control_props.get_ContentControlType()==Asc.c_oAscSdtLevelType.Inline) : false;
|
||||
|
||||
var need_disable = paragraph_locked || in_equation || in_image || in_header || control_plain;
|
||||
_.each (this.view.btnsNotes, function(item){
|
||||
item.setDisabled(need_disable);
|
||||
}, this);
|
||||
|
||||
need_disable = paragraph_locked || header_locked || control_plain;
|
||||
this.view.btnBookmarks.setDisabled(need_disable);
|
||||
},
|
||||
|
||||
onApiCanAddHyperlink: function(value) {
|
||||
|
|
|
@ -445,7 +445,6 @@ define([
|
|||
});
|
||||
}
|
||||
Common.UI.alert({
|
||||
closable: false,
|
||||
title: this.notcriticalErrorTitle,
|
||||
msg: (opts.data.error) ? opts.data.error : this.txtErrorLoadHistory,
|
||||
iconCls: 'warn',
|
||||
|
@ -623,7 +622,7 @@ define([
|
|||
}
|
||||
application.getController('DocumentHolder').getView().focus();
|
||||
|
||||
if (this.api && !toolbarView._state.previewmode) {
|
||||
if (this.api && this.appOptions.isEdit && !toolbarView._state.previewmode) {
|
||||
var cansave = this.api.asc_isDocumentCanSave(),
|
||||
forcesave = this.appOptions.forcesave,
|
||||
isSyncButton = (toolbarView.btnCollabChanges.rendered) ? toolbarView.btnCollabChanges.$icon.hasClass('btn-synch') : false,
|
||||
|
@ -1091,7 +1090,7 @@ define([
|
|||
this.appOptions.canChat = this.appOptions.canLicense && !this.appOptions.isOffline && !((typeof (this.editorConfig.customization) == 'object') && this.editorConfig.customization.chat===false);
|
||||
this.appOptions.canEditStyles = this.appOptions.canLicense && this.appOptions.canEdit;
|
||||
this.appOptions.canPrint = (this.permissions.print !== false);
|
||||
this.appOptions.canRename = !!this.permissions.rename;
|
||||
this.appOptions.canRename = this.editorConfig.canRename && !!this.permissions.rename;
|
||||
this.appOptions.buildVersion = params.asc_getBuildVersion();
|
||||
this.appOptions.canForcesave = this.appOptions.isEdit && !this.appOptions.isOffline && (typeof (this.editorConfig.customization) == 'object' && !!this.editorConfig.customization.forcesave);
|
||||
this.appOptions.forcesave = this.appOptions.canForcesave;
|
||||
|
@ -1100,6 +1099,7 @@ define([
|
|||
this.appOptions.isProtectSupport = true; // remove in 5.2
|
||||
this.appOptions.canProtect = this.appOptions.isProtectSupport && this.appOptions.isEdit && this.appOptions.isDesktopApp && this.appOptions.isOffline && this.api.asc_isSignaturesSupport();
|
||||
this.appOptions.canEditContentControl = (this.permissions.modifyContentControl!==false);
|
||||
this.appOptions.canHelp = !((typeof (this.editorConfig.customization) == 'object') && this.editorConfig.customization.help===false);
|
||||
|
||||
if ( this.appOptions.isLightVersion ) {
|
||||
this.appOptions.canUseHistory =
|
||||
|
@ -1150,7 +1150,8 @@ define([
|
|||
viewport = app.getController('Viewport').getView('Viewport'),
|
||||
// headerView = app.getController('Viewport').getView('Common.Views.Header'),
|
||||
statusbarView = app.getController('Statusbar').getView('Statusbar'),
|
||||
documentHolder = app.getController('DocumentHolder').getView();
|
||||
documentHolder = app.getController('DocumentHolder').getView(),
|
||||
toolbarController = app.getController('Toolbar');
|
||||
|
||||
// if (headerView) {
|
||||
// headerView.setHeaderCaption(this.appOptions.isEdit ? 'Document Editor' : 'Document Viewer');
|
||||
|
@ -1159,7 +1160,7 @@ define([
|
|||
|
||||
viewport && viewport.setMode(this.appOptions);
|
||||
statusbarView && statusbarView.setMode(this.appOptions);
|
||||
|
||||
toolbarController.setMode(this.appOptions);
|
||||
documentHolder.setMode(this.appOptions);
|
||||
|
||||
this.api.asc_registerCallback('asc_onSendThemeColors', _.bind(this.onSendThemeColors, this));
|
||||
|
@ -1190,27 +1191,24 @@ define([
|
|||
|
||||
reviewController.setMode(me.appOptions).setConfig({config: me.editorConfig}, me.api);
|
||||
|
||||
if (this.appOptions.isProtectSupport && this.appOptions.isDesktopApp && this.appOptions.isOffline)
|
||||
if (this.appOptions.isDesktopApp && this.appOptions.isOffline)
|
||||
application.getController('Common.Controllers.Protection').setMode(me.appOptions).setConfig({config: me.editorConfig}, me.api);
|
||||
|
||||
var viewport = this.getApplication().getController('Viewport').getView('Viewport');
|
||||
|
||||
viewport.applyEditorMode();
|
||||
|
||||
var rightmenuView = rightmenuController.getView('RightMenu');
|
||||
if (rightmenuView) {
|
||||
rightmenuView.setApi(me.api);
|
||||
rightmenuView.on('editcomplete', _.bind(me.onEditComplete, me));
|
||||
rightmenuView.setMode(me.appOptions);
|
||||
}
|
||||
|
||||
var toolbarView = (toolbarController) ? toolbarController.getView() : null;
|
||||
|
||||
_.each([
|
||||
toolbarView,
|
||||
rightmenuController.getView('RightMenu')
|
||||
], function(view) {
|
||||
if (view) {
|
||||
view.setApi(me.api);
|
||||
view.on('editcomplete', _.bind(me.onEditComplete, me));
|
||||
view.setMode(me.appOptions);
|
||||
}
|
||||
});
|
||||
|
||||
if (toolbarView) {
|
||||
toolbarView.setApi(me.api);
|
||||
toolbarView.on('editcomplete', _.bind(me.onEditComplete, me));
|
||||
toolbarView.on('insertimage', _.bind(me.onInsertImage, me));
|
||||
toolbarView.on('inserttable', _.bind(me.onInsertTable, me));
|
||||
toolbarView.on('insertshape', _.bind(me.onInsertShape, me));
|
||||
|
@ -1262,7 +1260,7 @@ define([
|
|||
this.onLongActionEnd(Asc.c_oAscAsyncActionType['BlockInteraction'], LoadingDocument);
|
||||
|
||||
var config = {
|
||||
closable: false
|
||||
closable: true
|
||||
};
|
||||
|
||||
switch (id)
|
||||
|
@ -1362,6 +1360,7 @@ define([
|
|||
|
||||
case Asc.c_oAscError.ID.Warning:
|
||||
config.msg = this.errorConnectToServer;
|
||||
config.closable = false;
|
||||
break;
|
||||
|
||||
case Asc.c_oAscError.ID.SessionAbsolute:
|
||||
|
@ -1409,6 +1408,7 @@ define([
|
|||
|
||||
config.title = this.criticalErrorTitle;
|
||||
config.iconCls = 'error';
|
||||
config.closable = false;
|
||||
|
||||
if (this.appOptions.canBackToFolder && !this.appOptions.isDesktopApp && typeof id !== 'string') {
|
||||
config.msg += '<br/><br/>' + this.criticalErrorExtText;
|
||||
|
|
|
@ -226,6 +226,11 @@ define([
|
|||
Common.NotificationCenter.on('app:face', me.onAppShowed.bind(me));
|
||||
},
|
||||
|
||||
setMode: function(mode) {
|
||||
this.mode = mode;
|
||||
this.toolbar.applyLayout(mode);
|
||||
},
|
||||
|
||||
attachUIEvents: function(toolbar) {
|
||||
/**
|
||||
* UI Events
|
||||
|
@ -2700,6 +2705,8 @@ define([
|
|||
me.toolbar.render(_.extend({isCompactView: compactview}, config));
|
||||
|
||||
if ( config.isEdit ) {
|
||||
me.toolbar.setMode(config);
|
||||
|
||||
var tab = {action: 'review', caption: me.toolbar.textTabCollaboration};
|
||||
var $panel = this.getApplication().getController('Common.Controllers.ReviewChanges').createToolbarPanel();
|
||||
|
||||
|
@ -2718,7 +2725,7 @@ define([
|
|||
me.toolbar.btnPaste.$el.detach().appendTo($box);
|
||||
me.toolbar.btnCopy.$el.removeClass('split');
|
||||
|
||||
if ( config.isProtectSupport && config.isOffline && false ) { // don't add protect panel to toolbar
|
||||
if ( config.isProtectSupport && config.isOffline ) {
|
||||
tab = {action: 'protect', caption: me.toolbar.textTabProtect};
|
||||
$panel = me.getApplication().getController('Common.Controllers.Protection').createToolbarPanel();
|
||||
|
||||
|
@ -2734,6 +2741,7 @@ define([
|
|||
|
||||
onAppReady: function (config) {
|
||||
var me = this;
|
||||
me.appOptions = config;
|
||||
|
||||
if ( config.canCoAuthoring && config.canComments ) {
|
||||
this.btnsComment = createButtonSet();
|
||||
|
@ -2784,7 +2792,13 @@ define([
|
|||
},
|
||||
|
||||
onFileMenu: function (opts) {
|
||||
this.toolbar.setTab( opts == 'show' ? 'file' : undefined );
|
||||
if ( opts == 'show' ) {
|
||||
if ( !this.toolbar.isTabActive('file') )
|
||||
this.toolbar.setTab('file');
|
||||
} else {
|
||||
if ( this.toolbar.isTabActive('file') )
|
||||
this.toolbar.setTab();
|
||||
}
|
||||
},
|
||||
|
||||
textEmptyImgUrl : 'You need to specify image URL.',
|
||||
|
|
|
@ -107,6 +107,8 @@ define([
|
|||
setApi: function(api) {
|
||||
this.api = api;
|
||||
this.api.asc_registerCallback('asc_onZoomChange', this.onApiZoomChange.bind(this));
|
||||
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect',this.onApiCoAuthoringDisconnect.bind(this));
|
||||
Common.NotificationCenter.on('api:disconnect', this.onApiCoAuthoringDisconnect.bind(this));
|
||||
},
|
||||
|
||||
|
||||
|
@ -193,6 +195,14 @@ define([
|
|||
checkable: true,
|
||||
value: 'toolbar'
|
||||
});
|
||||
if (!config.isEdit) {
|
||||
me.header.mnuitemCompactToolbar.hide();
|
||||
Common.NotificationCenter.on('tab:visible', _.bind(function(action, visible){
|
||||
if (action=='plugins' && visible) {
|
||||
me.header.mnuitemCompactToolbar.show();
|
||||
}
|
||||
}, this));
|
||||
}
|
||||
|
||||
var mnuitemHideStatusBar = new Common.UI.MenuItem({
|
||||
caption: me.header.textHideStatusBar,
|
||||
|
@ -364,6 +374,17 @@ define([
|
|||
}
|
||||
},
|
||||
|
||||
onApiCoAuthoringDisconnect: function() {
|
||||
if (this.header) {
|
||||
if (this.header.btnDownload)
|
||||
this.header.btnDownload.hide();
|
||||
if (this.header.btnPrint)
|
||||
this.header.btnPrint.hide();
|
||||
if (this.header.btnEdit)
|
||||
this.header.btnEdit.hide();
|
||||
}
|
||||
},
|
||||
|
||||
textFitPage: 'Fit to Page',
|
||||
textFitWidth: 'Fit to Width'
|
||||
}, DE.Controllers.Viewport));
|
||||
|
|
|
@ -3,35 +3,35 @@
|
|||
<table cols="2" style="width: 100%;" cellpadding="10">
|
||||
<tr>
|
||||
<td class="padding-small">
|
||||
<label class="input-label"><%= scope.textFrom %></label>
|
||||
<div id="merge-email-dlg-from"></div>
|
||||
<label class="input-label header"><%= scope.textFrom %></label>
|
||||
<div id="merge-email-dlg-from" style="margin-right: 5px;"></div>
|
||||
</td>
|
||||
<td class="padding-small">
|
||||
<label class="input-label"><%= scope.textTo %></label>
|
||||
<label class="input-label header"><%= scope.textTo %></label>
|
||||
<div id="merge-email-dlg-to"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="padding-small">
|
||||
<label class="input-label"><%= scope.textSubject %></label>
|
||||
<label class="input-label header"><%= scope.textSubject %></label>
|
||||
<div id="merge-email-dlg-subject" style="width: 100%;"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="padding-small">
|
||||
<label class="input-label"><%= scope.textFormat %></label>
|
||||
<label class="input-label header"><%= scope.textFormat %></label>
|
||||
<div id="merge-email-dlg-format" style="width: 170px;"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="padding-small">
|
||||
<label id="merge-email-dlg-lbl-filename" class="input-label disabled"><%= scope.textFileName %></label>
|
||||
<label id="merge-email-dlg-lbl-filename" class="input-label disabled header"><%= scope.textFileName %></label>
|
||||
<div id="merge-email-dlg-filename" style="width: 100%;"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="padding-small">
|
||||
<label id="merge-email-dlg-lbl-message" class="input-label disabled"><%= scope.textMessage %></label>
|
||||
<label id="merge-email-dlg-lbl-message" class="input-label disabled header"><%= scope.textMessage %></label>
|
||||
<textarea id="merge-email-dlg-message" class="disabled form-control" disabled="disabled" style="width: 100%;height: 70px;margin-bottom: 0;"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -1,23 +1,8 @@
|
|||
<div class="toolbar">
|
||||
<div class="box-tabs">
|
||||
<div class="extra left"></div>
|
||||
<section class="tabs">
|
||||
<a class="scroll left">
|
||||
<i class="icon"><</i>
|
||||
</a>
|
||||
<ul>
|
||||
<% for(var i in tabs) { %>
|
||||
<li class="ribtab<% if (tabs[i].extcls) print(' ' + tabs[i].extcls) %>">
|
||||
<a data-tab="<%= tabs[i].action %>" data-title="<%= tabs[i].caption %>"><%= tabs[i].caption %></a>
|
||||
</li>
|
||||
<% } %>
|
||||
</ul>
|
||||
<a class="scroll right">
|
||||
<i class="icon">></i>
|
||||
</a>
|
||||
</section>
|
||||
<div class="extra right">
|
||||
</div>
|
||||
<%= tabsmarkup %>
|
||||
<div class="extra right"></div>
|
||||
</div>
|
||||
<section class="box-controls">
|
||||
<section class="panel static">
|
||||
|
@ -161,7 +146,7 @@
|
|||
<div class="separator long"></div>
|
||||
<div class="group">
|
||||
<span class="btn-slot text x-huge slot-inshyperlink"></span>
|
||||
<!--<span class="btn-slot text x-huge" id="slot-btn-bookmarks"></span>-->
|
||||
<span class="btn-slot text x-huge" id="slot-btn-bookmarks"></span>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
|
12
apps/documenteditor/main/app/template/ToolbarView.template
Normal file
|
@ -0,0 +1,12 @@
|
|||
<div class="toolbar">
|
||||
<div class="box-tabs">
|
||||
<div class="extra left"></div>
|
||||
<%= tabsmarkup %>
|
||||
<div class="extra right">
|
||||
</div>
|
||||
</div>
|
||||
<section class="box-controls">
|
||||
<section class="box-panels">
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
|
@ -132,8 +132,7 @@ define([
|
|||
this.radioName = new Common.UI.RadioBox({
|
||||
el: $('#bookmarks-radio-name'),
|
||||
labelText: this.textName,
|
||||
name: 'asc-radio-bookmark-sort',
|
||||
checked: true
|
||||
name: 'asc-radio-bookmark-sort'
|
||||
});
|
||||
this.radioName.on('change', _.bind(this.onRadioSort, this));
|
||||
|
||||
|
@ -143,6 +142,7 @@ define([
|
|||
name: 'asc-radio-bookmark-sort'
|
||||
});
|
||||
this.radioLocation.on('change', _.bind(this.onRadioSort, this));
|
||||
Common.Utils.InternalSettings.get("de-bookmarks-sort-location") ? this.radioLocation.setValue(true, true) : this.radioName.setValue(true, true);
|
||||
|
||||
this.bookmarksList = new Common.UI.ListView({
|
||||
el: $('#bookmarks-list', this.$window),
|
||||
|
@ -195,6 +195,7 @@ define([
|
|||
close: function() {
|
||||
Common.Views.AdvancedSettingsWindow.prototype.close.apply(this, arguments);
|
||||
Common.Utils.InternalSettings.set("de-bookmarks-hidden", this.chHidden.getValue()=='checked');
|
||||
Common.Utils.InternalSettings.set("de-bookmarks-sort-location", this.radioLocation.getValue())
|
||||
},
|
||||
|
||||
_setDefaults: function (props) {
|
||||
|
@ -266,6 +267,10 @@ define([
|
|||
var store = this.bookmarksList.store;
|
||||
var idx = _.indexOf(store.models, rec[0]);
|
||||
store.remove(rec[0]);
|
||||
this.txtName.setValue('');
|
||||
this.btnAdd.setDisabled(true);
|
||||
this.btnGoto.setDisabled(true);
|
||||
this.btnDelete.setDisabled(true);
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -282,7 +287,10 @@ define([
|
|||
|
||||
onNameChanging: function (input, value) {
|
||||
var exist = this.props.asc_HaveBookmark(value);
|
||||
this.bookmarksList.deselectAll();
|
||||
if (exist)
|
||||
this.bookmarksList.selectRecord(this.bookmarksList.store.findWhere({value: value}));
|
||||
else
|
||||
this.bookmarksList.deselectAll();
|
||||
this.btnAdd.setDisabled(!this.props.asc_CheckNewBookmarkName(value) && !exist);
|
||||
this.btnGoto.setDisabled(!exist);
|
||||
this.btnDelete.setDisabled(!exist);
|
||||
|
|
|
@ -501,7 +501,11 @@ define([
|
|||
stylesStore.reset(stylearray, {silent: false});
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.cmbChartStyle.menuPicker.store.reset();
|
||||
this.cmbChartStyle.clearComboView();
|
||||
}
|
||||
this.cmbChartStyle.setDisabled(!styles || styles.length<1 || this._locked);
|
||||
},
|
||||
|
||||
setLocked: function (locked) {
|
||||
|
|
|
@ -161,6 +161,13 @@ define([
|
|||
canFocused: false
|
||||
});
|
||||
|
||||
this.miHelp = new Common.UI.MenuItem({
|
||||
el : $('#fm-btn-help',this.el),
|
||||
action : 'help',
|
||||
caption : this.btnHelpCaption,
|
||||
canFocused: false
|
||||
});
|
||||
|
||||
this.items = [];
|
||||
this.items.push(
|
||||
new Common.UI.MenuItem({
|
||||
|
@ -192,12 +199,7 @@ define([
|
|||
caption : this.btnSettingsCaption,
|
||||
canFocused: false
|
||||
}),
|
||||
new Common.UI.MenuItem({
|
||||
el : $('#fm-btn-help',this.el),
|
||||
action : 'help',
|
||||
caption : this.btnHelpCaption,
|
||||
canFocused: false
|
||||
}),
|
||||
this.miHelp,
|
||||
new Common.UI.MenuItem({
|
||||
el : $('#fm-btn-back',this.el),
|
||||
action : 'exit',
|
||||
|
@ -211,8 +213,7 @@ define([
|
|||
// 'saveas' : (new DE.Views.FileMenuPanels.ViewSaveAs({menu:me})).render(),
|
||||
'opts' : (new DE.Views.FileMenuPanels.Settings({menu:me})).render(),
|
||||
'info' : (new DE.Views.FileMenuPanels.DocumentInfo({menu:me})).render(),
|
||||
'rights' : (new DE.Views.FileMenuPanels.DocumentRights({menu:me})).render(),
|
||||
'help' : (new DE.Views.FileMenuPanels.Help({menu:me})).render()
|
||||
'rights' : (new DE.Views.FileMenuPanels.DocumentRights({menu:me})).render()
|
||||
};
|
||||
|
||||
me.$el.find('.content-box').hide();
|
||||
|
@ -243,7 +244,7 @@ define([
|
|||
applyMode: function() {
|
||||
this.miPrint[this.mode.canPrint?'show':'hide']();
|
||||
this.miRename[(this.mode.canRename && !this.mode.isDesktopApp) ?'show':'hide']();
|
||||
this.miProtect[(this.mode.isProtectSupport && this.mode.isEdit && this.mode.isDesktopApp && this.mode.isOffline) ?'show':'hide']();
|
||||
this.miProtect[(this.mode.isEdit && this.mode.isDesktopApp && this.mode.isOffline) ?'show':'hide']();
|
||||
this.miProtect.$el.find('+.devider')[!this.mode.isDisconnected?'show':'hide']();
|
||||
this.miRecent[this.mode.canOpenRecent?'show':'hide']();
|
||||
this.miNew[this.mode.canCreateNew?'show':'hide']();
|
||||
|
@ -260,6 +261,9 @@ define([
|
|||
(this.document.info.sharingSettings&&this.document.info.sharingSettings.length>0 ||
|
||||
this.mode.sharingSettingsUrl&&this.mode.sharingSettingsUrl.length))?'show':'hide']();
|
||||
|
||||
this.miHelp[this.mode.canHelp ?'show':'hide']();
|
||||
this.miHelp.$el.prev()[this.mode.canHelp ?'show':'hide']();
|
||||
|
||||
this.mode.canBack ? this.$el.find('#fm-btn-back').show().prev().show() :
|
||||
this.$el.find('#fm-btn-back').hide().prev().hide();
|
||||
|
||||
|
@ -280,7 +284,7 @@ define([
|
|||
}
|
||||
}
|
||||
|
||||
if (this.mode.isProtectSupport && this.mode.isEdit && this.mode.isDesktopApp && this.mode.isOffline) {
|
||||
if (this.mode.isEdit && this.mode.isDesktopApp && this.mode.isOffline) {
|
||||
// this.$el.find('#fm-btn-back').hide();
|
||||
this.panels['protect'] = (new DE.Views.FileMenuPanels.ProtectDoc({menu:this})).render();
|
||||
this.panels['protect'].setMode(this.mode);
|
||||
|
@ -291,7 +295,10 @@ define([
|
|||
} else if (this.mode.canDownloadOrigin)
|
||||
$('a',this.miDownload.$el).text(this.textDownload);
|
||||
|
||||
this.panels['help'].setLangConfig(this.mode.lang);
|
||||
if (this.mode.canHelp) {
|
||||
this.panels['help'] = ((new DE.Views.FileMenuPanels.Help({menu: this})).render());
|
||||
this.panels['help'].setLangConfig(this.mode.lang);
|
||||
}
|
||||
|
||||
this.miHistory[this.mode.canUseHistory&&!this.mode.isDisconnected?'show':'hide']();
|
||||
},
|
||||
|
@ -325,7 +332,7 @@ define([
|
|||
if ( menu ) {
|
||||
var item = this._getMenuItem(menu),
|
||||
panel = this.panels[menu];
|
||||
if ( item.isDisabled() ) {
|
||||
if ( item.isDisabled() || !item.isVisible()) {
|
||||
item = this._getMenuItem(defMenu);
|
||||
panel = this.panels[defMenu];
|
||||
}
|
||||
|
|
|
@ -69,7 +69,9 @@ define([
|
|||
'<% _.each(rows, function(row) { %>',
|
||||
'<tr>',
|
||||
'<% _.each(row, function(item) { %>',
|
||||
'<td><span class="btn-doc-format img-doc-format <%= item.imgCls %>" format="<%= item.type %>"/></td>',
|
||||
'<td><div><svg class="btn-doc-format" format="<%= item.type %>">',
|
||||
'<use xlink:href="#svg-format-<%= item.imgCls %>"></use>',
|
||||
'</svg></div></td>',
|
||||
'<% }) %>',
|
||||
'</tr>',
|
||||
'<% }) %>',
|
||||
|
@ -530,7 +532,11 @@ define([
|
|||
template: _.template([
|
||||
'<h3 style="margin-top: 20px;"><%= scope.fromBlankText %></h3><hr noshade />',
|
||||
'<div class="blank-document">',
|
||||
'<div class="blank-document-btn img-doc-format"></div>',
|
||||
'<div class="blank-document-btn">',
|
||||
'<svg class="btn-doc-format">',
|
||||
'<use xlink:href="#svg-format-docx"></use>',
|
||||
'</svg>',
|
||||
'</div>',
|
||||
'<div class="blank-document-info">',
|
||||
'<h3><%= scope.newDocumentText %></h3>',
|
||||
'<%= scope.newDescriptionText %>',
|
||||
|
@ -540,7 +546,13 @@ define([
|
|||
'<div class="thumb-list">',
|
||||
'<% _.each(docs, function(item) { %>',
|
||||
'<div class="thumb-wrap" template="<%= item.url %>">',
|
||||
'<div class="thumb"<% if (!_.isEmpty(item.icon)) { %> style="background-image: url(<%= item.icon %>);" <% } %> />',
|
||||
'<div class="thumb"',
|
||||
'<% if (!_.isEmpty(item.icon)) { ' +
|
||||
'print(\" style=\'background-image: url(item.icon);\'>\")' +
|
||||
' } else { ' +
|
||||
'print(\"><svg class=\'btn-doc-format\'><use xlink:href=\'#svg-format-blank\'></use></svg>\")' +
|
||||
' } %>',
|
||||
'</div>',
|
||||
'<div class="title"><%= item.name %></div>',
|
||||
'</div>',
|
||||
'<% }) %>',
|
||||
|
|
|
@ -66,8 +66,8 @@ define([
|
|||
}, options || {});
|
||||
|
||||
this.template = [
|
||||
'<div class="box" style="height: 150px;">',
|
||||
'<div class="input-row hidden" style="margin-bottom: 10px;">',
|
||||
'<div class="box" style="height: 260px;">',
|
||||
'<div class="input-row" style="margin-bottom: 10px;">',
|
||||
'<button type="button" class="btn btn-text-default auto" id="id-dlg-hyperlink-external" style="border-top-right-radius: 0;border-bottom-right-radius: 0;">', this.textExternal,'</button>',
|
||||
'<button type="button" class="btn btn-text-default auto" id="id-dlg-hyperlink-internal" style="border-top-left-radius: 0;border-bottom-left-radius: 0;">', this.textInternal,'</button>',
|
||||
'</div>',
|
||||
|
@ -202,7 +202,7 @@ define([
|
|||
|
||||
for (var i=0; i<count; i++) {
|
||||
var anchor = anchors[i],
|
||||
level = anchors[i].asc_GetHeadingLevel(),
|
||||
level = anchors[i].asc_GetHeadingLevel()+1,
|
||||
hasParent = true;
|
||||
if (anchor.asc_GetType()== Asc.c_oAscHyperlinkAnchor.Heading){
|
||||
if (level>prev_level)
|
||||
|
@ -279,10 +279,9 @@ define([
|
|||
if (props) {
|
||||
var me = this;
|
||||
|
||||
// var bookmark = props.get_Bookmark(),
|
||||
// type = (bookmark === null || bookmark=='') ? c_oHyperlinkType.WebLink : c_oHyperlinkType.InternalLink;
|
||||
var bookmark = props.get_Bookmark(),
|
||||
type = (bookmark === null || bookmark=='') ? c_oHyperlinkType.WebLink : c_oHyperlinkType.InternalLink;
|
||||
|
||||
var type = c_oHyperlinkType.WebLink;
|
||||
(type == c_oHyperlinkType.WebLink) ? me.btnExternal.toggle(true) : me.btnInternal.toggle(true);
|
||||
me.ShowHideElem(type);
|
||||
|
||||
|
@ -335,7 +334,7 @@ define([
|
|||
|
||||
url = url.replace(new RegExp("%20",'g')," ");
|
||||
props.put_Value(url);
|
||||
// props.put_Bookmark(null);
|
||||
props.put_Bookmark(null);
|
||||
display = url;
|
||||
} else {
|
||||
var rec = this.internalList.getSelectedRec();
|
||||
|
|
|
@ -183,7 +183,7 @@ define([
|
|||
} else {
|
||||
btn.panel['hide']();
|
||||
}
|
||||
if (this.mode.isEdit) DE.getController('Toolbar').DisableToolbar(state==true);
|
||||
DE.getController('Toolbar').DisableToolbar(state==true);
|
||||
if (!this.supressEvents)
|
||||
Common.NotificationCenter.trigger('layout:changed', 'leftmenu');
|
||||
},
|
||||
|
|
|
@ -47,7 +47,7 @@ define([ 'text!documenteditor/main/app/template/MailMergeEmailDlg.template',
|
|||
options: {
|
||||
alias: 'MailMergeEmail',
|
||||
contentWidth: 500,
|
||||
height: 460
|
||||
height: 435
|
||||
},
|
||||
|
||||
initialize : function(options) {
|
||||
|
@ -169,7 +169,7 @@ define([ 'text!documenteditor/main/app/template/MailMergeEmailDlg.template',
|
|||
},
|
||||
|
||||
_onMessage: function(msg) {
|
||||
if (msg /*&& msg.Referer == "onlyoffice"*/) {
|
||||
if (msg && msg.Referer == "onlyoffice") {
|
||||
// if ( !_.isEmpty(msg.folder) ) {
|
||||
// this.trigger('mailmergefolder', this, msg.folder); // save last folder url
|
||||
// }
|
||||
|
|
|
@ -116,7 +116,7 @@ define([
|
|||
},
|
||||
|
||||
_onMessage: function(msg) {
|
||||
if (msg /*&& msg.Referer == "onlyoffice"*/ && msg.file !== undefined) {
|
||||
if (msg && msg.Referer == "onlyoffice" && msg.file !== undefined) {
|
||||
Common.NotificationCenter.trigger('window:close', this);
|
||||
var me = this;
|
||||
setTimeout(function() {
|
||||
|
|
|
@ -120,7 +120,7 @@ define([
|
|||
},
|
||||
|
||||
_onMessage: function(msg) {
|
||||
if (msg /*&& msg.Referer == "onlyoffice"*/) {
|
||||
if (msg && msg.Referer == "onlyoffice") {
|
||||
if ( !_.isEmpty(msg.error) ) {
|
||||
this.trigger('mailmergeerror', this, msg.error);
|
||||
}
|
||||
|
|
|
@ -58,14 +58,20 @@ define([
|
|||
}, options || {});
|
||||
|
||||
this.template = [
|
||||
'<div class="box" style="height: 40px;">',
|
||||
'<table cols="2" style="width: 100%;margin-bottom: 10px;">',
|
||||
'<div class="box" style="height: 85px;">',
|
||||
'<table cols="2" style="width: 100%;">',
|
||||
'<tr>',
|
||||
'<td class="padding-small" style="padding-right: 10px;">',
|
||||
'<td colspan="2">',
|
||||
'<label class="input-label">' + this.textPreset + '</label>',
|
||||
'<div id="page-size-combo-preset" class="input-group-nr" style="margin-bottom: 10px;"></div>',
|
||||
'</td>',
|
||||
'</tr>',
|
||||
'<tr>',
|
||||
'<td style="padding-right: 10px;">',
|
||||
'<label class="input-label">' + this.textWidth + '</label>',
|
||||
'<div id="page-size-spin-width"></div>',
|
||||
'</td>',
|
||||
'<td class="padding-small">',
|
||||
'<td>',
|
||||
'<label class="input-label">' + this.textHeight + '</label>',
|
||||
'<div id="page-size-spin-height"></div>',
|
||||
'</td>',
|
||||
|
@ -83,6 +89,7 @@ define([
|
|||
|
||||
this.spinners = [];
|
||||
this._noApply = false;
|
||||
this.isOrientPortrait = true;
|
||||
|
||||
Common.UI.Window.prototype.initialize.call(this, this.options);
|
||||
},
|
||||
|
@ -100,6 +107,10 @@ define([
|
|||
minValue: 0
|
||||
});
|
||||
this.spinners.push(this.spnWidth);
|
||||
this.spnWidth.on('change', _.bind(function(field, newValue, oldValue, eOpts){
|
||||
if (!this._noApply && this.cmbPreset.getValue() >-1)
|
||||
this.cmbPreset.setValue(-1);
|
||||
}, this));
|
||||
|
||||
this.spnHeight = new Common.UI.MetricSpinner({
|
||||
el: $('#page-size-spin-height'),
|
||||
|
@ -111,6 +122,48 @@ define([
|
|||
minValue: 0
|
||||
});
|
||||
this.spinners.push(this.spnHeight);
|
||||
this.spnHeight.on('change', _.bind(function(field, newValue, oldValue, eOpts){
|
||||
if (!this._noApply && this.cmbPreset.getValue() >-1)
|
||||
this.cmbPreset.setValue(-1);
|
||||
}, this));
|
||||
|
||||
this.cmbPreset = new Common.UI.ComboBox({
|
||||
el: $('#page-size-combo-preset'),
|
||||
cls: 'input-group-nr',
|
||||
menuStyle: 'min-width: 183px;max-height: 208px;',
|
||||
editable: false,
|
||||
scrollAlwaysVisible: true,
|
||||
data: [
|
||||
{ value: 0, displayValue: 'US Letter', size: [215.9, 279.4]},
|
||||
{ value: 1, displayValue: 'US Legal', size: [215.9, 355.6]},
|
||||
{ value: 2, displayValue: 'A4', size: [210, 297]},
|
||||
{ value: 3, displayValue: 'A5', size: [148, 210]},
|
||||
{ value: 4, displayValue: 'B5', size: [176, 250]},
|
||||
{ value: 5, displayValue: 'Envelope #10', size: [104.8, 241.3]},
|
||||
{ value: 6, displayValue: 'Envelope DL', size: [110, 220]},
|
||||
{ value: 7, displayValue: 'Tabloid', size: [279.4, 431.8]},
|
||||
{ value: 8, displayValue: 'A3', size: [297, 420]},
|
||||
{ value: 9, displayValue: 'Tabloid Oversize', size: [304.8, 457.1]},
|
||||
{ value: 10, displayValue: 'ROC 16K', size: [196.8, 273]},
|
||||
{ value: 11, displayValue: 'Envelope Choukei 3', size: [119.9, 234.9]},
|
||||
{ value: 12, displayValue: 'Super B/A3', size: [330.2, 482.5]},
|
||||
{ value: 13, displayValue: 'A0', size: [841, 1189]},
|
||||
{ value: 14, displayValue: 'A1', size: [594, 841]},
|
||||
{ value: 16, displayValue: 'A2', size: [420, 594]},
|
||||
{ value: 17, displayValue: 'A6', size: [105, 148]},
|
||||
{ value: -1, displayValue: this.txtCustom, size: []}
|
||||
]
|
||||
});
|
||||
this.cmbPreset.setValue(-1);
|
||||
this.cmbPreset.on('selected', _.bind(function(combo, record) {
|
||||
this._noApply = true;
|
||||
if (record.value<0) {
|
||||
} else {
|
||||
this.spnWidth.setValue(Common.Utils.Metric.fnRecalcFromMM(this.isOrientPortrait ? record.size[0] : record.size[1]), true);
|
||||
this.spnHeight.setValue(Common.Utils.Metric.fnRecalcFromMM(this.isOrientPortrait ? record.size[1] : record.size[0]), true);
|
||||
}
|
||||
this._noApply = false;
|
||||
}, this));
|
||||
|
||||
var $window = this.getChild();
|
||||
$window.find('.dlg-btn').on('click', _.bind(this.onBtnClick, this));
|
||||
|
@ -139,10 +192,18 @@ define([
|
|||
|
||||
setSettings: function (props) {
|
||||
if (props) {
|
||||
this.isOrientPortrait = (props.get_W() < props.get_H());
|
||||
this.spnWidth.setMinValue(Common.Utils.Metric.fnRecalcFromMM(props.get_LeftMargin() + props.get_RightMargin() + 12.7));
|
||||
this.spnWidth.setValue(Common.Utils.Metric.fnRecalcFromMM(props.get_W()), true);
|
||||
this.spnHeight.setMinValue(Common.Utils.Metric.fnRecalcFromMM(props.get_TopMargin() + props.get_BottomMargin() + 2.6));
|
||||
this.spnHeight.setValue(Common.Utils.Metric.fnRecalcFromMM(props.get_H()), true);
|
||||
var width = this.isOrientPortrait ? props.get_W() : props.get_H(),
|
||||
height = this.isOrientPortrait ? props.get_H() : props.get_W();
|
||||
var rec = this.cmbPreset.store.find(function(item){
|
||||
var size = item.get('size');
|
||||
return (Math.abs(size[0] - width) < 0.01 && Math.abs(size[1] - height) < 0.01);
|
||||
});
|
||||
this.cmbPreset.setValue((rec) ? rec.get('value') : -1);
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -165,6 +226,8 @@ define([
|
|||
textWidth: 'Width',
|
||||
textHeight: 'Height',
|
||||
cancelButtonText: 'Cancel',
|
||||
okButtonText: 'Ok'
|
||||
okButtonText: 'Ok',
|
||||
textPreset: 'Preset',
|
||||
txtCustom: 'Custom'
|
||||
}, DE.Views.PageSizeDialog || {}))
|
||||
});
|
|
@ -122,6 +122,9 @@ define([
|
|||
this.viewRequestedList.on('item:click', _.bind(this.onSelectSignature, this));
|
||||
this.viewValidList.on('item:click', _.bind(this.onSelectSignature, this));
|
||||
this.viewInvalidList.on('item:click', _.bind(this.onSelectSignature, this));
|
||||
this.viewRequestedList.on('item:contextmenu', _.bind(this.onItemContextMenu, this));
|
||||
this.viewValidList.on('item:contextmenu', _.bind(this.onItemContextMenu, this));
|
||||
this.viewInvalidList.on('item:contextmenu', _.bind(this.onItemContextMenu, this));
|
||||
|
||||
this.signatureMenu = new Common.UI.Menu({
|
||||
menuAlign : 'tr-br',
|
||||
|
@ -200,6 +203,26 @@ define([
|
|||
me.disableEditing(me._state.hasValid || me._state.hasInvalid);
|
||||
},
|
||||
|
||||
onItemContextMenu: function(picker, item, record, e){
|
||||
var menu = this.signatureMenu;
|
||||
if (menu.isVisible()) {
|
||||
menu.hide();
|
||||
}
|
||||
|
||||
var offsetParent = $(this.el).offset(),
|
||||
showPoint = [e.clientX*Common.Utils.zoom() - offsetParent.left + 5, e.clientY*Common.Utils.zoom() - offsetParent.top + 5];
|
||||
|
||||
this.showSignatureMenu(record, showPoint);
|
||||
|
||||
menu.menuAlign = 'tl-bl';
|
||||
menu.menuAlignEl = null;
|
||||
menu.setOffset(15, 5);
|
||||
menu.show();
|
||||
_.delay(function() {
|
||||
menu.cmpEl.focus();
|
||||
}, 10);
|
||||
},
|
||||
|
||||
onSelectSignature: function(picker, item, record, e){
|
||||
if (!record) return;
|
||||
|
||||
|
@ -211,50 +234,14 @@ define([
|
|||
return;
|
||||
}
|
||||
|
||||
var showPoint, me = this,
|
||||
currentTarget = $(e.currentTarget),
|
||||
parent = $(this.el),
|
||||
var currentTarget = $(e.currentTarget),
|
||||
offset = currentTarget.offset(),
|
||||
offsetParent = parent.offset();
|
||||
offsetParent = $(this.el).offset(),
|
||||
showPoint = [offset.left - offsetParent.left + currentTarget.width(), offset.top - offsetParent.top + currentTarget.height()/2];
|
||||
|
||||
showPoint = [offset.left - offsetParent.left + currentTarget.width(), offset.top - offsetParent.top + currentTarget.height()/2];
|
||||
|
||||
var menuContainer = parent.find('#menu-signature-container');
|
||||
if (!menu.rendered) {
|
||||
if (menuContainer.length < 1) {
|
||||
menuContainer = $('<div id="menu-signature-container" style="position: absolute; z-index: 10000;"><div class="dropdown-toggle" data-toggle="dropdown"></div></div>', menu.id);
|
||||
parent.append(menuContainer);
|
||||
}
|
||||
menu.render(menuContainer);
|
||||
menu.cmpEl.attr({tabindex: "-1"});
|
||||
|
||||
menu.on({
|
||||
'show:after': function(cmp) {
|
||||
if (cmp && cmp.menuAlignEl)
|
||||
cmp.menuAlignEl.toggleClass('over', true);
|
||||
},
|
||||
'hide:after': function(cmp) {
|
||||
if (cmp && cmp.menuAlignEl)
|
||||
cmp.menuAlignEl.toggleClass('over', false);
|
||||
}
|
||||
});
|
||||
}
|
||||
var requested = record.get('requested'),
|
||||
signed = (this._state.hasValid || this._state.hasInvalid);
|
||||
menu.items[0].setVisible(requested);
|
||||
menu.items[1].setVisible(!requested);
|
||||
menu.items[2].setVisible(requested || !record.get('invisible'));
|
||||
menu.items[3].setVisible(!requested);
|
||||
|
||||
menu.items[0].setDisabled(this._locked);
|
||||
menu.items[3].setDisabled(this._locked);
|
||||
|
||||
menu.items[1].cmpEl.attr('data-value', record.get('certificateId')); // view certificate
|
||||
menu.items[2].cmpEl.attr('data-value', signed ? 1 : 0); // view or edit signature settings
|
||||
menu.cmpEl.attr('data-value', record.get('guid'));
|
||||
|
||||
menuContainer.css({left: showPoint[0], top: showPoint[1]});
|
||||
this.showSignatureMenu(record, showPoint);
|
||||
|
||||
menu.menuAlign = 'tr-br';
|
||||
menu.menuAlignEl = currentTarget;
|
||||
menu.setOffset(-20, -currentTarget.height()/2 + 3);
|
||||
menu.show();
|
||||
|
@ -268,6 +255,46 @@ define([
|
|||
}
|
||||
},
|
||||
|
||||
showSignatureMenu: function(record, showPoint) {
|
||||
var menu = this.signatureMenu,
|
||||
parent = $(this.el),
|
||||
menuContainer = parent.find('#menu-signature-container');
|
||||
if (!menu.rendered) {
|
||||
if (menuContainer.length < 1) {
|
||||
menuContainer = $('<div id="menu-signature-container" style="position: absolute; z-index: 10000;"><div class="dropdown-toggle" data-toggle="dropdown"></div></div>', menu.id);
|
||||
parent.append(menuContainer);
|
||||
}
|
||||
menu.render(menuContainer);
|
||||
menu.cmpEl.attr({tabindex: "-1"});
|
||||
|
||||
menu.on({
|
||||
'show:after': function(cmp) {
|
||||
if (cmp && cmp.menuAlignEl)
|
||||
cmp.menuAlignEl.toggleClass('over', true);
|
||||
},
|
||||
'hide:after': function(cmp) {
|
||||
if (cmp && cmp.menuAlignEl)
|
||||
cmp.menuAlignEl.toggleClass('over', false);
|
||||
}
|
||||
});
|
||||
}
|
||||
var requested = record.get('requested'),
|
||||
signed = (this._state.hasValid || this._state.hasInvalid);
|
||||
menu.items[0].setVisible(requested);
|
||||
menu.items[1].setVisible(!requested);
|
||||
menu.items[2].setVisible(requested || !record.get('invisible'));
|
||||
menu.items[3].setVisible(!requested);
|
||||
|
||||
menu.items[0].setDisabled(this._locked);
|
||||
menu.items[3].setDisabled(this._locked);
|
||||
|
||||
menu.items[1].cmpEl.attr('data-value', record.get('certificateId')); // view certificate
|
||||
menu.items[2].cmpEl.attr('data-value', signed ? 1 : 0); // view or edit signature settings
|
||||
menu.cmpEl.attr('data-value', record.get('guid'));
|
||||
|
||||
menuContainer.css({left: showPoint[0], top: showPoint[1]});
|
||||
},
|
||||
|
||||
onMenuSignatureClick: function(menu, item) {
|
||||
var guid = menu.cmpEl.attr('data-value');
|
||||
switch (item.value) {
|
||||
|
|
|
@ -262,6 +262,13 @@
|
|||
|
||||
<script src="../../../vendor/svg-injector/svg-injector.min.js"></script>
|
||||
<img class="inline-svg" src="../../common/main/resources/img/header/buttons.svg">
|
||||
<img class="inline-svg" src="../../common/main/resources/img/doc-formats/docx.svg">
|
||||
<img class="inline-svg" src="../../common/main/resources/img/doc-formats/pdf.svg">
|
||||
<img class="inline-svg" src="../../common/main/resources/img/doc-formats/txt.svg">
|
||||
<img class="inline-svg" src="../../common/main/resources/img/doc-formats/odt.svg">
|
||||
<img class="inline-svg" src="../../common/main/resources/img/doc-formats/rtf.svg">
|
||||
<img class="inline-svg" src="../../common/main/resources/img/doc-formats/html.svg">
|
||||
<img class="inline-svg" src="../../common/main/resources/img/doc-formats/blank.svg">
|
||||
<script>
|
||||
var svgpoints = document.querySelectorAll('img.inline-svg');
|
||||
SVGInjector(svgpoints);
|
||||
|
|
|
@ -283,6 +283,13 @@
|
|||
</script>
|
||||
|
||||
<inline src="resources/img/header/buttons.svg" />
|
||||
<inline src="resources/img/doc-formats/docx.svg" />
|
||||
<inline src="resources/img/doc-formats/pdf.svg" />
|
||||
<inline src="resources/img/doc-formats/txt.svg" />
|
||||
<inline src="resources/img/doc-formats/odt.svg" />
|
||||
<inline src="resources/img/doc-formats/rtf.svg" />
|
||||
<inline src="resources/img/doc-formats/html.svg" />
|
||||
<inline src="resources/img/doc-formats/blank.svg" />
|
||||
|
||||
<div id="viewport"></div>
|
||||
<script data-main="app" src="../../../vendor/requirejs/require.js"></script>
|
||||
|
|
|
@ -271,6 +271,14 @@
|
|||
"Common.Views.ReviewChangesDialog.txtReject": "Reject",
|
||||
"Common.Views.ReviewChangesDialog.txtRejectAll": "Reject All Changes",
|
||||
"Common.Views.ReviewChangesDialog.txtRejectCurrent": "Reject Current Change",
|
||||
"Common.Views.ReviewPopover.textAdd": "Add",
|
||||
"Common.Views.ReviewPopover.textAddReply": "Add Reply",
|
||||
"Common.Views.ReviewPopover.textCancel": "Cancel",
|
||||
"Common.Views.ReviewPopover.textClose": "Close",
|
||||
"Common.Views.ReviewPopover.textEdit": "OK",
|
||||
"Common.Views.ReviewPopover.textOpenAgain": "Open Again",
|
||||
"Common.Views.ReviewPopover.textReply": "Reply",
|
||||
"Common.Views.ReviewPopover.textResolve": "Resolve",
|
||||
"Common.Views.SignDialog.cancelButtonText": "Cancel",
|
||||
"Common.Views.SignDialog.okButtonText": "Ok",
|
||||
"Common.Views.SignDialog.textBold": "Bold",
|
||||
|
@ -1419,6 +1427,7 @@
|
|||
"DE.Views.PageSizeDialog.textPreset": "Preset",
|
||||
"DE.Views.PageSizeDialog.textTitle": "Page Size",
|
||||
"DE.Views.PageSizeDialog.textWidth": "Width",
|
||||
"DE.Views.PageSizeDialog.textPreset": "Preset",
|
||||
"DE.Views.PageSizeDialog.txtCustom": "Custom",
|
||||
"DE.Views.ParagraphSettings.strLineHeight": "Line Spacing",
|
||||
"DE.Views.ParagraphSettings.strParagraphSpacing": "Paragraph Spacing",
|
||||
|
|
|
@ -20,13 +20,17 @@
|
|||
"src": "ProgramInterface/LayoutTab.htm",
|
||||
"name": "Registerkarte Layout"
|
||||
},
|
||||
{
|
||||
"src": "ProgramInterface/ReferencesTab.htm",
|
||||
"name": "Registerkarte Referenzen"
|
||||
},
|
||||
{
|
||||
"src": "ProgramInterface/ReviewTab.htm",
|
||||
"name": "Registerkarte Überprüfen"
|
||||
"name": "Registerkarte Zusammenarbeit"
|
||||
},
|
||||
{
|
||||
"src": "ProgramInterface/PluginsTab.htm",
|
||||
"name": "Registerkarte Plug-in"
|
||||
"name": "Registerkarte Plug-ins"
|
||||
},
|
||||
{
|
||||
"src": "UsageInstructions/ChangeColorScheme.htm",
|
||||
|
@ -145,6 +149,14 @@
|
|||
"src": "UsageInstructions/InsertTextObjects.htm",
|
||||
"name": "Textobjekte einfügen"
|
||||
},
|
||||
{
|
||||
"src": "UsageInstructions/InsertContentControls.htm",
|
||||
"name": "Inhaltssteuerelemente einfügen"
|
||||
},
|
||||
{
|
||||
"src": "UsageInstructions/CreateTableOfContents.htm",
|
||||
"name": "Inhaltsverzeichnis erstellen"
|
||||
},
|
||||
{
|
||||
"src": "UsageInstructions/AlignArrangeObjects.htm",
|
||||
"name": "Objekte auf einer Seite anordnen und ausrichten"
|
||||
|
@ -187,7 +199,7 @@
|
|||
},
|
||||
{
|
||||
"src": "HelpfulHints/Navigation.htm",
|
||||
"name": "Einstellungen und Navigationswerkzeuge anzeigen"
|
||||
"name": "Ansichtseinstellungen und Navigationswerkzeuge"
|
||||
},
|
||||
{
|
||||
"src": "HelpfulHints/Search.htm",
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
</div>
|
||||
<h1>Über den Dokumenteneditor</h1>
|
||||
<p>Der <b>Dokumenteneditor</b> ist eine <span class="onlineDocumentFeatures">Online-</span>Anwendung, mit der Sie Ihre Dokumente<span class="onlineDocumentFeatures"> direkt in Ihrem Browser</span> betrachten und bearbeiten können.</p>
|
||||
<p>Mit dem <b>Dokumenteneditor</b> können Sie Editiervorgänge durchführen, wie bei einem beliebigen Desktopeditor, editierte Dokumente unter Beibehaltung aller Formatierungsdetails drucken oder sie auf der Festplatte Ihres Rechners als PDF-, TXT-, DOCX-, DOC-, ODT-, RTF-, HTML- oder EPUB-Dateien speichern.</p>
|
||||
<p>Mit dem <b>Dokumenteneditor</b> können Sie Editiervorgänge durchführen, wie bei einem beliebigen Desktopeditor, editierte Dokumente unter Beibehaltung aller Formatierungsdetails drucken oder sie auf der Festplatte Ihres Rechners als DOCX-, PDF-, TXT-, ODT-, RTF- oder HTML-Dateien speichern.</p>
|
||||
<p>Wenn Sie mehr über die aktuelle Softwareversion und den Lizenzgeber erfahren möchten, klicken Sie auf das <img alt="Über" src="../images/about.png" /> Symbol in der linken Seitenleiste.</p>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -18,48 +18,49 @@
|
|||
<ul>
|
||||
<li class="onlineDocumentFeatures">gleichzeitiger Zugriff von mehreren Benutzern auf das bearbeitete Dokument</li>
|
||||
<li class="onlineDocumentFeatures">visuelle Markierung von Textabschnitten, die aktuell von anderen Benutzern bearbeitet werden</li>
|
||||
<li class="onlineDocumentFeatures">Synchronisierung von Änderungen mit einem Klick</li>
|
||||
<li class="onlineDocumentFeatures">Synchronisierung von Änderungen mit einem Klick.</li>
|
||||
<li class="onlineDocumentFeatures">Chat zum Austauschen von Ideen zu bestimmten Abschnitten des Dokuments</li>
|
||||
<li>Kommentare mit der Beschreibung von Aufgaben oder Problemen, die Folgehandlungen erforderlich machen</li>
|
||||
<li>Kommentare mit der Beschreibung von Aufgaben oder Problemen, die Folgehandlungen erforderlich machen.</li>
|
||||
</ul>
|
||||
<div class="onlineDocumentFeatures">
|
||||
<h3>Co-Bearbeitung</h3>
|
||||
<p>Im <b>Dokumenteneditor</b> stehen die folgenden Modelle für die Co-Bearbeitung zur Verfügung. Standardmäßig ist der <b>Schnellmodus</b> aktiviert. Die Änderungen von anderen Benutzern werden in Echtzeit angezeigt. Im Modus <b>Strikt</b> werden die Änderungen von anderen Nutzern verborgen, bis Sie auf das Symbol <b>Speichern</b> <img alt="Speichern" src="../images/saveupdate.png" /> klicken, um Ihre eigenen Änderungen zu speichern und die Änderungen von anderen anzunehmen. Der Modus kann unter <a href="../HelpfulHints/AdvancedSettings.htm" onclick="onhyperlinkclick(this)">Erweiterte Einstellungen</a> festgelegt werden.</p>
|
||||
<p>Im <b>Dokumenteneditor</b> stehen die folgenden Modelle für die Co-Bearbeitung zur Verfügung. Standardmäßig ist der <b>Schnellmodus</b> aktiviert. Die Änderungen von anderen Benutzern werden in Echtzeit angezeigt. Im Modus <b>Strikt</b> werden die Änderungen von anderen Nutzern verborgen, bis Sie auf das Symbol <b>Speichern</b> <img alt="Speichern" src="../images/saveupdate.png" /> klicken, um Ihre eigenen Änderungen zu speichern und die Änderungen von anderen anzunehmen. Der Modus kann unter <a href="../HelpfulHints/AdvancedSettings.htm" onclick="onhyperlinkclick(this)">Erweiterte Einstellungen</a> festgelegt werden. Sie können den gewünschten Modus auch in der Registerkarte <b>Zusammenarbeit</b> in der oberen Symbolleiste festlegen, klicken Sie dazu einfach auf das Symbol <img alt="Co-Bearbeitung" src="../images/coeditingmode.png" /> <b>Co-Bearbeitung</b>.</p>
|
||||
<p><img alt="Menü Co-Bearbeitung" src="../images/coeditingmodemenu.png" /></p>
|
||||
<p>Wenn ein Dokument im Modus <b>Strikt</b> von mehreren Benutzern gleichzeitig bearbeitet wird, werden die bearbeiteten Textpassagen mit gestrichelten Linien in verschiedenen Farben markiert. Wenn Sie den Mauszeiger über eine der bearbeiteten Passagen bewegen, wird der Name des Benutzers angezeigt, der diese Passage aktuell bearbeitet. Im <b>Schnellmodus</b> werden die Aktionen und die Namen der Co-Editoren angezeigt, sobald sie eine Textstelle bearbeitet haben.</p>
|
||||
<p>Die Anzahl der Benutzer, die am aktuellen Dokument arbeiten, wird in der linken unteren Ecke auf der Statusleiste angegeben - <img alt="Anzahl der Benutzer" src="../images/usersnumber.png" />. Wenn Sie sehen möchten, wer gerade die Datei gerade bearbeitet, können Sie auf dieses Symbol klicken oder den Bereich <b>Chat</b> öffnen, der eine vollständige Liste aller Benutzer enthält.</p>
|
||||
<p>Wenn niemand die Datei anzeigt oder bearbeitet, sieht das Symbol in der Kopfzeile des Editors folgendermaßen aus: <img alt="Zugriffsrechte verwalten" src="../images/access_rights.png" /> über dieses Symbol können Sie die Benutzer verwalten, die direkt aus dem Dokument auf die Datei zugreifen können; neue Benutzer einladen und ihnen die Berechtigung zum Bearbeiten, Lesen oder Überprüfen erteilen oder Benutzern Zugriffsrechte für die Datei verweigern. Klicken Sie auf dieses Symbol <img alt="Anzahl der Benutzer" src="../images/usersnumber.png" />, um den Zugriff auf die Datei zu verwalten. Sie können die Datei auch verwalten, wenn andere Benutzer aktuell mit der Bearbeitung oder Anzeige des Dokuments beschäftigt sind.</p>
|
||||
<p>Sobald einer der Benutzer Änderungen durch Klicken auf das Symbol <img alt="Speichern" src="../images/savewhilecoediting.png" /> speichert, sehen die anderen Benutzer in der Statusleiste eine Notiz über vorliegende Aktualisierungen. Um die Änderungen zu speichern und die Aktualisierungen zu erhalten, klicken Sie aufs Symbol <img alt="Speichern" src="../images/saveupdate.png" /> in der linken oberen Ecke der oberen Symbolleiste. Die Updates werden hervorgehoben, damit Sie nachvollziehen können, was genau geändert wurde.</p>
|
||||
<p>Die Anzahl der Benutzer, die am aktuellen Dokument arbeiten, wird in der linken unteren Ecke auf der Statusleiste angegeben - <img alt="Anzahl der Benutzer" src="../images/usersnumber.png" />. Wenn Sie sehen möchten wer die Datei aktuell bearbeitet, können Sie auf dieses Symbol klicken oder den Bereich <b>Chat</b> öffnen, der eine vollständige Liste aller Benutzer enthält.</p>
|
||||
<p>Wenn niemand die Datei anzeigt oder bearbeitet, sieht das Symbol in der Kopfzeile des Editors folgendermaßen aus: <img alt="Zugriffsrechte verwalten" src="../images/access_rights.png" /> über dieses Symbol können Sie die Benutzer verwalten, die direkt aus dem Dokument auf die Datei zugreifen können; neue Benutzer einladen und ihnen die Berechtigung zum Bearbeiten, Lesen oder Überprüfen erteilen oder Benutzern Zugriffsrechte für die Datei verweigern. Klicken Sie auf dieses Symbol <img alt="Anzahl der Benutzer" src="../images/usersnumber.png" />, um den Zugriff auf die Datei zu verwalten. Sie können die Datei auch verwalten, wenn andere Benutzer aktuell mit der Bearbeitung oder Anzeige des Dokuments beschäftigt sind. Sie können die Zugriffsrechte auch in der Registerkarte <b>Zusammenarbeit</b> in der oberen Symbolleiste festlegen, klicken Sie dazu einfach auf das Symbol <img alt="Teilen" src="../images/sharingicon.png" /> <b>Teilen</b>.</p>
|
||||
<p>Sobald einer der Benutzer Änderungen durch Klicken auf das Symbol <img alt="Speichern" src="../images/savewhilecoediting.png" /> speichert, sehen die anderen Benutzer in der Statusleiste eine Notiz über vorliegende Aktualisierungen. Um Ihre eigenen Änderungen zu speichern, so dass diese auch von den anderen Benutzern eingesehen werden können und um die Aktualisierungen Ihrer Co-Editoren einzusehen, klicken die Aktualisierungen zu erhalten, klicken Sie in der oberen linken Ecke der oberen Symbolleiste auf <img alt="Speichern" src="../images/saveupdate.png" />. Die Updates werden hervorgehoben, damit Sie nachvollziehen können, was genau geändert wurde.</p>
|
||||
<p>Sie können festlegen, welche Änderungen bei der Co-Bearbeitung hervorgehoben werden sollen: Klicken Sie dazu in der Registerkarte <b>Datei</b> auf die Option <b>Erweiterte Einstellungen</b> und wählen Sie zwischen <b>keine</b>, <b>alle</b> und <b>letzte</b> Änderungen in Echtzeit. Wenn Sie die Option <b>Alle anzeigen</b> auswählen, werden alle während der aktuellen Sitzung vorgenommenen Änderungen hervorgehoben. Wenn Sie die Option <b>Letzte anzeigen</b> auswählen, werden alle Änderungen hervorgehoben, die Sie vorgenommen haben, seit Sie das letzte Mal das Symbol Speichern <img alt="Speichern" src="../images/saveupdate.png" /> angeklickt haben. Wenn Sie die Option <b>Keine anzeigen</b> auswählen, werden die während der aktuellen Sitzung vorgenommenen Änderungen nicht hervorgehoben.</p>
|
||||
<h3 id="chat">Chat</h3>
|
||||
<p>Mit diesem Tool können Sie die Co-Bearbeitung spontan bei Bedarf koordinieren, beispielsweise um mit Ihren Mitarbeitern zu vereinbaren, wer was macht, welchen Absatz Sie jetzt bearbeiten usw.</p>
|
||||
<p>Die Chatnachrichten werden nur während einer Sitzung gespeichert. Um den Dokumentinhalt zu besprechen, ist es besser, Kommentare zu verwenden, die bis zum Löschen gespeichert werden.</p>
|
||||
<p>Um auf den Chat zuzugreifen und eine Nachricht für die anderen Benutzer zu hinterlassen:</p>
|
||||
<p>Die Chat-Nachrichten werden nur während einer aktiven Sitzung gespeichert. Um den Inhalt der Präsentation zu besprechen, ist es besser die Kommentarfunktion zu verwenden, da Kommentare bis zum Löschen gespeichert werden.</p>
|
||||
<p>Chat nutzen und Nachrichten für andere Benutzer erstellen:</p>
|
||||
<ol>
|
||||
<li>Klicken Sie auf das Symbol <img alt="Chat" src="../images/chaticon.png" /> in der linken Seitenleiste.</li>
|
||||
<li>Geben Sie Ihren Text in das entsprechende nachfolgende Feld ein.</li>
|
||||
<li>Klicken Sie auf <b>Senden</b>.</li>
|
||||
<li>Klicken Sie im linken Seitenbereich auf das Symbol <img alt="Chat" src="../images/chaticon.png" /> oder <br /> wechseln Sie in der oberen Symbolleiste in die Registerkarte <b>Zusammenarbeit</b> und klicken Sie auf die Schaltfläche <img alt="Chat" src="../images/chat_toptoolbar.png" /> <b>Chat</b>.</li>
|
||||
<li>Geben Sie Ihren Text ins entsprechende Feld unten ein.</li>
|
||||
<li>klicken Sie auf <b>Senden</b>.</li>
|
||||
</ol>
|
||||
<p>Alle Nachrichten, die von Benutzern hinterlassen wurden, werden links in der Leiste angezeigt. Liegen ungelesene neue Nachrichten vor, sieht das Chat-Symbol wie folgt aus - <img alt="Chat" src="../images/chaticon_new.png" />.</p>
|
||||
<p>Um die Leiste mit den Chat-Nachrichten zu schließen, klicken Sie erneut auf das <img alt="Chat" src="../images/chaticon.png" /> Symbol.</p>
|
||||
<p>Um die Leiste mit den Chat-Nachrichten zu schließen, klicken Sie in der linken Seitenleiste auf das Symbol <img alt="Chat" src="../images/chaticon.png" /> oder klicken Sie in der oberen Symbolleiste erneut auf <img alt="Chat" src="../images/chat_toptoolbar.png" /> <b>Chat</b>.</p>
|
||||
</div>
|
||||
<h3 id="comments">Kommentare</h3>
|
||||
<p>Einen Kommentar hinterlassen:</p>
|
||||
<ol>
|
||||
<li>Wählen Sie einen Textabschnitt, der Ihrer Meinung nach einen Fehler oder ein Problem enthält.</li>
|
||||
<li>Wechseln Sie in der oberen Symbolleiste in die Registerkarte <b>Einfügen</b> oder <b>Überprüfen</b> und klicken Sie in der rechten Seitenleiste auf <img alt="Kommentare" src="../images/comment_toptoolbar.png" /> <b>Kommentare</b>, oder<br /> nutzen Sie das <img alt="Kommentare" src="../images/commentsicon.png" /> Symbol in der linken Seitenleiste, um das <b>Kommentarfeld</b> zu öffnen, klicken Sie anschließend auf <b>Kommentar hinzufügen</b> oder<br /> klicken Sie mit der rechten Maustaste auf den gewünschten Textabschnitt und wählen Sie die Option <b>Kommentar hinzufügen</b> aus dem Kontextmenü aus.</li>
|
||||
<li>Wechseln Sie in der oberen Symbolleiste in die Registerkarte <b>Einfügen</b> oder <b>Zusammenarbeit</b> und klicken Sie in der rechten Seitenleiste auf <img alt="Kommentar" src="../images/comment_toptoolbar.png" /> <b>Kommentare</b>, oder<br /> nutzen Sie das <img alt="Kommentare" src="../images/commentsicon.png" /> Symbol in der linken Seitenleiste, um das <b>Kommentarfeld</b> zu öffnen, klicken Sie anschließend auf <b>Kommentar hinzufügen</b> oder<br /> klicken Sie mit der rechten Maustaste auf den gewünschten Textabschnitt und wählen Sie die Option <b>Kommentar hinzufügen</b> aus dem Kontextmenü aus.</li>
|
||||
<li>Geben Sie den gewünschten Text ein.</li>
|
||||
<li>Klicken Sie auf <b>Hinzufügen</b>.</li>
|
||||
<li>Klicken Sie auf <b>Kommentar hinzufügen/Hinzufügen</b>.</li>
|
||||
</ol>
|
||||
<p>Der Kommentar erscheint auf der Leiste links. Ein anderer Benutzer kann auf den hinzugefügten Kommentar antworten, Fragen stellen oder über die durchgeführte Arbeit berichten. Um auf einen Kommentar zu reagieren, klicken Sie auf unterhalb des Kommentars auf die Schaltfläche <b>Antwort hinzufügen</b>.</p>
|
||||
<p>Der Kommentar wird im linken Seitenbereich angezeigt. Alle Nutzer können nun auf hinzugefügte Kommentare antworten, Fragen stellen oder über durchgeführte Aktionen berichten. Klicken Sie dazu einfach in das Feld <b>Antworten</b>, direkt unter dem Kommentar.</p>
|
||||
<p>Der von Ihnen kommentierte Textabschnitt wird im Dokument markiert. Um den Kommentar einzusehen, klicken Sie innerhalb des Abschnitts mit der Maus. Wenn Sie diese Funktion deaktivieren möchten, wechseln Sie in die Registerkarte <b>Datei</b>, wählen Sie die Option <b>Erweiterte Einstellungen...</b> und deaktivieren Sie das Kästchen <b>Live-Kommentare einblenden</b>. In diesem Fall werden die kommentierten Abschnitte nur markiert, wenn Sie auf <img alt="Kommentare" src="../images/commentsicon.png" /> klicken.</p>
|
||||
<p>Sie können die von Ihnen hinzugefügten Kommentare wie folgt verwalten:</p>
|
||||
<p>Hinzugefügte Kommentare verwalten:</p>
|
||||
<ul>
|
||||
<li>bearbeiten - klicken Sie dazu auf <img alt="Bearbeiten" src="../images/editcommenticon.png" /></li>
|
||||
<li>löschen - klicken Sie dazu auf <img alt="Löschen" src="../images/deletecommenticon.png" /></li>
|
||||
<li>die Diskussion schließen - klicken Sie dazu auf <img alt="Gelöst" src="../images/resolveicon.png" />, wenn die im Kommentar angegebene Aufgabe oder das Problem gelöst wurde. Danach erhält die Diskussion, die Sie mit Ihrem Kommentar geöffnet haben, den Status aufgelöst. Um die Diskussion wieder zu öffnen, klicken Sie auf <img alt="Erneut öffnen" src="../images/resolvedicon.png" />. Wenn Sie diese Funktion deaktivieren möchten, wechseln Sie in die Registerkarte <b>Datei</b>, wählen Sie die Option <b>Erweiterte Einstellungen...</b> und deaktivieren Sie das Kästchen <b>Gelöste Kommentare einblenden</b>, klicken Sie anschließend auf <b>Anwenden</b>. In diesem Fall werden die kommentierten Abschnitte nur markiert, nur wenn Sie auf <img alt="Kommentare" src="../images/commentsicon.png" /> klicken.</li>
|
||||
<li>die Diskussion schließen - klicken Sie dazu auf <img alt="Gelöst" src="../images/resolveicon.png" />, wenn die im Kommentar angegebene Aufgabe oder das Problem gelöst wurde. Danach erhält die Diskussion, die Sie mit Ihrem Kommentar geöffnet haben, den Status aufgelöst. Um die Diskussion wieder zu öffnen, klicken Sie auf <img alt="Erneut öffnen" src="../images/resolvedicon.png" />. Wenn Sie diese Funktion deaktivieren möchten, wechseln Sie in die Registerkarte <b>Datei</b>, wählen Sie die Option <b>Erweiterte Einstellungen...</b> und deaktivieren Sie das Kästchen <b>Gelöste Kommentare einblenden</b>, klicken Sie anschließend auf <b>Anwenden</b>. In diesem Fall werden die kommentierten Abschnitte nur markiert, wenn Sie auf <img alt="Kommentare" src="../images/commentsicon.png" /> klicken.</li>
|
||||
</ul>
|
||||
<p>Wenn Sie im Modus <b>Strikt</b> arbeiten, werden neue Kommentare, die von den anderen Benutzern hinzugefügt wurden, erst eingeblendet, wenn Sie in der linken oberen Ecke der oberen Symbolleiste auf <img alt="Speichern" src="../images/saveupdate.png" /> geklickt haben.</p>
|
||||
<p>Um die Leiste mit den Kommentaren zu schließen, klicken Sie erneut auf <img alt="Kommentare" src="../images/commentsicon.png" /> in der linken Seitenleiste.</p>
|
||||
<p>Um die Leiste mit den Kommentaren zu schließen, klicken Sie in der linken Seitenleiste erneut auf <img alt="Kommentare" src="../images/commentsicon.png" />.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -56,7 +56,7 @@
|
|||
<tr>
|
||||
<td>Speichern unter...</td>
|
||||
<td>Strg+Unschalt+S</td>
|
||||
<td>Das Dokument wird in einem der unterstützten Dateiformate auf der Festplatte gespeichert: PDF, TXT, DOCX, ODT, HTML.</td>
|
||||
<td>Das Dokument wird in einem der unterstützten Dateiformate auf der Festplatte gespeichert: DOCX, PDF, TXT, ODT, RTF, HTML.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Vollbild</td>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<p>Um Änderungen anzuzeigen, die von einem Rezensenten vorgeschlagen wurden, aktivieren Sie die Option <b>Änderungen nachverfolgen</b>:</p>
|
||||
<ul>
|
||||
<li>Klicken Sie in der rechten unteren Statusleiste auf das <img alt="Änderungen nachverfolgen" src="../images/trackchangesstatusbar.png" /> Symbol oder</li>
|
||||
<li>wechseln Sie in der oberen Symbolleiste in die Registerkarte <b>Überprüfen</b> und klicken Sie auf <img alt="Änderungen nachverfolgen" src="../images/trackchangestoptoolbar.png" /> <b>Änderungen nachverfolgen</b>.</li>
|
||||
<li>Wechseln Sie in der oberen Symbolleiste in die Registerkarte <b>Zusammenarbeit</b> und klicken Sie auf <img alt="Änderungen nachverfolgen" src="../images/trackchangestoptoolbar.png" /> <b>Änderungen nachverfolgen</b>.</li>
|
||||
</ul>
|
||||
<p class="note"><b>Hinweis</b>: Der Rezensent muss die Option <b>Änderungen nachverfolgen</b> nicht aktivieren. Die Funktion ist standardmäßig aktiviert und kann nicht deaktiviert werden, wenn das Dokument mit Zugriffsrechten nur für die Überprüfung freigegeben ist.</p>
|
||||
<h3 id="displaymode">Modus Änderungen anzeigen lassen</h3>
|
||||
|
@ -29,7 +29,7 @@
|
|||
<ul>
|
||||
<li><b>Alle Änderungen (Bearbeiten)</b> - diese Option ist standardmäßig ausgewählt. Dieser Modus ermöglicht es Änderungsvorschläge anzuzeigen und das Dokument zu bearbeiten.</li>
|
||||
<li><b>Alle Änderungen angenommen</b> - In diesem Modus werden alle Änderungen so angezeigt, als wären sie angenommen worden. Die Änderungen werden nicht wirklich akzeptiert, die Funktion ermöglicht Ihnen lediglich eine Vorschau, für den Fall, dass alle Änderungen angenommen werden. In diesem Modus kann das Dokument nicht bearbeitet werden.</li>
|
||||
<li><b>Alle Änderungen abgelehnt</b> - In diesem Modus werden alle Änderungen so angezeigt, als wären sie abgelehnt worden. Die Änderungen werden nicht wirklich abgelehnt, die Funktion ermöglicht Ihnen lediglich eine Vorschau, für den Fall, dass alle Änderungen abgelehnt werden. In diesem Modus kann das Dokument nicht bearbeitet werden.</li>
|
||||
<li><b>Original</b> - In diesem Modus werden alle Änderungen so angezeigt, als wären sie abgelehnt worden. Die Änderungen werden nicht wirklich abgelehnt, die Funktion ermöglicht Ihnen lediglich eine Vorschau, für den Fall, dass alle Änderungen abgelehnt werden. In diesem Modus kann das Dokument nicht bearbeitet werden.</li>
|
||||
</ul>
|
||||
<h3 id="managechanges">Änderungen annehmen oder ablehnen</h3>
|
||||
<p>Über die Schaltflächen <img alt="Vorherige Änderung" src="../images/review_previous.png" /> <b>Vorherige</b> und <img alt="Nächste Änderung" src="../images/review_next.png" /> <b>Nächste</b> in der oberen Symbolleiste, können Sie zwischen den Änderungen navigieren.</p>
|
||||
|
|
|
@ -15,12 +15,11 @@
|
|||
</div>
|
||||
<h1>Rechtschreibprüfung</h1>
|
||||
<p>Der <b>Dokumenteneditor</b> bietet Ihnen die Möglichkeit, die Rechtschreibung Ihres Textes in einer bestimmten Sprache zu überprüfen und Fehler während der Bearbeitung zu korrigieren.</p>
|
||||
<p>Wählen Sie zunächst die <b>Sprache</b> für Ihr Dokument aus Wechseln Sie in der oberen Symbolleiste in die Registerkarte <b>Überprüfen</b> und klicken Sie auf das Symbol <img alt="Dokumentsprache festlegen" src="../images/document_language.png" /> <b>Sprache</b>. Wählen Sie nun im angezeigten Fenster die gewünschte Sprache und klicken Sie auf <b>OK</b>. Die ausgewählte Sprache wird auf das gesamte Dokument angewandt.</p>
|
||||
<p>Wählen Sie zunächst die <b>Sprache</b> für Ihr Dokument aus. Klicken Sie in der Statusleiste auf das Symbol <img alt="Dokumentsprache festlegen" src="../images/document_language.png" /> <b>Rechtschreibprüfung</b>. Wählen Sie nun im angezeigten Fenster die gewünschte Sprache und klicken Sie auf <b>OK</b>. Die ausgewählte Sprache wird auf das gesamte Dokument angewandt.</p>
|
||||
<p><img alt="Fenster Dokumentsprache festlegen" src="../images/document_language_window.png" /></p>
|
||||
<p>Um für einen Abschnitt im Dokument eine <b>andere Sprache auszuwählen</b>, markieren Sie den entsprechenden Abschnitt mit der Maus und klicken Sie anschließend auf das <img alt="Rechtschreibprüfung - Sprachenauswahl" src="../images/spellchecking_language.png" /> Menü in der Statusleiste.</p>
|
||||
<p>Rechtschreibprüfung <b>aktivieren</b>:</p>
|
||||
<ul>
|
||||
<li>Klicken Sie in der Registerkarte <b>Überprüfen</b> auf das Symbol <img alt="Rechtschreibprüfung obere Symbolleiste" src="../images/spellchecking_toptoolbar.png" /> <b>Rechtschreibprüfung</b> oder</li>
|
||||
<li>klicken Sie in der Statusleiste auf das Symbol <img alt="Rechtschreibprüfung deaktiviert" src="../images/spellcheckdeactivated.png" /> <b>Rechtschreibprüfung</b> oder</li>
|
||||
<li>öffnen Sie in der oberen Symbolleiste die Registerkarte <b>Datei</b> und wählen Sie die Option <b>erweiterte Einstellungen...</b>, setzen Sie das Häkchen in der Box <b>Rechtschreibprüfung aktivieren</b> und klicken Sie auf <b>Übernehmen</b>.</li>
|
||||
</ul>
|
||||
|
@ -34,7 +33,6 @@
|
|||
<p><img alt="Rechtschreibprüfung" src="../images/spellchecking.png" /></p>
|
||||
<p>Rechtschreibprüfung <b>deaktivieren</b>:</p>
|
||||
<ul>
|
||||
<li>klicken Sie in der Registerkarte <b>Überprüfen</b> auf das Symbol <img alt="Rechtschreibprüfung obere Symbolleiste" src="../images/spellchecking_toptoolbar_activated.png" /> <b>Rechtschreibprüfung</b> oder</li>
|
||||
<li>klicken Sie in der Statusleiste auf das Symbol <img alt="Rechtschreibprüfung aktiviert" src="../images/spellcheckactivated.png" /> <b>Rechtschreibprüfung</b> oder</li>
|
||||
<li>öffnen Sie in der oberen Symbolleiste die Registerkarte <b>Datei</b> und wählen Sie die Option <b>erweiterte Einstellungen...</b>, entfernen Sie das Häkchen in der Box <b>Rechtschreibprüfung aktivieren</b> und klicken Sie auf <b>Übernehmen</b>.</li>
|
||||
</ul>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<td>Rich Text Format<br />Plattformunabhängiges Datei- und Datenaustauschformat von Microsoft für formatierte Texte</td>
|
||||
<td>+</td>
|
||||
<td>+</td>
|
||||
<td></td>
|
||||
<td>+</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>TXT</td>
|
||||
|
|
|
@ -16,13 +16,13 @@
|
|||
<h1>Registerkarte einfügen</h1>
|
||||
<p>Die Registerkarte <b>Einfügen</b> ermöglicht das Hinzufügen einiger Seitenformatierungselemente sowie visueller Objekte und Kommentare.</p>
|
||||
<p><img alt="Registerkarte einfügen" src="../images/interface/inserttab.png" /></p>
|
||||
<p>Über diese Registerkarte können Sie:</p>
|
||||
<p>Sie können:</p>
|
||||
<ul>
|
||||
<li><a href="../UsageInstructions/PageBreaks.htm" onclick="onhyperlinkclick(this)">Seitenumbrüche</a>, <a href="../UsageInstructions/SectionBreaks.htm" onclick="onhyperlinkclick(this)">Abschnittsumbrüche</a> und <a href="../UsageInstructions/SetPageParameters.htm#columns" onclick="onhyperlinkclick(this)">Spaltenumbrüche</a> einfügen,</li>
|
||||
<li><a href="../UsageInstructions/InsertHeadersFooters.htm" onclick="onhyperlinkclick(this)">Kopf- und Fußzeilen</a> und <a href="../UsageInstructions/InsertPageNumbers.htm" onclick="onhyperlinkclick(this)">Seitenzahlen</a> einfügen,</li>
|
||||
<li><a href="../UsageInstructions/InsertTables.htm" onclick="onhyperlinkclick(this)">Tabellen</a>, <a href="../UsageInstructions/InsertImages.htm" onclick="onhyperlinkclick(this)">Bilder</a>, <a href="../UsageInstructions/InsertCharts.htm" onclick="onhyperlinkclick(this)">Diagramme</a> und <a href="../UsageInstructions/InsertAutoshapes.htm" onclick="onhyperlinkclick(this)">Formen</a> einfügen</li>
|
||||
<li><a href="../UsageInstructions/AddHyperlinks.htm" onclick="onhyperlinkclick(this)">Hyerlinks</a>, <a href="../UsageInstructions/InsertFootnotes.htm" onclick="onhyperlinkclick(this)">Fußnoten</a> und <a href="../HelpfulHints/CollaborativeEditing.htm#comments" onclick="onhyperlinkclick(this)">Kommentare</a> einfügen,</li>
|
||||
<li><a href="../UsageInstructions/InsertTextObjects.htm" onclick="onhyperlinkclick(this)">Textboxen und TextArt Objekte</a>, <a href="../UsageInstructions/InsertEquation.htm" onclick="onhyperlinkclick(this)">Gleichungen</a> und <a href="../UsageInstructions/InsertDropCap.htm" onclick="onhyperlinkclick(this)">Initialbuchstaben</a> einfügen.</li>
|
||||
<li><a href="../UsageInstructions/AddHyperlinks.htm" onclick="onhyperlinkclick(this)">Hyperlinks</a>, <a href="../HelpfulHints/CollaborativeEditing.htm#comments" onclick="onhyperlinkclick(this)">Kommentare</a> einfügen,</li>
|
||||
<li><a href="../UsageInstructions/InsertTextObjects.htm" onclick="onhyperlinkclick(this)">Textboxen und TextArt Objekte</a>, <a href="../UsageInstructions/InsertEquation.htm" onclick="onhyperlinkclick(this)">Gleichungen</a>, <a href="../UsageInstructions/InsertDropCap.htm" onclick="onhyperlinkclick(this)">Initialbuchstaben</a> und <a href="../UsageInstructions/InsertContentControls.htm" onclick="onhyperlinkclick(this)">Inhaltskontrollen</a> einfügen.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Registerkarte Plug-in</title>
|
||||
<title>Registerkarte Plug-ins</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Introducing the Document Editor user interface - Plugins tab" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
|
@ -13,20 +13,22 @@
|
|||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Suche" type="text" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Registerkarte Plug-in</h1>
|
||||
<p>Die Registerkarte <b>Plugins</b> ermöglicht den Zugriff auf erweiterte Bearbeitungsfunktionen mit verfügbaren Komponenten von Drittanbietern.</p>
|
||||
<p><img alt="Registerkarte Plug-in" src="../images/interface/pluginstab.png" /></p>
|
||||
<p>Derzeit stehen folgende Plug-ins zur Verfügung:</p>
|
||||
<h1>Registerkarte Plug-ins</h1>
|
||||
<p>Die Registerkarte <b>Plug-ins</b> ermöglicht den Zugriff auf erweiterte Bearbeitungsfunktionen mit verfügbaren Komponenten von Drittanbietern. Unter dieser Registerkarte können Sie auch Makros festlegen, um Routinevorgänge zu vereinfachen.</p>
|
||||
<p><img alt="Registerkarte Plug-ins" src="../images/interface/pluginstab.png" /></p>
|
||||
<p>Durch Anklicken der Schaltfläche <b>Makros</b> öffnet sich ein Fenster in dem Sie Ihre eigenen Makros erstellen und ausführen können. Um mehr über Makros zu erfahren lesen Sie bitte unsere <a target="_blank" href="https://api.onlyoffice.com/plugin/macros" onclick="onhyperlinkclick(this)">API-Dokumentation</a>.</p>
|
||||
<p>Derzeit stehen folgende standardmäßig folgende Plug-ins zur Verfügung:</p>
|
||||
<ul>
|
||||
<li><b>ClipArt</b> ermöglicht das Hinzufügen von Bildern aus der ClipArt-Sammlung.</li>
|
||||
<li><b>OCR</b> ermöglicht es, in einem Bild enthaltene Texte zu erkennen und in den Dokumenttext einzufügen.</li>
|
||||
<li><b>PhotoEditor</b> ermöglicht das Bearbeiten von Bildern: Zuschneiden, Größe ändern, Effekte anwenden usw.</li>
|
||||
<li><b>PhotoEditor</b> - Bearbeitung von Bildern: Zuschneiden, Größe ändern, Effekte anwenden usw.</li>
|
||||
<li><b>Speech</b> ermöglicht es, ausgewählten Text in Sprache zu konvertieren.</li>
|
||||
<li><b>Symbol Table</b> ermöglicht das Einfügen spezieller Symbole in Ihren Text.</li>
|
||||
<li><b>Translator</b> ermöglicht das Übersetzen von ausgewählten Textabschnitten in andere Sprachen.</li>
|
||||
<li><b>YouTube</b> ermöglicht das Einbetten von YouTube-Videos in Ihr Dokument.</li>
|
||||
<li><b>Symbol Table</b> - Einfügen von speziellen Symbolen in Ihren Text.</li>
|
||||
<li><b>Translator</b> - Übersetzen von ausgewählten Textabschnitten in andere Sprachen.</li>
|
||||
<li><b>YouTube</b> ermöglicht das Einbetten von YouTube-Videos in Ihrem Dokument.</li>
|
||||
</ul>
|
||||
<p>Um mehr über Plug-ins zu erfahren lesen Sie bitte unsere <a target="_blank" href="https://api.onlyoffice.com/plugin/basic" onclick="onhyperlinkclick(this)">API Dokumentation</a>. Alle derzeit als Open-Source verfügbaren Plug-in-Beispiele sind auf <a target="_blank" href="https://github.com/ONLYOFFICE/sdkjs-plugins" onclick="onhyperlinkclick(this)">GitHub</a> verfügbar.</p>
|
||||
<p>Die Plug-ins <b>Wordpress</b> und <b>EasyBib</b> können verwendet werden, wenn Sie die entsprechenden Dienste in Ihren Portaleinstellungen einrichten. Sie können die folgenden Anleitungen für die <a target="_blank" href="https://helpcenter.onlyoffice.com/server/windows/community/authorization-keys.aspx" onclick="onhyperlinkclick(this)">Serverversion</a> oder <a target="_blank" href="https://helpcenter.onlyoffice.com/tipstricks/authorization-keys-saas.aspx" onclick="onhyperlinkclick(this)">für die SaaS-Version</a> verwenden.</p>
|
||||
<p>Um mehr über Plug-ins zu erfahren lesen Sie bitte unsere <a target="_blank" href="https://api.onlyoffice.com/plugin/basic" onclick="onhyperlinkclick(this)">API-Dokumentation</a>. Alle derzeit als Open-Source verfügbaren Plug-in-Beispiele sind auf <a target="_blank" href="https://github.com/ONLYOFFICE/sdkjs-plugins" onclick="onhyperlinkclick(this)">GitHub</a> verfügbar.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -16,15 +16,15 @@
|
|||
<h1>Einführung in die Benutzeroberfläche des Dokumenteneditors</h1>
|
||||
<p>Der <b>Dokumenteneditor</b> verfügt über eine Benutzeroberfläche mit Registerkarten, in der Bearbeitungsbefehle nach Funktionalität in Registerkarten gruppiert sind.</p>
|
||||
<p><img alt="Editor" src="../images/interface/editorwindow.png" /></p>
|
||||
<p>Die Editor-Oberfläche besteht aus folgenden Hauptelementen:</p>
|
||||
<p>Die Oberfläche des Editors besteht aus folgenden Hauptelementen:</p>
|
||||
<ol>
|
||||
<li>In der <b>Kopfzeile des Editors</b> werden das Logo, die Menü-Registerkarten und der Name des Dokuments angezeigt sowie zwei Symbole auf der rechten Seite, über die Sie <a href="../HelpfulHints/CollaborativeEditing.htm" onclick="onhyperlinkclick(this)">Zugriffsrechte</a> festlegen und zur Dokumentenliste zurückkehren können.<p><img alt="Symbole in der Kopfzeile des Editors" src="../images/interface/rightpart.png" /></p>
|
||||
</li>
|
||||
<li>Abhängig von der ausgewählten Registerkarten werden in der <b>oberen Symbolleiste</b> eine Reihe von Bearbeitungsbefehlen angezeigt. Aktuell stehen die folgenden Registerkarten zur Verfügung: <a href="../ProgramInterface/FileTab.htm" onclick="onhyperlinkclick(this)">Datei</a>, <a href="../ProgramInterface/HomeTab.htm" onclick="onhyperlinkclick(this)">Start</a>, <a href="../ProgramInterface/InsertTab.htm" onclick="onhyperlinkclick(this)">Einfügen</a>, <a href="../ProgramInterface/LayoutTab.htm" onclick="onhyperlinkclick(this)">Layout</a>, <a href="../ProgramInterface/ReviewTab.htm" onclick="onhyperlinkclick(this)">Überprüfen</a>, <a href="../ProgramInterface/PluginsTab.htm" onclick="onhyperlinkclick(this)">Plug-ins</a>.<p>Die Befehle <b>Drucken</b>, <b>Speichern</b>, <b>Kopieren</b>, <b>Einfügen</b>, <b>Rückgängig machen</b> und <b>Wiederholen</b> stehen unabhängig von der ausgewählten Registerkarte jederzeit im linken Teil der <b>oberen Menüleiste</b> zur Verfügung.</p>
|
||||
<li>Abhängig von der ausgewählten Registerkarten werden in der <b>oberen Symbolleiste</b> eine Reihe von Bearbeitungsbefehlen angezeigt. Aktuell stehen die folgenden Registerkarten zur Verfügung: <a href="../ProgramInterface/FileTab.htm" onclick="onhyperlinkclick(this)">Datei</a>, <a href="../ProgramInterface/HomeTab.htm" onclick="onhyperlinkclick(this)">Start</a>, <a href="../ProgramInterface/InsertTab.htm" onclick="onhyperlinkclick(this)">Einfügen</a>, <a href="../ProgramInterface/LayoutTab.htm" onclick="onhyperlinkclick(this)">Layout</a>, <a href="../ProgramInterface/ReferencesTab.htm" onclick="onhyperlinkclick(this)">Referenzen</a>, <a href="../ProgramInterface/ReviewTab.htm" onclick="onhyperlinkclick(this)">Zusammenarbeit</a>, <a href="../ProgramInterface/PluginsTab.htm" onclick="onhyperlinkclick(this)">Plug-ins</a>.<p>Die Befehle <b>Drucken</b>, <b>Speichern</b>, <b>Kopieren</b>, <b>Einfügen</b>, <b>Rückgängig machen</b> und <b>Wiederholen</b> stehen unabhängig von der ausgewählten Registerkarte jederzeit im linken Teil der <b>oberen Menüleiste</b> zur Verfügung.</p>
|
||||
<p><img alt="Symbole in der oberen Menüleiste" src="../images/interface/leftpart.png" /></p>
|
||||
</li>
|
||||
<li>In der <b>Statusleiste</b> am unteren Rand des Editorfensters finden Sie die Anzeige der Seitennummer und Benachrichtigungen vom System (wie beispielsweise „Alle Änderungen wurden gespeichert" etc.), außerdem können Sie die <a href="../HelpfulHints/SpellChecking.htm" onclick="onhyperlinkclick(this)">Textsprache festlegen und die Rechtschreibprüfung aktivieren</a>, den Modus <a href="../HelpfulHints/Review.htm" onclick="onhyperlinkclick(this)">Änderungen nachverfolgen</a> einschalten und den <a href="../HelpfulHints/Navigation.htm" onclick="onhyperlinkclick(this)">Zoom</a> anpassen.</li>
|
||||
<li>Über die Symbole der <b>linken Seitenleiste</b> können Sie die Funktion <a href="../HelpfulHints/Search.htm" onclick="onhyperlinkclick(this)">Suchen und Ersetzen</a> nutzen, <a href="../HelpfulHints/CollaborativeEditing.htm#comments" onclick="onhyperlinkclick(this)">Kommentare</a> und <a href="../HelpfulHints/CollaborativeEditing.htm#chat" onclick="onhyperlinkclick(this)">Unterhaltungen</a> öffnen, unser Support-Team kontaktieren und Informationen über das Programm einsehen.</li>
|
||||
<li>Über die Symbole der <b>linken Seitenleiste</b> können Sie die Funktion <a href="../HelpfulHints/Search.htm" onclick="onhyperlinkclick(this)">Suchen und Ersetzen</a> nutzen, <a href="../HelpfulHints/CollaborativeEditing.htm#comments" onclick="onhyperlinkclick(this)">Kommentare</a>, <a href="../HelpfulHints/CollaborativeEditing.htm#chat" onclick="onhyperlinkclick(this)">Chats</a> und die <a href="../UsageInstructions/CreateTableOfContents.htm#navigation" onclick="onhyperlinkclick(this)">Navigation</a> öffnen, unser Support-Team kontaktieren und Informationen über das Programm einsehen.</li>
|
||||
<li>Über die rechte <b>Seitenleiste</b> können zusätzliche Parameter von verschiedenen Objekten eingestellt werden. Wenn Sie im Text ein bestimmtes Objekt auswählen, wird das entsprechende Symbol in der rechten Seitenleiste aktiviert. Klicken Sie auf dieses Symbol, um die rechte Seitenleiste zu erweitern.</li>
|
||||
<li>Horizontale und vertikale <b>Lineale</b> ermöglichen das Ausrichten von Text und anderen Elementen in einem Dokument sowie das Festlegen von Rändern, Tabstopps und Absatzeinzügen.</li>
|
||||
<li>Über den <b>Arbeitsbereich</b> können Sie den Dokumentinhalt anzeigen und Daten eingeben und bearbeiten.</li>
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Registerkarte Referenzen</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Introducing the Document Editor user interface - References tab" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Suche" type="text" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Registerkarte Referenzen</h1>
|
||||
<p>Unter der Registerkarte <b>Referenzen</b>, können Sie verschiedene Arten von Referenzen verwalten: Inhaltsverzeichnis erstellen und aktualisieren, Fußnoten erstellen und bearbeiten, Links einfügen.</p>
|
||||
<p><img alt="Registerkarte Referenzen" src="../images/interface/referencestab.png" /></p>
|
||||
<p>Unter dieser Registerkarte können Sie:</p>
|
||||
<ul>
|
||||
<li>Ein <a href="../UsageInstructions/CreateTableOfContents.htm" onclick="onhyperlinkclick(this)">Inhaltsverzeichnis</a> erstellen und aktualisieren.</li>
|
||||
<li><a href="../UsageInstructions/InsertFootnotes.htm" onclick="onhyperlinkclick(this)">Fußnoten</a> einfügen.</li>
|
||||
<li><a href="../UsageInstructions/AddHyperlinks.htm" onclick="onhyperlinkclick(this)">Links</a> einfügen.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,9 +1,9 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Registerkarte Überprüfen</title>
|
||||
<title>Registerkarte Zusammenarbeit</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Introducing the Document Editor user interface - Review tab" />
|
||||
<meta name="description" content="Introducing the Document Editor user interface - Collaboration tab" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
|
@ -13,16 +13,19 @@
|
|||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Suche" type="text" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Registerkarte Überprüfen</h1>
|
||||
<p>Die Registerkarte <b>Überprüfen</b> ermöglicht die Überprüfung des Dokuments: Stellen Sie sicher, dass die Rechtschreibung des Textes korrekt ist, verwalten Sie Kommentare und verfolgen Sie Änderungen, die von einem Rezensenten vorgenommen wurden.</p>
|
||||
<p><img alt="Registerkarte Überprüfen" src="../images/interface/reviewtab.png" /></p>
|
||||
<p>Über diese Registerkarte können Sie:</p>
|
||||
<h1>Registerkarte Zusammenarbeit</h1>
|
||||
<p>Unter der Registerkarte <b>Zusammenarbeit</b> können Sie die Zusammenarbeit im Dokument organisieren: die Datei teilen, einen Co-Bearbeitungsmodus auswählen, Kommentare verwalten, vorgenommene Änderungen verfolgen, alle Versionen und Revisionen einsehen.</p>
|
||||
<p><img alt="Registerkarte Zusammenarbeit" src="../images/interface/reviewtab.png" /></p>
|
||||
<p>Sie können:</p>
|
||||
<ul>
|
||||
<li>die Dokumentsprache ändern und die <a href="../HelpfulHints/SpellChecking.htm" onclick="onhyperlinkclick(this)">Rechtschreibprüfung</a> aktivieren,</li>
|
||||
<li><a href="../HelpfulHints/CollaborativeEditing.htm" onclick="onhyperlinkclick(this)">Freigabeeinstellungen</a> festlegen,</li>
|
||||
<li>zwischen den verfügbaren Modi für die Co-Bearbeitung wechseln, <a href="../HelpfulHints/CollaborativeEditing.htm" onclick="onhyperlinkclick(this)">Strikt und Schnell</a>,</li>
|
||||
<li><a href="../HelpfulHints/CollaborativeEditing.htm#comments" onclick="onhyperlinkclick(this)">Kommentare</a> zum Dokument hinzufügen,</li>
|
||||
<li>die Funktion <a href="../HelpfulHints/Review.htm" onclick="onhyperlinkclick(this)">Änderungen nachverfolgen</a> aktivieren,</li>
|
||||
<li><a href="../HelpfulHints/Review.htm#displaymode" onclick="onhyperlinkclick(this)">Änderungen</a> anzeigen lassen und</li>
|
||||
<li>die <a href="../HelpfulHints/Review.htm#managechanges" onclick="onhyperlinkclick(this)">vorgeschlagenen Änderungen</a> verwalten.</li>
|
||||
<li><a href="../HelpfulHints/Review.htm#displaymode" onclick="onhyperlinkclick(this)">Änderungen</a> anzeigen lassen,</li>
|
||||
<li>die <a href="../HelpfulHints/Review.htm#managechanges" onclick="onhyperlinkclick(this)">vorgeschlagenen Änderungen</a> verwalten,</li>
|
||||
<li>die <a href="../HelpfulHints/CollaborativeEditing.htm#chat" onclick="onhyperlinkclick(this)">Chatleiste</a> öffnen,</li>
|
||||
<li>und die <a href="../UsageInstructions/ViewDocInfo.htm" onclick="onhyperlinkclick(this)">Versionshistorie</a> verfolgen.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -17,10 +17,10 @@
|
|||
<p>Einfügen eines Hyperlinks</p>
|
||||
<ol>
|
||||
<li>Platzieren Sie Ihren Mauszeiger an die Stelle im Text, die Sie in den Link integrieren möchten.</li>
|
||||
<li>Wechseln Sie in der oberen Symbolleiste auf die Registerkarte <b>Einfügen</b></li>
|
||||
<li>Klicken Sie im Menü Einfügen auf <img alt="Hyperlink" src="../images/addhyperlink.png" /> <b>Hyperlink</b>.</li>
|
||||
<li>Wechseln Sie in der oberen Symbolleiste auf die Registerkarte <b>Einfügen</b> oder <b>Verweise</b>.</li>
|
||||
<li>Klicken Sie auf das Symbol <img alt="Hyperlink" src="../images/addhyperlink.png" /> <b>Hyperlink</b> in der oberen Symbolleiste.</li>
|
||||
<li>Im sich nun öffnenden Fenster <b>Einstellungen Hyperlink</b>, können Sie die Parameter für den Hyperlink bestimmen:<ul>
|
||||
<li><b>Link zu</b> - geben Sie eine URL im Format <i>http://www.example.com</i> ein.</li>
|
||||
<li><b>Link zu</b> - geben Sie eine URL im Format <em>http://www.example.com</em> ein.</li>
|
||||
<li><b>Angezeigter Text</b> - geben Sie den klickbaren Text ein, der zu der im oberen Feld angegebenen Webadresse führt.</li>
|
||||
<li><b>Infobox</b> - geben Sie einen Text ein, der in einem Dialogfenster angezeigt wird und den Nutzer über den Inhalt des Verweises informiert.</li>
|
||||
</ul>
|
||||
|
@ -29,8 +29,8 @@
|
|||
<li>Klicken Sie auf <b>OK</b>.</li>
|
||||
</ol>
|
||||
<p>Um einen Hyperlink hinzuzufügen, können Sie auch mit der rechten Maustaste irgendwo im Dokument klicken und die Option <b>Hyperlink</b> im Kontextmenü auswählen, dadurch wird das oben angezeigte Fenster geöffnet.</p>
|
||||
<p class="note"><b>Hinweis</b>: Es ist auch möglich, ein Zeichen, Wort, eine Wortverbindung oder einen Textabschnitt mit der Maus oder über die <a href="../HelpfulHints/KeyboardShortcuts.htm#textselection" onclick="onhyperlinkclick(this)">Tastatur</a> auszuwählen. Klicken Sie anschließend in der Registerkarte <b>Einfügen</b> auf <img alt="Hyperlink" src="../images/addhyperlink.png" /> <b>Hyperlink</b> oder klicken Sie mit der rechten Maustaste auf die Auswahl und wählen Sie im Kontextmenü die Option <b>Hyperlink</b> aus. Danach öffnet sich das oben dargestellte Fenster und im Feld <b>Angezeigter Text</b> erscheint der ausgewählte Textabschnitt.</p>
|
||||
<p>Bewegen Sie nun den Mauszeiger über den eingefügten Hyperlink wird der von Ihnen in der Infobox angegebene Text angezeigt. Sie können dem Link folgen, indem Sie die Taste <b>STRG</b> drücken und dann auf den Link in Ihrem Dokument klicken.</p>
|
||||
<p class="note"><b>Hinweis</b>: Es ist auch möglich, ein Zeichen, Wort, eine Wortverbindung oder einen Textabschnitt mit der Maus oder über die <a href="../HelpfulHints/KeyboardShortcuts.htm#textselection" onclick="onhyperlinkclick(this)">Tastatur</a> auszuwählen. Klicken Sie anschließend in den Registerkarten <b>Einfügen</b> oder <b>Referenzen</b> auf <img alt="Hyperlink" src="../images/addhyperlink.png" /> <b>Hyperlink</b> oder klicken Sie mit der rechten Maustaste auf die Auswahl und wählen Sie im Kontextmenü die Option <b>Hyperlink</b> aus. Danach öffnet sich das oben dargestellte Fenster und im Feld <b>Angezeigter Text</b> erscheint der ausgewählte Textabschnitt.</p>
|
||||
<p>Wenn Sie den Mauszeiger über den eingefügten Hyperlink bewegen, wird der von Ihnen im Feld QuickInfo eingebene Text angezeigt. Sie können dem Link folgen, indem Sie die Taste <b>STRG</b> drücken und dann auf den Link in Ihrem Dokument klicken.</p>
|
||||
<p>Um den hinzugefügten Hyperlink zu bearbeiten oder zu entfernen, klicken Sie mit der rechten Maustaste auf den Link und wählen Sie <b>Hyperlink Optionen</b> und anschließend <b>Hyperlink bearbeiten</b> oder <b>Hyperlink entfernen</b>.</p>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -41,20 +41,16 @@
|
|||
</ol>
|
||||
<p>Wenn Sie die Formate <b>Quadrat</b>, <b>Eng</b>, <b>Transparent</b> oder <b>Oben und unten</b> auswählen, haben Sie die Möglichkeit zusätzliche Parameter festzulegen - <b>Abstand vom Text</b> auf allen Seiten (oben, unten, links, rechts). Klicken Sie dazu mit der rechten Maustaste auf das Objekt, wählen Sie die Option <b>Erweiterte Einstellungen</b> und wechseln Sie im Fenster <b>Erweiterte Einstellungen</b> in die Gruppe <b>Textumbruch</b>. Wählen Sie die gewünschten Werte und klicken Sie auf <b>OK</b>.</p>
|
||||
<p>Wenn Sie die Option <b>Position auf der Seite fixieren</b> wählen, steht Ihnen im Fenster <b>Erweiterte Einstellungen</b> auch die Gruppe <b>Position</b> zur Verfügung. Weitere Informationen zu diesen Parametern finden Sie auf den entsprechenden Seiten mit Anweisungen zum Umgang mit <a href="../UsageInstructions/InsertAutoshapes.htm#position" onclick="onhyperlinkclick(this)">Formen</a>, <a href="../UsageInstructions/InsertImages.htm#position" onclick="onhyperlinkclick(this)">Bildern</a> oder <a href="../UsageInstructions/InsertCharts.htm#position" onclick="onhyperlinkclick(this)">Diagrammen</a>.</p>
|
||||
<p>Wenn Sie die Option <b>Position auf der Seite fixieren</b> wählen, haben Sie außerdem die Möglichkeit, die Umbruchränder für <b>Bilder</b> oder <b>Formen</b> zu bearbeiten. Klicken Sie mit der rechten Maustaste auf das Objekt, wählen Sie die Option <b>Textumbruch</b> im Kontextmenü aus und klicken Sie auf <b>Bearbeitung der Umbruchsgrenze</b>. Ziehen Sie die Umbruchpunkte, um die Grenze benutzerdefiniert anzupassen. Um einen neuen Rahmenpunkt zu erstellen, klicken Sie auf eine beliebige Stelle auf der roten Linie und ziehen Sie diese an die gewünschte Position. <img alt="Umbruchsgrenze bearbeiten" src="../images/wrap_boundary.png" /></p>
|
||||
<p>Wenn Sie die Option <b>Position auf der Seite fixieren</b> wählen, haben Sie außerdem die Möglichkeit, die Umbruchränder für <b>Bilder</b> oder <b>Formen</b> zu bearbeiten. Klicken Sie mit der rechten Maustaste auf das Objekt, wählen Sie die Option <b>Textumbruch</b> im Kontextmenü aus und klicken Sie auf <b>Bearbeitung der Umbruchsgrenze</b>. Ziehen Sie die Umbruchpunkte, um die Grenze benutzerdefiniert anzupassen. Um einen neuen Rahmenpunkt zu erstellen, klicken Sie auf eine beliebige Stelle auf der roten Linie und ziehen Sie diese an die gewünschte Position. <img alt="Umbruchgrenze bearbeiten" src="../images/wrap_boundary.png" /></p>
|
||||
<h3>Textumbruch für Tabellen ändern</h3>
|
||||
<p>Für <a href="../UsageInstructions/InsertTables.htm" onclick="onhyperlinkclick(this)">Tabellen</a> stehen die folgenden Umbruchstile zur Verfügung: <b>Mit Text verschieben</b> und <b>Position auf der Seite fixieren</b>.</p>
|
||||
<p>Für <a href="../UsageInstructions/InsertTables.htm" onclick="onhyperlinkclick(this)">Tabellen</a> stehen die folgenden Umbruchstile zur Verfügung: <b>Mit Text verschieben</b> und <b>Umgebend</b>.</p>
|
||||
<p>Ändern des aktuellen Umbruchstils:</p>
|
||||
<ol>
|
||||
<li>Klicken Sie mit der rechten Maustaste auf die Tabelle.</li>
|
||||
<li>Öffnen Sie die Einstellungen für den Textumbruch:<ul>
|
||||
|
||||
<li>Wählen Sie die Option <b>Tabelle - Erweiterte Einstellungen</b> und wechseln Sie im Fenster <b>Tabelle - Erweiterte Einstellungen</b> in die Gruppe <b>Textumbruch</b> oder</li>
|
||||
<li>wählen Sie eine der folgenden Optionen aus dem Kontextmenü aus:<ul>
|
||||
<li><b>Textumbruch - Mit Text in Zeile</b>: der Text wird durch die Tabelle umgebrochen, außerdem können Sie die Ausrichtung wählen: linksbündig, zentriert, rechtsbündig.</li>
|
||||
<li><b>Textumbruch - umgebend</b>: bei diesem Format wird die Tabelle innerhalb des Textes eingefügt und entsprechend an allen Seiten vom Text umgeben.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Klicken Sie mit der rechten Maustaste auf die Tabelle und wählen Sie die Option <b>Tabelle-Erweiterte Einstellungen</b>.</li>
|
||||
<li>Wechseln Sie nun im Fenster <b>Tabelle - Erweiterte Einstellungen</b> in die Gruppe <b>Textumbruch</b> und</li>
|
||||
<li>wählen Sie eine der folgenden Optionen:<ul>
|
||||
<li><b>Textumbruch - Mit Text in Zeile</b>: der Text wird durch die Tabelle umgebrochen, außerdem können Sie die Ausrichtung wählen: linksbündig, zentriert, rechtsbündig.</li>
|
||||
<li><b>Textumbruch - Umgebend</b>: bei diesem Format wird die Tabelle innerhalb des Textes eingefügt und entsprechend an allen Seiten vom Text umgeben.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
|
|
|
@ -23,18 +23,24 @@
|
|||
</ul>
|
||||
<p>Alternativ können Sie auch die folgenden Tastenkombinationen verwenden, um Daten aus einem anderen Dokument oder Programm zu kopieren oder einzufügen:</p>
|
||||
<ul>
|
||||
<li><b>Strg+X</b> - Ausschneiden;</li>
|
||||
<li><b>Strg+C</b> - Kopieren;</li>
|
||||
<li><b>Strg+V</b> - Einfügen.</li>
|
||||
<li><b>STRG+X</b> - Ausschneiden</li>
|
||||
<li><b>STRG+C</b> - Kopieren</li>
|
||||
<li><b>STRG+V</b> - Einfügen</li>
|
||||
</ul>
|
||||
<p class="note"><b>Hinweis</b>: Anstatt Text innerhalb desselben Dokuments auszuschneiden und einzufügen, können Sie die erforderliche Textpassage einfach auswählen und an die gewünschte Position ziehen und ablegen.</p>
|
||||
<h3>Inhalte einfügen mit Optionen</h3>
|
||||
<p>Nachdem der kopierte Text eingefügt wurde, erscheint neben der eingefügten Textpassage das Menü <b>Einfügeoptionen</b> <img alt="Einfügeoptionen" src="../images/pastespecialbutton.png" />. Klicken Sie auf die Schaltfläche, um die gewünschte Einfügeoption auszuwählen.</p>
|
||||
<p>Nachdem der kopierte Text eingefügt wurde, erscheint neben der eingefügten Textpassage das Menü <b>Einfügeoptionen</b> <img alt="Einfügen mit Sonderoptionen" src="../images/pastespecialbutton.png" />. Klicken Sie auf die Schaltfläche, um die gewünschte Einfügeoption auszuwählen.</p>
|
||||
<p>Zum Einfügen von Textsegmenten oder Text in Verbindung mit AutoFormen sind folgende Optionen verfügbar:</p>
|
||||
<ul>
|
||||
<li><em>Ursprüngliche Formatierung beibehalten</em> - der kopierte Text wird in Originalformatierung eingefügt.</li>
|
||||
<li><em>Nur den Text übernehmen</em> - der kopierte Text wird in an die vorhandene Formatierung angepasst.</li>
|
||||
</ul>
|
||||
<p>Wenn Sie die kopierte Tabelle in eine vorhandene Tabelle einfügen, sind die folgenden Optionen verfügbar:</p>
|
||||
<ul>
|
||||
<li><em>Zellen überschreiben</em> - vorhandenen Tabelleninhalt durch die eingefügten Daten ersetzen. Diese Option ist standardmäßig ausgewählt.</li>
|
||||
<li><em>Geschachtelt</em> die kopierte Tabelle wird als geschachtelte Tabelle in die ausgewählte Zelle der vorhandenen Tabelle eingefügt.</li>
|
||||
<li><em>Nur den Text übernehmen</em> - die Tabelleninhalte werden als Textwerte eingefügt, die durch das Tabulatorzeichen getrennt sind.</li>
|
||||
</ul>
|
||||
<h3>Aktionen rückgängig machen/wiederholen</h3>
|
||||
<p>Um Aktionen rückgängig zu machen/zu wiederholen, nutzen Sie die entsprechenden Symbole auf den Registerkarten in der oberen Symbolleiste oder alternativ die folgenden Tastenkombinationen:</p>
|
||||
<ul>
|
||||
|
|
|
@ -0,0 +1,111 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Inhaltsverzeichnis erstellen</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Create a Table of Contents" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Suche" type="text" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Inhaltsverzeichnis erstellen</h1>
|
||||
<p>Ein Inhaltsverzeichnis enthält eine Liste aller Kapitel (Abschnitte usw.) in einem Dokument und zeigt die jeweilige Seitennummer an, auf der ein Kapitel beginnt. Mithilfe eines Inhaltsverzeichnisses können Sie leicht durch ein mehrseitiges Dokument navigieren und schnell zu gewünschten Textstellen wechseln. Das Inhaltsverzeichnis wird automatisch basierend auf mit vordefinierten Stilen formatierten Dokumentüberschriften generiert. So können Sie Ihr Inhaltsverzeichnis bequem aktualisieren wenn der Text im Dokument geändert wurde, ohne dass Sie Überschriften bearbeiten und Seitenzahlen manuell ändern müssen.</p>
|
||||
<h3>Überschriftenstruktur festlegen</h3>
|
||||
<p><b>Überschriften formatieren</b></p>
|
||||
<p>Formatieren Sie zunächst alle Überschriften in Ihrem Dokument mit einer der Stilvorlagen. Überschriften formatieren:</p>
|
||||
<ol>
|
||||
<li>Wählen Sie den Text aus, den Sie in das Inhaltsverzeichnis aufnehmen wollen.</li>
|
||||
<li>Öffnen Sie rechts in der Registerkarte <b>Start</b> das Menü mit den Stilvorlagen.</li>
|
||||
<li>Klicken Sie auf den gewünschten Stil. Standardmäßig können Sie die Stile <em>Überschrift 1 - Überschrift 9</em> nutzen.<p class="note"><b>Hinweis</b>: wenn Sie einen anderen Stil verwenden (z.B. <em>Titel</em>, <em>Untertitel</em> etc.), um Überschriften zu formatieren, die im Inhaltsverzeichnis angezeigt werden sollen, müssen Sie zunächst die Einstellungen für das Inhaltsverzeichnis anpassen (wie im nachfolgenden Absatz beschrieben). Weitere Informationen zu verfügbaren Formatvorlagen finden Sie auf <a href="../UsageInstructions/FormattingPresets.htm" onclick="onhyperlinkclick(this)">dieser Seite</a>.</p>
|
||||
</li>
|
||||
</ol>
|
||||
<p id="navigation"><b>Überschriften verwalten</b></p>
|
||||
<p>Wenn Sie die Überschriften formatiert haben, können Sie in der linken Seitenleiste auf <img alt="Navigation" src="../images/navigationicon.png" /> <b>Navigation</b> klicken, um das Fenster mit den Überschriften mit den entsprechenden Verschachtelungsebenen zu öffnen. Dieser Bereich ermöglicht die einfache Navigation zwischen Überschriften im Dokumenttext sowie die Verwaltung der Überschriftenstruktur</p>
|
||||
<p>Klicken Sie mit der rechten Maustaste auf eine Überschrift in der Liste und verwenden Sie eine der verfügbaren Optionen aus dem Menü:</p>
|
||||
<p><img alt="Navigationsleiste" src="../images/navigationpanel.png" /></p>
|
||||
<ul>
|
||||
<li><b>Heraufstufen</b> - um die aktuell ausgewählte Überschrift in der hierarchischen Struktur auf die höhere Ebene zu verschieben, z. B. von <em>Überschrift2</em> auf <em>Überschrift1</em>.</li>
|
||||
<li><b>Herabstufen</b> - um die aktuell ausgewählte Überschrift in der hierarchischen Struktur auf die niedrigere Ebene zu verschieben, z. B. von <em>Überschrift1</em> auf <em>Überschrift2</em>.</li>
|
||||
<li><b>Neue Überschrift davor</b> - um eine neue leere Überschrift derselben Ebene vor der aktuell ausgewählten hinzuzufügen.</li>
|
||||
<li><b>Neue Überschrift dahinter</b> - um eine neue leere Überschrift derselben Ebene hinter der aktuell ausgewählten hinzuzufügen.</li>
|
||||
<li><b>Neue Zwischenüberschrift</b> - um eine neue leere Neue Zwischenüberschrift (z.B. eine Überschrift auf einer niedrigeren Ebene) hinter der aktuell ausgewählten hinzuzufügen.<p>Wenn die Überschrift oder Zwischenüberschrift hinzugefügt wurde, klicken Sie auf die hinzugefügte leere Überschrift in der Liste und geben Sie Ihren eigenen Text ein. Das kann sowohl im Dokumenttext als auch in der <b>Navigationsleiste</b> selbst erfolgen.</p>
|
||||
</li>
|
||||
<li><b>Inhalt auswählen</b> - um den Text unterhalb der aktuellen Überschrift im Dokument auszuwählen (einschließlich des Textes für alle Zwischenüberschriften dieser Überschrift).</li>
|
||||
<li><b>Alle erweitern</b> - um alle Überschriften-Ebenen in der <b>Navigationsleiste</b> zu erweitern.</li>
|
||||
<li><b>Alle ausblenden</b> - um alle Überschriften-Ebenen außer <em>Ebene 1</em> in der <b>Navigationsleiste</b> auszublenden.</li>
|
||||
<li><b>Erweitern auf Ebene</b> - um die Überschriftenstruktur auf die ausgewählte Ebene zu erweitern. Wenn Sie z. B. <em>Ebene 3</em> wählen, werden die Level 1, 2 und 3 erweitert, während Level 4 und alle niedrigeren Level ausgeblendet werden.</li>
|
||||
</ul>
|
||||
<p>Um separate Überschriftenebenen manuell zu erweitern oder auszublenden, verwenden Sie die Pfeile links von den Überschriften.</p>
|
||||
<p>Um die <b>Navigationsleiste</b> zu schließen, klicken Sie in der linken Seitenleiste erneut auf <img alt="Navigation" src="../images/navigationicon.png" /> <b>Navigation</b>.</p>
|
||||
<h3>Inhaltsverzeichnis in Ihr aktuelles Dokument einfügen</h3>
|
||||
<p>Ein Inhaltsverzeichnis in Ihr aktuelles Dokument einfügen:</p>
|
||||
<ol>
|
||||
<li>Platzieren Sie die Einfügemarke an der Stelle, an der Sie ein Inhaltsverzeichnis hinzufügen möchten.</li>
|
||||
<li>Wechseln Sie in der oberen Symbolleiste auf die Registerkarte <b>Referenzen</b>.</li>
|
||||
<li>Klicken Sie auf das Symbol <img alt="Inhaltsverzeichnis" src="../images/tocicon.png" /> <b>Inhaltsverzeichnis</b> in der oberen Symbolleiste oder<br /> klicken Sie auf das Pfeilsymbol neben diesem Symbol und wählen Sie die gewünschte Layout-Option aus dem Menü aus. Sie haben die Wahl zwischen einem Inhaltsverzeichnis, das Überschriften, Seitenzahlen und Leader anzeigt oder nur Überschriften.<p><img alt="Inhaltsverzeichnis - Optionen" src="../images/tociconmenu.png" /></p>
|
||||
<p class="note"><b>Hinweis</b>: Die Formatierung des Inhaltsverzeichnisses kann später über die Einstellungen des Inhaltsverzeichnisses angepasst werden.</p>
|
||||
</li>
|
||||
</ol>
|
||||
<p>Das Inhaltsverzeichnis wird an der aktuellen Cursorposition eingefügt. Um die Position des Inhaltsverzeichnisses zu ändern, können Sie das Inhaltsverzeichnis auswählen (Steuerelement) und einfach an die gewünschte Position ziehen. Klicken Sie dazu auf die Schaltfläche <img alt="Inhaltsverzeichnis - Steuerelement" src="../images/toccontentcontrol.png" />, in der oberen linken Ecke des Inhaltsverzeichnisses und ziehen Sie es mit gedrückter Maustaste an die gewünschte Position.</p>
|
||||
<p><img alt="Inhaltsverzeichnis verschieben" src="../images/tocmove.png" /></p>
|
||||
<p>Um zwischen den Überschriften zu navigieren, drücken Sie die Taste <b>STRG</b> auf Ihrer Tastatur und klicken Sie dann auf die gewünschte Überschrift im Inhaltsverzeichnis. Sie wechseln automatisch auf die entsprechende Seite.</p>
|
||||
<h3>Inhaltsverzeichnis anpassen</h3>
|
||||
<p><b>Inhaltsverzeichnis aktualisieren</b></p>
|
||||
<p>Nach dem Erstellen des Inhaltsverzeichnisses, können Sie Ihren Text weiter bearbeiten und beispielsweise neue Kapitel hinzufügen, die Reihenfolge ändern, Absätze entfernen oder den Text für eine Überschrift erweitern. Durch solche Vorgänge ändern sich die Seitenzahlen. Über die Option <b>Aktualisieren</b> übernehmen Sie alle Änderungen in Ihrem Inhaltsverzeichnis.</p>
|
||||
<p>Klicken Sie auf der Registerkarte <b>Referenzen</b> in der oberen Symbolleiste auf den Pfeil neben dem Symbol <img alt="Aktualisieren" src="../images/tocrefreshicon.png" /> <b>Aktualisieren</b> und wählen Sie die gewünschte Option aus dem Menü aus.</p>
|
||||
<ul>
|
||||
<li><b>Gesamtes Verzeichnis aktualisieren</b> - die von Ihnen eingefügten Überschriften werden dem Verzeichnis hinzugefügt, gelöschte Überschriften werden entfernt, bearbeitete (umbenannte) Überschriften sowie Seitenzahlen werden aktualisiert.</li>
|
||||
<li><b>Nur Seitenzahlen aktualisieren</b> - nur die Seitenzahlen werden aktualisiert, Änderungen an Überschriften werden nicht übernommen.</li>
|
||||
</ul>
|
||||
<p>Alternativ können Sie das Inhaltsverzeichnis direkt im Dokument auswählen, wählen Sie dann oben im Verzeichnis das Symbol <img alt="Aktualisieren" src="../images/tocrefreshiconcc.png" /> <b>Aktualisieren</b> aus, um die zuvor beschriebenen Optionen anzuzeigen.</p>
|
||||
<p><img alt="Inhaltsverzeichnis aktualisieren" src="../images/tocrefreshcc.png" /></p>
|
||||
<p>Sie können auch einfach mit der rechten Maustaste an eine beliebige Stelle im Inhaltsverzeichnis klicken und die gewünschte Option aus dem Kontextmenü auswählen.</p>
|
||||
<p><img alt="Kontextmenü" src="../images/tocrefreshcontextual.png" /></p>
|
||||
<p><b>Einstellungen für das Inhaltsverzeichnis anpassen</b></p>
|
||||
<p>Zum Öffnen der Einstellungen für das Inhaltsverzeichnis, gehen Sie vor wie folgt:</p>
|
||||
<ul>
|
||||
<li>Klicken Sie auf den Pfeil neben <img alt="Inhaltsverzeichnis" src="../images/tocicon.png" /> <b>Inhaltsverzeichnis</b> in der oberen Symbolleiste und wählen Sie die Option <b>Einstellungen</b> aus dem Menü aus.</li>
|
||||
<li>Wählen Sie das Inhaltsverzeichnis aus, klicken Sie auf den Pfeil und wählen Sie die Option <b>Einstellungen</b> aus dem Menü aus.<p><img alt="Inhaltsverzeichnis - Optionen" src="../images/tocsettingscc.png" /></p>
|
||||
</li>
|
||||
<li>Klicken Sie mit der rechten Maustaste an eine beliebige Stelle im Inhaltsverzeichnis und wählen sie die Option <b>Inhaltsverzeichnis - Einstellungen</b> aus dem Kontextmenü aus.</li>
|
||||
</ul>
|
||||
<p>Im sich nun öffnenden Fenstern können Sie die folgenden Parameter festlegen:</p>
|
||||
<p><img alt="Fenstern Inhaltsverzeichnis - Einstellungen" src="../images/tocsettingswindow.png" /></p>
|
||||
<ul>
|
||||
<li><b>Seitenzahlen anzeigen</b> - mit dieser Option wählen Sie aus, ob Seitenzahlen angezeigt werden sollen oder nicht.</li>
|
||||
<li><b>Seitenzahlen rechtsbündig ausrichten</b> - mit dieser Option legen Sie fest, ob die Seitenzahlen am rechten Seitenrand ausgerichtet werden sollen oder nicht.</li>
|
||||
<li><b>Leader</b> - mit dieser Option können Sie die Art des Leaders auswählen, den Sie verwenden möchten. Ein Leader ist eine Reihe von Zeichen (Punkte oder Trennzeichen), die den Abstand zwischen einer Überschrift und der entsprechenden Seitenzahl ausfüllen. Wenn Sie keinen Leader nutzen wollen, wählen Sie die Option <b>Keinen</b>.</li>
|
||||
<li><b>Einträge Inhaltsverzeichnis als Links formatieren</b> - diese Option ist standardmäßig aktiviert. Wenn Sie das Kontrollkästchen deaktivieren, können Sie nicht länger in ein gewünschtes Kapitel wechseln, indem Sie die Taste <b>STRG</b> drücken und die entsprechende Überschrift anklicken.</li>
|
||||
<li><b>Inhaltsverzeichnis erstellen aus</b> - In diesem Abschnitt können Sie die erforderliche Anzahl von Gliederungsebenen sowie die Standardstile angeben, die zum Erstellen des Inhaltsverzeichnisses verwendet werden sollen. Aktivieren Sie das erforderliche Optionsfeld:<ul>
|
||||
<li><b>Gliederungsebenen</b> - ist diese Option ausgewählt, können Sie die Anzahl der hierarchischen Ebenen anpassen, die im Inhaltsverzeichnis verwendet werden. Klicken Sie auf die Pfeile im Feld <b>Ebenen</b>, um die Anzahl der Ebenen zu verringern oder zu erhöhen (es sind die Werte 1 bis 9 verfügbar). Wenn Sie z. B. den Wert 3 auswählen, werden Überschriften der Ebenen 4 - 9 nicht in das Inhaltsverzeichnis aufgenommen.</li>
|
||||
<li><b>Ausgewählte Stile</b> - ist diese Option ausgewählt, können Sie zusätzliche Stile angeben, die zum Erstellen des Inhaltsverzeichnisses verwendet werden können, und ihnen eine entsprechende Gliederungsebene zuweisen. Geben Sie die gewünschte Ebene in das Feld rechts neben dem Stil ein. Sobald Sie die Einstellungen gespeichert haben, können Sie diesen Stil zum Erstellen des Inhaltsverzeichnisses verwenden.<p><img alt="Fenstern Inhaltsverzeichnis - Einstellungen" src="../images/tocsettingswindow2.png" /></p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Stile</b> - mit dieser Option wählen Sie ein Inhaltsverzeichnis in dem von Ihnen gewünschte Stil aus einer Liste mit Vorlagen aus. Wählen Sie den gewünschten Stil aus der Dropdown-Liste aus: Im Feld Vorschau sehen Sie wie das Inhaltsverzeichnis mit dem gewählten Stil aussehen würde.<p>Die folgenden vier Standardstile sind verfügbar: <em>Einfach</em>, <em>Standard</em>, <em>Modern</em>, <em>Klassisch</em>. Mit der Option <em>Aktuell</em> können Sie den Stil des Inhaltsverzeichnisses nach Ihren eigenen Wünschen anpassen.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Klicken Sie im Fenster Einstellungen auf <b>OK</b>, um die Änderungen zu bestätigen.</p>
|
||||
<p><b>Stil des Inhaltsverzeichnisses anpassen</b></p>
|
||||
<p>Nachdem Sie eine der Standardvorlagen für Verzeichnisstile Fenster <b>Inhaltsverzeichnis - Einstellungen</b> angewendet haben, können Sie diesen Stil auch ändern, sodass der Text im Feld Inhaltsverzeichnis Ihren Wünschen entsprechend formatiert ist.</p>
|
||||
<ol>
|
||||
<li>Wählen Sie den Text innerhalb des Inhaltsverzeichnisfelds aus, z. B. indem Sie im Steuerungskasten für das Inhaltsverzeichnis auf die Schaltfläche <img alt="Inhaltsverzeichnis - Steuerelement" src="../images/toccontentcontrol.png" /> klicken.</li>
|
||||
<li>Sie können die Elemente des Inhaltsverzeichnisses wie gewohnt formatieren und z. B. Schriftart, Größe, Farbe oder den Stile für die Schriftgestaltung ändern.</li>
|
||||
<li>Aktualisieren Sie entsprechend die Stile für die Elemente jeder Ebene. Um den Stil zu aktualisieren, klicken Sie mit der rechten Maustaste auf das formatierte Element, wählen Sie im Kontextmenü die Option <b>Formatierung als Stil</b> aus und klicken Sie auf die Option <b>toc N Stil aktualisieren</b> (Stil <em>toc 2</em> entspricht Elementen der <em>Ebene 2</em>, Stil <em>toc 3</em> entspricht Elementen der <em>Ebene 3</em> usw.).<p><img alt="Stili des Inhaltsverzeichnisses aktualisieren" src="../images/toccustomize.png" /></p>
|
||||
</li>
|
||||
<li>Inhaltsverzeichnis aktualisieren</li>
|
||||
</ol>
|
||||
<p><b>Inhaltsverzeichnis entfernen</b></p>
|
||||
<p>Inhaltsverzeichnis aus dem Dokument entfernen:</p>
|
||||
<ul>
|
||||
<li>Klicken Sie auf den Pfeil neben <img alt="Inhaltsverzeichnis" src="../images/tocicon.png" /> <b>Inhaltsverzeichnis</b> in der oberen Symbolleiste und wählen Sie die Option <b>Inhaltsverzeichnis entfernen</b> aus dem Menü aus,</li>
|
||||
<li>oder klicken Sie auf den Pfeil neben dem Steuerelement Inhaltsverzeichnis und wählen Sie die Option <b>Inhaltsverzeichnis entfernen</b> aus.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -18,36 +18,36 @@
|
|||
<p>Einfügen eines Diagramms</p>
|
||||
<ol>
|
||||
<li>Positionieren Sie den Cursor an der Stelle, an der Sie ein Diagramm einfügen möchten.</li>
|
||||
<li>Wechseln Sie in der oberen Symbolleiste auf die Registerkarte <b>Einfügen</b></li>
|
||||
<li>Klicken Sie auf das Symbol <img alt="Diagramm" src="../images/insertchart.png" /> <b>Diagramm</b>.</li>
|
||||
<li>Wechseln Sie in der oberen Symbolleiste auf die Registerkarte <b>Einfügen</b>.</li>
|
||||
<li>Klicken Sie in der oberen Symbolleiste auf das Symbol <img alt="Diagramm" src="../images/insertchart.png" /> <b>Diagramm</b>.</li>
|
||||
<li>Wählen Sie den gewünschten Diagrammtyp aus den verfügbaren Vorlagen aus - Säule, Linie, Kreis, Balken, Fläche, Punkt (XY) oder Strich.<p class="note"><b>Hinweis</b>: Die Diagrammtypen <b>Säule</b>, <b>Linie</b>, <b>Kreis</b> und <b>Balken</b> stehen auch im 3D-Format zur Verfügung.</p>
|
||||
</li>
|
||||
<li>Wenn Sie Ihre Auswahl getroffen haben, öffnet sich das Fenster <b>Diagramm bearbeiten</b> und Sie können die gewünschten Daten mithilfe der folgenden Steuerelemente in die Zellen eingeben:<ul>
|
||||
<li><img alt="Kopieren" src="../images/copy.png" /> und <img alt="Einfügen" src="../images/paste.png" /> - Kopieren und Einfügen der kopierten Daten</li>
|
||||
<li><img alt="Kopieren" src="../images/copy.png" /> und <img alt="Einfügen" src="../images/paste.png" /> - Kopieren und Einfügen der kopierten Daten.</li>
|
||||
<li><img alt="Rückgängig machen" src="../images/undo.png" /> und <img alt="Wiederholen" src="../images/redo.png" /> - Aktionen Rückgängig machen und Wiederholen.</li>
|
||||
<li><img alt="Funktion einfügen" src="../images/insertfunction.png" /> - Einfügen einer Funktion</li>
|
||||
<li><img alt="Dezimalstelle löschen" src="../images/decreasedec.png" /> und <img alt="Dezimalstelle hinzufügen" src="../images/increasedec.png" /> - Löschen und Hinzufügen von Dezimalstellen</li>
|
||||
<li> <img alt="Zahlenformat" src="../images/numberformat.png" /> - Zahlenformat ändern, d.h. das Format in dem die eingegebenen Zahlen in den Zellen dargestellt werden</li>
|
||||
<li><img alt="Dezimalstelle löschen" src="../images/decreasedec.png" /> und <img alt="Dezimalstelle hinzufügen" src="../images/increasedec.png" /> - Löschen und Hinzufügen von Dezimalstellen.</li>
|
||||
<li><img alt="Zahlenformat" src="../images/numberformat.png" /> - Zahlenformat ändern, d.h. das Format in dem die eingegebenen Zahlen in den Zellen dargestellt werden</li>
|
||||
</ul>
|
||||
<p><img alt="Fenster Diagramme bearbeiten" src="../images/charteditor.png" /></p>
|
||||
<p><img alt="Fenster Diagramm bearbeiten" src="../images/charteditor.png" /></p>
|
||||
</li>
|
||||
<li>Die Diagrammeinstellungen ändern Sie durch Anklicken der Schaltfläche <b>Diagramm bearbeiten</b> im Fenster <b>Diagramme</b>. Das Fenster <b>Diagramme - Erweiterte Einstellungen</b> wird geöffnet.<p><img alt="Diagramme - Erweiterte Einstellungen" src="../images/chartsettings.png" /></p>
|
||||
<p>Auf der Registerkarte <b>Diagrammtyp und Daten</b> können Sie den Diagrammtyp sowie die Daten ändern, die Sie zum Erstellen eines Diagramms verwenden möchten.</p>
|
||||
<ul>
|
||||
<li>Wählen Sie den gewünschten <b>Diagrammtyp</b> aus: Säule, Linie, Kreis, Balken, Fläche, Punkt (XY), Strich.</li>
|
||||
<li>Wählen Sie den gewünschten <b>Diagrammtyp</b> aus: Säule, Linie, Kreis, Balken, Fläche, Punkt (XY) oder Strich.</li>
|
||||
<li>Überprüfen Sie den ausgewählten <b>Datenbereich</b> und ändern Sie diesen ggf. durch Anklicken der Schaltfläche <b>Daten auswählen</b>; geben Sie den gewünschten Datenbereich im folgenden Format ein: <em>Sheet1!A1:B4</em>.</li>
|
||||
<li>Wählen Sie die Art aus, wie die Daten angeordnet werden sollen. Für die <b>Datenreihen</b> die auf die X-Achse angewendet werden sollen, können Sie wählen zwischen: Datenreihen <b>in Zeilen</b> oder <b>in Spalten</b>.</li>
|
||||
<li>Wählen Sie aus, wie die Daten angeordnet werden sollen. Für die <b>Datenreihen</b> die auf die X-Achse angewendet werden sollen, können Sie wählen zwischen: Datenreihen <b>in Zeilen</b> oder <b>in Spalten</b>.</li>
|
||||
</ul>
|
||||
<p><img alt="Diagramme - Erweiterte Einstellungen" src="../images/chartsettings2.png" /></p>
|
||||
<p>Auf der Registerkarte <b>Layout</b> können Sie das Layout von Diagrammelementen ändern.</p>
|
||||
<ul>
|
||||
<li>Wählen Sie die gewünschte Position der <b>Diagrammbezeichnung</b> aus der Dropdown-Liste aus:<ul>
|
||||
<li><b>Keine</b> - es wird keine Diagrammbezeichnung angezeigt.</li>
|
||||
<li><b>Überlagerung</b> - der Titel wird zentriert und im Diagramm angezeigt.</li>
|
||||
<li><b>Überlagerung</b> - der Titel wird zentriert und im Diagrammbereich angezeigt.</li>
|
||||
<li><b>Keine Überlagerung</b> - der Titel wird über dem Diagramm angezeigt.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Wählen Sie die gewünschte Position der <b>Legende</b> aus der Dropdown-Liste aus:<ul>
|
||||
<li>Wählen Sie die gewünschte Position der <b>Legende</b> aus der Menüliste aus:<ul>
|
||||
<li><b>Keine</b> - es wird keine Legende angezeigt</li>
|
||||
<li><b>Unten</b> - die Legende wird unterhalb des Diagramms angezeigt</li>
|
||||
<li><b>Oben</b> - die Legende wird oberhalb des Diagramms angezeigt</li>
|
||||
|
@ -58,27 +58,27 @@
|
|||
</ul>
|
||||
</li>
|
||||
<li>Legen Sie <b>Datenbeschriftungen</b> fest (Titel für genaue Werte von Datenpunkten):<br /><ul>
|
||||
<li>wählen Sie die gewünschte Position der <b>Datenbeschriftungen</b> aus der Dropdown-Liste aus: Die verfügbaren Optionen variieren je nach Diagrammtyp.<ul>
|
||||
<li>Wählen Sie die gewünschte Position der <b>Datenbeschriftungen</b> aus der Menüliste aus: Die verfügbaren Optionen variieren je nach Diagrammtyp.<ul>
|
||||
<li>Für <b>Säulen-/Balkendiagramme</b> haben Sie die folgenden Optionen: <b>Keine</b>, <b>zentriert</b>, <b>unterer Innenbereich</b>, <b>oberer Innenbereich</b>, <b>oberer Außenbereich</b>.</li>
|
||||
<li>Für <b>Linien-/Punktdiagramme (XY)/Strichdarstellungen</b> haben Sie die folgenden Optionen: <b>Keine</b>, <b>zentriert</b>, <b>links</b>, <b>rechts</b>, <b>oben</b>, <b>unten</b>.</li>
|
||||
<li>Für <b>Kreisdiagramme</b> können Sie aus folgenden Optionen wählen: <b>Keine</b>, <b>zentriert</b>, <b>an Breite anpassen</b>, <b>oberer Innenbereich</b>, <b>oberer Außenbereich</b>.</li>
|
||||
<li>Für <b>Kartenbereiche</b> sowie für <b>3D-Diagramme</b>, <b>Säulen-</b> <b>Linien-</b> und <b>Balkendiagramme</b>, können Sie aus folgenden Optionen wählen: <b>Keine</b>, <b>zentriert</b>.</li>
|
||||
<li>Für <b>Kreisdiagramme</b> stehen Ihnen folgende Optionen zur Verfügung: <b>Keine</b>, <b>zentriert</b>, <b>an Breite anpassen</b>, <b>oberer Innenbereich</b>, <b>oberer Außenbereich</b>.</li>
|
||||
<li>Für <b>Flächendiagramme</b> sowie für <b>3D-Diagramme</b>, <b>Säulen-</b> <b>Linien-</b> und <b>Balkendiagramme</b>, stehen Ihnen folgende Optionen zur Verfügung: <b>Keine</b>, <b>zentriert</b>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Wählen Sie die Daten aus für die Sie eine Bezeichnung erstellen möchten, indem Sie die entsprechenden Felder markieren: <b>Reihenname</b>, <b>Kategorienname</b>, <b>Wert</b>.</li>
|
||||
<li>Wählen Sie die Daten aus, für die Sie eine Bezeichnung erstellen möchten, indem Sie die entsprechenden Felder markieren: <b>Reihenname</b>, <b>Kategorienname</b>, <b>Wert</b>.</li>
|
||||
<li>Geben Sie das Zeichen (Komma, Semikolon etc.) in das Feld <b>Trennzeichen Datenbeschriftung</b> ein, dass Sie zum Trennen der Beschriftungen verwenden möchten.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Linien</b> - Einstellen der Linienart für <b>Liniendiagramme/Punktdiagramme (XY)</b>. Die folgenden Optionen stehen Ihnen zur Verfügung: <b>Gerade</b>, um gerade Linien zwischen Datenpunkten zu verwenden, <b>glatt</b> um glatte Kurven zwischen Datenpunkten zu verwenden oder <b>keine</b>, um keine Linien anzuzeigen.</li>
|
||||
<li><b>Markierungen</b> - über diese Funktion können Sie festlegen, ob die Marker für <b>Liniendiagramme/ Punktdiagramme (XY)</b> angezeigt werden sollen (Kontrollkästchen aktiviert) oder nicht (Kontrollkästchen deaktiviert).<p class="note"><b>Hinweis</b>: Die Optionen <b>Linien</b> und <b>Marker</b> stehen nur für <b>Liniendiagramme</b> und <b>Punktdiagramm (XY)</b> zur Verfügung.</p>
|
||||
</li>
|
||||
<li>Im Abschnitt <b>Achseneinstellungen</b>, können Sie auswählen, ob die <b>horizontalen/vertikalen Achsen</b> angezeigt werden sollen oder nicht. Wählen Sie dazu einfach <b>einblenden</b> oder <b>ausblenden</b> aus der Dropdown-Liste aus. Außerdem können Sie auch die Parameter für <b>horizontale/vertikale Achsenbeschriftung</b> eingeben:<ul>
|
||||
<li>Legen Sie fest, ob die <b>horizontalen Achsentitel</b> angezeigt werden soll oder nicht. Wählen Sie dazu einfach die entsprechende Option aus der Dropdown-Liste aus:<ul>
|
||||
<li>Im Abschnitt <b>Achseneinstellungen</b> können Sie auswählen, ob die <b>horizontalen/vertikalen Achsen</b> angezeigt werden sollen oder nicht. Wählen Sie dazu einfach <b>einblenden</b> oder <b>ausblenden</b> aus der Menüliste aus. Außerdem können Sie auch die Parameter für <b>horizontale/vertikale Achsenbeschriftung</b> festlegen:<ul>
|
||||
<li>Legen Sie fest, ob der <b>horizontale Achsentitel</b> angezeigt werden soll oder nicht. Wählen Sie dazu einfach die entsprechende Option aus der Menüliste aus:<ul>
|
||||
<li><b>Keinen</b> - der Titel der horizontalen Achse wird nicht angezeigt.</li>
|
||||
<li><b>Keine Überlappung</b> - der Titel wird oberhalb der horizontalen Achse angezeigt.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Wählen Sie die gewünschte Position des <b>vertikalen Achsentitels</b> aus der Dropdown-Liste aus:<ul>
|
||||
<li>Wählen Sie die gewünschte Position des <b>vertikalen Achsentitels</b> aus der Menüliste aus:<ul>
|
||||
<li><b>Keinen</b> - der Titel der vertikalen Achse wird nicht angezeigt.</li>
|
||||
<li><b>Gedreht</b> - der Titel wird links von der vertikalen Achse von unten nach oben angezeigt.</li>
|
||||
<li><b>Horizontal</b> - der Titel wird links von der vertikalen Achse von links nach rechts angezeigt.</li>
|
||||
|
@ -86,18 +86,18 @@
|
|||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Im Abschnitt <b>Gitternetzlinien</b>, können Sie festlegen, welche der <b>horizontalen/vertikalen Gitternetzlinien</b> angezeigt werden sollen. Wählen Sie dazu einfach die entsprechende Option aus der Dropdown-Liste aus: <b>Hauptgitternetz</b>, <b>Hilfsgitternetz</b> oder <b>Alle</b>. Wenn Sie alle Gitternetzlinien ausblenden wollen, wählen Sie die Option <b>Keine</b>.<p class="note"><b>Hinweis</b>: Die Abschnitte <b>Achseneinstellungen</b> und <b>Gitternetzlinien</b> sind für <b>Kreisdiagramme</b> deaktiviert, da bei diesem Diagrammtyp keine Achsen oder Gitternetze vorhanden sind.</p>
|
||||
<li>Im Abschnitt <b>Gitternetzlinien</b>, können Sie festlegen, welche der <b>horizontalen/vertikalen Gitternetzlinien</b> angezeigt werden sollen. Wählen Sie dazu einfach die entsprechende Option aus der Menüliste aus: <b>Hauptgitternetz</b>, <b>Hilfsgitternetz</b> oder <b>Alle</b>. Wenn Sie alle Gitternetzlinien ausblenden wollen, wählen Sie die Option <b>Keine</b>.<p class="note"><b>Hinweis</b>: Die Abschnitte <b>Achseneinstellungen</b> und <b>Gitternetzlinien</b> sind für <b>Kreisdiagramme</b> deaktiviert, da bei diesem Diagrammtyp keine Achsen oder Gitternetze vorhanden sind.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p><img alt="Diagramme - Erweiterte Einstellungen" src="../images/chartsettings3.png" /></p>
|
||||
<p class="note"><b>Hinweis</b>: Die Registerkarte <b>vertikale/horizontale Achsen</b> ist für <b>Kreisdiagramme</b> deaktiviert, da bei diesem Diagrammtyp keine Achsen vorhanden sind.</p>
|
||||
<p>Auf der Registerkarte <b>Vertikale Achse</b> können Sie die Parameter der vertikalen Achse ändern, die auch als Werteachse oder Y-Achse bezeichnet wird und die numerische Werte anzeigt. Beachten Sie, dass bei <b>Balkendiagrammen</b> die vertikale Achse die Rubrikenachse ist an der die Textbeschriftungen anzeigt werden, daher entsprechen in diesem Fall die Optionen in der Registerkarte <b>Vertikale Achse</b> den im nächsten Abschnitt beschriebenen Optionen. Für <b>Punktdiagramme (XY)</b> sind beide Achsen Wertachsen.</p>
|
||||
<p>Auf der Registerkarte <b>Vertikale Achse</b> können Sie die Parameter der vertikalen Achse ändern, die auch als Werteachse oder Y-Achse bezeichnet wird und die numerische Werte anzeigt. Beachten Sie, dass bei <b>Balkendiagrammen</b> die vertikale Achse die Rubrikenachse ist, an der die Textbeschriftungen anzeigt werden, daher entsprechen in diesem Fall die Optionen in der Registerkarte <b>Vertikale Achse</b> den im nächsten Abschnitt beschriebenen Optionen. Für <b>Punktdiagramme (XY)</b> sind beide Achsen Wertachsen.</p>
|
||||
<ul>
|
||||
<li>Im Abschnitt <b>Achsenoptionen</b> können die folgenden Parameter festgelegt werden:<ul>
|
||||
<li><b>Mindestwert</b> - der niedrigste Wert, der am Anfang der vertikalen Achse angezeigt wird. Standardmäßig ist die Option <b>Automatisch</b> ausgewählt. In diesem Fall wird der Mindestwert automatisch abhängig vom ausgewählten Datenbereich berechnet. Alternativ können Sie die Option <b>Festlegen</b> aus der Menüliste auswählen und den gewünschten Wert in das dafür vorgesehene Feld eingeben.</li>
|
||||
<li><b>Höchstwert</b> - der höchste Wert, der am Ende der vertikalen Achse angezeigt wird. Standardmäßig ist die Option <b>Automatisch</b> ausgewählt. In diesem Fall wird der Höchstwert automatisch abhängig vom ausgewählten Datenbereich berechnet. Alternativ können Sie die Option <b>Festlegen</b> aus der Menüliste auswählen und den gewünschten Wert in das dafür vorgesehene Feld eingeben.</li>
|
||||
<li><b>Schnittstelle</b> - bestimmt den Punkt auf der vertikalen Achse, an dem die horizontale Achse die vertikale Achse kreuzt. Standardmäßig ist die Option <b>Automatisch</b> ausgewählt. In diesem Fall wird der Wert für die Schnittstelle automatisch abhängig vom ausgewählten Datenbereich berechnet. Alternativ können Sie die Option <b>Wert</b> aus der Menüliste auswählen und einen anderen Wert in das dafür vorgesehene Feld eingeben oder Sie legen den Achsenschnittpunkt am <b>Mindest-/Höchstwert</b> auf der vertikalen Achse fest.</li>
|
||||
<li><b>Einheiten anzeigen</b> - Festlegung der numerischen Werte die auf der vertikalen Achse angezeigt werden sollen. Diese Option kann nützlich sein, wenn Sie mit großen Zahlen arbeiten und die Werte auf der Achse kompakter und lesbarer angezeigt möchten (Sie können z.B. 50.000 als 50 anzeigen, indem Sie die Anzeigeeinheit <b>in Tausendern</b> auswählen). Wählen Sie die gewünschten Einheiten aus der Menüliste aus: <b>In Hundertern</b>, <b>in Tausendern</b>, <b>10 000</b>, <b>100 000</b>, <b>in Millionen</b>, <b>10.000.000</b>, <b>100.000.000</b>, <b>in Milliarden</b>, <b>in Trillionen</b>, oder Sie wählen die Option <b>Keine</b>, um zu den Standardeinheiten zurückzukehren.</li>
|
||||
<li><b>Einheiten anzeigen</b> - Festlegung der numerischen Werte, die auf der vertikalen Achse angezeigt werden sollen. Diese Option kann nützlich sein, wenn Sie mit großen Zahlen arbeiten und die Werte auf der Achse kompakter und lesbarer anzeigen wollen (Sie können z.B. 50.000 als 50 anzeigen, indem Sie die Anzeigeeinheit <b>in Tausendern</b> auswählen). Wählen Sie die gewünschten Einheiten aus der Menüliste aus: <b>In Hundertern</b>, <b>in Tausendern</b>, <b>10 000</b>, <b>100 000</b>, <b>in Millionen</b>, <b>10.000.000</b>, <b>100.000.000</b>, <b>in Milliarden</b>, <b>in Trillionen</b>, oder Sie wählen die Option <b>Keine</b>, um zu den Standardeinheiten zurückzukehren.</li>
|
||||
<li><b>Werte in umgekehrter Reihenfolge</b> - die Werte werden in absteigender Reihenfolge angezeigt. Wenn das Kontrollkästchen deaktiviert ist, wird der niedrigste Wert unten und der höchste Wert oben auf der Achse angezeigt. Wenn das Kontrollkästchen aktiviert ist, werden die Werte in absteigender Reihenfolge angezeigt.</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
@ -108,7 +108,7 @@
|
|||
<li><b>Außen</b> - die Skalenstriche werden auf der Außenseite der Achse angezeigt.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Im Abschnitt <b>Beschriftungsoptionen</b> können Sie die Darstellung von Hauptintervallen die Werte anzeigen anpassen. Um die <b>Anzeigeposition</b> in Bezug auf die vertikale Achse festzulegen, wählen Sie die gewünschte Option aus der Menüliste aus:<ul>
|
||||
<li>Im Abschnitt <b>Beschriftungsoptionen</b> können Sie die Darstellung von Hauptintervallen, die Werte anzeigen, anpassen. Um die <b>Anzeigeposition</b> in Bezug auf die vertikale Achse festzulegen, wählen Sie die gewünschte Option aus der Menüliste aus:<ul>
|
||||
<li><b>Keine</b> - es werden keine Skalenbeschriftungen angezeigt.</li>
|
||||
<li><b>Tief</b> - die Skalenbeschriftung wird links vom Diagrammbereich angezeigt.</li>
|
||||
<li><b>Hoch</b> - die Skalenbeschriftung wird rechts vom Diagrammbereich angezeigt.</li>
|
||||
|
@ -130,7 +130,7 @@
|
|||
<li><b>Intervalle zwischen Teilstrichen</b> - legt fest, wie viele Kategorien zwischen zwei benachbarten Teilstrichen angezeigt werden sollen.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Im Abschnitt <b>Beschriftungsoptionen</b> können Sie die Darstellung von der Beschriftungen für Kategorien anpassen.<ul>
|
||||
<li>Im Abschnitt <b>Beschriftungsoptionen</b> können Sie die Darstellung von Beschriftungen für Kategorien anpassen.<ul>
|
||||
<li><b>Beschriftungsposition</b> - legt fest, wo die Beschriftungen in Bezug auf die horizontale Achse positioniert werden sollen: Wählen Sie die gewünschte Position aus der Dropdown-Liste aus: <b>Keine</b> - es wird keine Achsenbeschriftung angezeigt, <b>Tief</b> - die Kategorien werden im unteren Diagrammbereich angezeigt, <b>Hoch</b> - die Kategorien werden im oberen Diagrammbereich angezeigt, <b>Neben der Achse</b> - die Kategorien werden neben der Achse angezeigt.</li>
|
||||
<li><b>Abstand Achsenbeschriftung</b> - legt fest, wie dicht die Achsenbeschriftung an der Achse positioniert wird. Sie können den gewünschten Wert im dafür vorgesehenen Eingabefeld festlegen. Je höher der eingegebene Wert, desto größer der Abstand zwischen der Achse und der Achsenbeschriftung.</li>
|
||||
<li><b>Intervalle zwischen Achsenbeschriftungen</b> - legt fest, wie viele Kategorien auf der Achse angezeigt werden sollen. Standardmäßig ist die Option <b>Automatisch</b> ausgewählt. In diesem Fall werden alle Kategorien auf der Achse angezeigt. Alternativ können Sie die Option <b>Manuell</b> aus der Menüliste auswählen und den gewünschten Wert in das dafür vorgesehene Feld eingeben. Geben Sie zum Beispiel die Zahl 2 an, dann wird jede zweite Kategorie auf der Achse angezeigt usw.</li>
|
||||
|
@ -138,7 +138,7 @@
|
|||
</li>
|
||||
</ul>
|
||||
<p><img alt="Diagramm - Erweiterte Einstellungen" src="../images/chartsettings5.png" /></p>
|
||||
<p>Die Registerkarte <b>Alternativtext</b> ermöglicht die Eingabe eines <b>Titels</b> und einer <b>Beschreibung</b> die Personen mit Sehbehinderungen oder kognitiven Beeinträchtigungen vorgelesen werden kann, damit sie besser verstehen können, welche Informationen in dem Diagramm enthalten sind.</p>
|
||||
<p>Die Registerkarte <b>Alternativtext</b> ermöglicht die Eingabe eines <b>Titels</b> und einer <b>Beschreibung</b>, die Personen mit Sehbehinderungen oder kognitiven Beeinträchtigungen vorgelesen werden kann, damit sie besser verstehen können, welche Informationen in dem Diagramm enthalten sind.</p>
|
||||
</li>
|
||||
</ol>
|
||||
<hr />
|
||||
|
@ -148,18 +148,18 @@
|
|||
<hr />
|
||||
<h3>Diagrammelemente bearbeiten</h3>
|
||||
<p>Um den <b>Diagrammtitel</b> zu bearbeiten, wählen Sie den Standardtext mit der Maus aus und geben Sie stattdessen Ihren eigenen Text ein.</p>
|
||||
<p>Um die Schriftformatierung innerhalb von Textelementen wie beispielsweise Diagrammtitel, Achsentitel, Legendeneinträge, Datenbeschriftungen etc. zu ändern, wählen Sie das gewünschte Textelement durch Klicken mit der linken Maustaste aus. Wechseln Sie in die Registerkarte <b>Start</b> und nutzen Sie die in der Menüleiste angezeigten Symbole, um <a href="../UsageInstructions/FontTypeSizeColor.htm" onclick="onhyperlinkclick(this)">Schriftart, Schriftgröße und Schriftfarbe</a> oder <a href="../UsageInstructions/DecorationStyles.htm" onclick="onhyperlinkclick(this)">DekoStile</a> zu bearbeiten.</p>
|
||||
<p>Um die Schriftformatierung innerhalb von Textelementen, wie beispielsweise Diagrammtitel, Achsentitel, Legendeneinträge, Datenbeschriftungen etc. zu ändern, wählen Sie das gewünschte Textelement durch Klicken mit der linken Maustaste aus. Wechseln Sie in die Registerkarte <b>Start</b> und nutzen Sie die in der Menüleiste angezeigten Symbole, um <a href="../UsageInstructions/FontTypeSizeColor.htm" onclick="onhyperlinkclick(this)">Schriftart, Schriftgröße und Schriftfarbe</a> oder <a href="../UsageInstructions/DecorationStyles.htm" onclick="onhyperlinkclick(this)">DekoStile</a> zu bearbeiten.</p>
|
||||
<p>Um ein Diagrammelement zu löschen, wählen Sie es mit der linken Maustaste aus und drücken Sie die Taste <b>Entfernen</b> auf Ihrer Tastatur.</p>
|
||||
<p>Sie haben die Möglichkeit 3D-Diagramme mithilfe der Maus zu drehen. Klicken Sie mit der linken Maustaste in den Diagrammbereich und halten Sie die Maustaste gedrückt, bis ein blaues gestricheltes Feld angezeigt wird. Ziehen Sie den Mauszeiger ohne die Maustaste loszulassen in die gewünschte Richtung, um die 3D-Diagrammausrichtung zu ändern.</p>
|
||||
<p>Sie haben die Möglichkeit 3D-Diagramme mithilfe der Maus zu drehen. Klicken Sie mit der linken Maustaste in den Diagrammbereich und halten Sie die Maustaste gedrückt. Um die 3D-Diagrammausrichtung zu ändern, ziehen Sie den Mauszeiger in die gewünschte Richtung ohne die Maustaste loszulassen.</p>
|
||||
<p><img alt="3D-Diagramm" src="../images/3dchart.png" /></p>
|
||||
<hr />
|
||||
<h3>Diagrammeinstellungen anpassen</h3>
|
||||
<p><img class="floatleft" alt="Registerkarte Diagrammeinstellungen" src="../images/right_chart.png" /></p>
|
||||
<p>Einige Diagrammeigenschaften können mithilfe der Registerkarte <b>Diagrammeinstellungen</b> in der rechten Seitenleiste geändert werden. Um das Menü zu aktivieren, klicken Sie auf das Diagramm und wählen Sie rechts das Symbol <b>Diagrammeinstellungen</b> <img alt="Diagrammeinstellungen" src="../images/chart_settings_icon.png" /> aus. Die folgenden Eigenschaften können geändert werden:</p>
|
||||
<p>Einige Diagrammeigenschaften können mithilfe der Registerkarte <b>Diagrammeinstellungen</b> in der rechten Seitenleiste geändert werden. Um das Menü zu aktivieren, klicken Sie auf das Diagramm und wählen Sie rechts das Symbol <b>Diagrammeinstellungen</b> <img alt="Diagrammeinstellungen" src="../images/chart_settings_icon.png" /> aus. Hier können die folgenden Eigenschaften geändert werden:</p>
|
||||
<ul style="margin-left: 280px;">
|
||||
<li><b>Größe</b> - zeigt die aktuelle <b>Breite</b> und <b>Höhe</b> des Diagramms an.</li>
|
||||
<li><b>Textumbruch</b> - der Stil für den Textumbruch wird aus den verfügbaren Vorlagen ausgewählt: Mit Text in Zeile, Quadrat, Eng, Transparent, Oben und unten, Vorne, Hinten (für weitere Information lesen Sie die folgende Beschreibung der erweiterten Einstellungen).</li>
|
||||
<li><b>Diagrammtyp ändern</b> - ändern Sie den ausgewählten Diagrammtyp bzw. -stil.<p>Um den gewünschten <b>Diagrammstil</b> auszuwählen, verwenden Sie im Abschnitt <b>Diagrammtyp ändern</b> das zweite Dropdown-Menü.</p>
|
||||
<li><b>Diagrammtyp ändern</b> - ändern Sie den ausgewählten Diagrammtyp bzw. -stil.<p>Um den gewünschten <b>Diagrammstil</b> auszuwählen, verwenden Sie im Abschnitt <b>Diagrammtyp ändern</b> die zweite Auswahlliste.</p>
|
||||
</li>
|
||||
<li><b>Daten bearbeiten</b> - das Fenster „Diagrammtools“ wird geöffnet.<p class="note"><b>Hinweis</b>: Wenn Sie einen Doppelklick auf einem in Ihrem Dokument enthaltenen Diagramm ausführen, öffnet sich das Fenster „Diagrammtools“.</p>
|
||||
</li>
|
||||
|
@ -179,7 +179,7 @@
|
|||
<p><img alt="Diagramme - Erweiterte Einstellungen: Größe" src="../images/chart_properties.png" /></p>
|
||||
<p>Die Registerkarte <b>Größe</b> enthält die folgenden Parameter:</p>
|
||||
<ul>
|
||||
<li><b>Breite</b> und <b>Höhe</b> - nutzen Sie diese Optionen, um die Breite und/oder Höhe des Diagramms zu ändern. Wenn Sie die Funktion <b>Seitenverhältnis sperren</b> <img alt="Seitenverhältnis sperren" src="../images/constantproportions.png" /> aktivieren (in diesem Fall sieht das Symbol so aus <img alt="Symbol Seitenverhältnis sperren aktiviert" src="../images/constantproportionsactivated.png" />), werden Breite und Höhe gleichmäßig geändert und das ursprünglichen Seitenverhältnis des Diagramms wird beibehalten.</li>
|
||||
<li><b>Breite</b> und <b>Höhe</b> - nutzen Sie diese Optionen, um die Breite und/oder Höhe des Diagramms zu ändern. Wenn Sie die Funktion <b>Seitenverhältnis sperren</b> <img alt="Seitenverhältnis sperren" src="../images/constantproportions.png" /> aktivieren (in diesem Fall sieht das Symbol so aus <img alt="Symbol Seitenverhältnis sperren aktiviert" src="../images/constantproportionsactivated.png" />), werden Breite und Höhe gleichmäßig geändert und das ursprüngliche Seitenverhältnis des Diagramms wird beibehalten.</li>
|
||||
</ul>
|
||||
<p><img alt="Diagramme - Erweiterte Einstellungen: Textumbruch" src="../images/chart_properties_1.png" /></p>
|
||||
<p>Die Registerkarte <b>Textumbruch</b> enthält die folgenden Parameter:</p>
|
||||
|
@ -217,7 +217,7 @@
|
|||
<li><b>Überlappung zulassen</b> legt fest, ob zwei Diagramme einander überlagern können oder nicht, wenn Sie diese auf einer Seite dicht aneinander bringen.</li>
|
||||
</ul>
|
||||
<p><img alt="Diagramm - Erweiterte Einstellungen" src="../images/chart_properties_3.png" /></p>
|
||||
<p>Die Registerkarte <b>Alternativtext</b> ermöglicht die Eingabe eines <b>Titels</b> und einer <b>Beschreibung</b> die Personen mit Sehbehinderungen oder kognitiven Beeinträchtigungen vorgelesen werden kann, damit sie besser verstehen können, welche Informationen in dem Diagramm enthalten sind.</p>
|
||||
<p>Die Registerkarte <b>Alternativtext</b> ermöglicht die Eingabe eines <b>Titels</b> und einer <b>Beschreibung</b>, die Personen mit Sehbehinderungen oder kognitiven Beeinträchtigungen vorgelesen werden kann, damit sie besser verstehen können, welche Informationen in dem Diagramm enthalten sind.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,72 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Inhaltssteuerelemente einfügen</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Insert content controls to create a form with input fields that can be filled in by other users, or protect some parts of the document from being edited or deleted" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Suche" type="text" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Inhaltssteuerelemente einfügen</h1>
|
||||
<p>Mithilfe von Inhaltssteuerelementen können Sie ein Formular mit Eingabefeldern erstellen, die von anderen Benutzern ausgefüllt werden können; oder Sie können Teile des Dokuments davor schützen, bearbeitet oder gelöscht zu werden. Inhaltssteuerelemente sind Objekte die Text enthalten, der formatiert werden kann. Inhaltssteuerelemente für einfachen Text können nur einen Absatz enthalten, während Steuerelemente für Rich-Text-Inhalte mehrere Absätze, Listen und Objekte (Bilder, Formen, Tabellen usw.) enthalten können.</p>
|
||||
<h3>Inhaltssteuerelemente hinzufügen</h3>
|
||||
<p>Neues <b>Inhaltssteuerelement für einfachen Text</b> erstellen:</p>
|
||||
<ol>
|
||||
<li>Positionieren Sie den Einfügepunkt innerhalb einer Textzeile, in der das Steuerelement hinzugefügt werden soll <br />oder wählen Sie eine Textpassage aus, die Sie zum Steuerungsinhalt machen wollen.</li>
|
||||
<li>Wechseln Sie in der oberen Symbolleiste auf die Registerkarte <b>Einfügen</b>.</li>
|
||||
<li>Klicken Sie auf den Pfeil neben dem Symbol <img alt="Inhaltssteuerelemente" src="../images/insertccicon.png" /> <b>Inhaltssteuerelemente</b>.</li>
|
||||
<li>Wählen sie die Option <b>Inhaltssteuerelement für einfachen Text einfügen</b> aus dem Menü aus.</li>
|
||||
</ol>
|
||||
<p>Das Steuerelement wird an der Einfügemarke innerhalb einer Zeile des vorhandenen Texts eingefügt. Bei Steuerelementen für einfachen Text können keine Zeilenumbrüche hinzugefügt werden und sie dürfen keine anderen Objekte wie Bilder, Tabellen usw. enthalten.</p>
|
||||
<p><img alt="Neues Inhaltssteuerelement für einfachen Text" src="../images/addedcontentcontrol.png" /></p>
|
||||
<p>Neues <b>Inhaltssteuerelement für Rich-Text</b> erstellen:</p>
|
||||
<ol>
|
||||
<li>Positionieren Sie den Einfügemarke am Ende eines Absatzes, nach dem das Steuerelement hinzugefügt werden soll <br />oder wählen Sie einen oder mehrere der vorhandenen Absätze aus, die Sie zum Steuerungsinhalt machen wollen.</li>
|
||||
<li>Wechseln Sie in der oberen Symbolleiste auf die Registerkarte <b>Einfügen</b>.</li>
|
||||
<li>Klicken Sie auf den Pfeil neben dem Symbol <img alt="Inhaltssteuerelemente" src="../images/insertccicon.png" /> <b>Inhaltssteuerelemente</b>.</li>
|
||||
<li>Wählen sie die Option <b>Inhaltssteuerelement für Rich-Text einfügen</b> aus dem Menü aus.</li>
|
||||
</ol>
|
||||
<p>Das Steuerungselement wird in einem neuen Paragraphen eingefügt. Rich-Text-Inhaltssteuerelemente ermöglichen das Hinzufügen von Zeilenumbrüchen und Sie können multiple Absätze sowie auch Objekte enthalten, z. B. Bilder, Tabellen, andere Inhaltssteuerelemente usw.</p>
|
||||
<p><img alt="Inhaltssteuerelement für Rich-Text:" src="../images/richtextcontentcontrol.png" /></p>
|
||||
<p class="note"><b>Hinweis</b>: Der Rahmen des Textfelds für das Inhaltssteuerelement ist nur sichtbar, wenn das Steuerelement ausgewählt ist. In der gedruckten Version sind die Ränder nicht zu sehen.</p>
|
||||
<h3>Inhaltssteuerelemente verschieben</h3>
|
||||
<p>Steuerelemente können an eine andere Stelle im Dokument <b>verschoben</b> werden: Klicken Sie auf die Schaltfläche links neben dem Rahmen des Steuerelements, um das Steuerelement auszuwählen und ziehen Sie mit gedrückter Maustaste an die gewünschte Position.</p>
|
||||
<p><img alt="Inhaltssteuerelemente verschieben" src="../images/movecontentcontrol.png" /></p>
|
||||
<p>Sie können Inhaltssteuerelemente auch <b>kopieren und einfügen</b>: wählen Sie das entsprechende Steuerelement aus und verwenden Sie die Tastenkombinationen <b>STRG+C/STRG+V</b>.</p>
|
||||
<h3>Inhaltssteuerelemente bearbeiten</h3>
|
||||
<p>Ersetzen Sie den Standardtext im Steuerelement („Text eingeben") durch Ihren eigenen Text: Wählen Sie den Standardtext aus und geben Sie einen neuen Text ein oder kopieren Sie eine beliebige Textpassage und fügen Sie diese in das Inhaltssteuerelement ein.</p>
|
||||
<p>Der Text im Inhaltssteuerelement eines beliebigen Typs (für einfachen Text und Rich-Text) kann mithilfe der Symbole in der oberen Symbolleiste formatiert werden: Sie können <a href="../UsageInstructions/FontTypeSizeColor.htm" onclick="onhyperlinkclick(this)">Schriftart, Größe und Farbe</a> anpassen und <a href="../UsageInstructions/DecorationStyles.htm" onclick="onhyperlinkclick(this)">DekoSchriften</a> und <a href="../UsageInstructions/FormattingPresets.htm" onclick="onhyperlinkclick(this)">Formatierungsvorgaben</a> anwenden. Es ist auch möglich die Texteigenschaften im Fenster <b>Paragraph - Erweiterte Einstellungen</b> zu ändern, das Ihnen im Kontextmenü oder in der rechten Seitenleiste zur Verfügung steht. Text in Rich-Text-Inhaltssteuerelementen kann wie ein normaler Text im Dokument formatiert werden, so können Sie beispielsweise den <a href="../UsageInstructions/LineSpacing.htm" onclick="onhyperlinkclick(this)">Zeilenabstand</a> festlegen, <a href="../UsageInstructions/ParagraphIndents.htm" onclick="onhyperlinkclick(this)">Absatzeinzüge ändern</a> oder <a href="../UsageInstructions/SetTabStops.htm" onclick="onhyperlinkclick(this)">Tab-Stopps</a> anpassen.</p>
|
||||
<h3>Einstellungen für Inhaltssteuerelemente ändern</h3>
|
||||
<p>Die Einstellungen für Inhaltssteuerelemente öffnen Sie wie folgt:</p>
|
||||
<ul>
|
||||
<li>Wählen Sie das gewünschte Inhaltssteuerelement aus und klicken Sie auf den Pfeil neben dem Symbol <img alt="Inhaltssteuerelemente" src="../images/insertccicon.png" /> <b>Inhaltssteuerelemente</b> in der oberen Symbolleiste und wählen Sie dann die Option <b>Einstellungen Steuerelemente</b> aus dem Menü aus.</li>
|
||||
<li>Klicken Sie mit der rechten Maustaste auf eine beliebige Stelle im Inhaltssteuerelement und nutzen Sie die Option <b>Einstellungen Steuerungselement</b> im Kontextmenü.</li>
|
||||
</ul>
|
||||
<p>Im sich nun öffnenden Fenstern können Sie die folgenden Parameter festlegen:</p>
|
||||
<p><img alt="Fenster Einstellungen für Inhaltssteuerelemente" src="../images/ccsettingswindow.png" /></p>
|
||||
<ul>
|
||||
<li>Legen Sie in den entsprechenden Feldern <b>Titel</b> oder <b>Tag</b> des Steuerelements fest.</li>
|
||||
<li>Im Abschnitt <b>Sperren</b> können Sie das Inhaltssteuerelement mit der entsprechenden Option vor dem ungewollten Löschen oder Bearbeiten schützen:<ul>
|
||||
<li><b>Inhaltssteuerelement kann nicht gelöscht werden</b> - Aktivieren Sie dieses Kontrollkästchen, um ein Löschen des Steuerelements zu verhindern.</li>
|
||||
<li><b>Inhaltssteuerelement kann nicht bearbeitet werden</b> - Aktivieren Sie dieses Kontrollkästchen, um ein Bearbeiten des Steuerelements zu verhindern.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Klicken Sie im Fenster Einstellungen auf <b>OK</b>, um die Änderungen zu bestätigen.</p>
|
||||
<h3>Inhaltssteuerelemente entfernen</h3>
|
||||
<p>Um ein Steuerelement zu entfernen ohne den Inhalt zu löschen, klicken Sie auf das entsprechende Ssteuerelement und gehen Sie vor wie folgt:</p>
|
||||
<ul>
|
||||
<li>Klicken Sie auf den Pfeil neben dem Symbol <img alt="Inhaltssteuerelemente" src="../images/insertccicon.png" /> <b>Inhaltssteuerelemente</b> in der oberen Symbolleiste und wählen Sie dann die Option <b>Steuerelement entfernen</b> aus dem Menü aus.</li>
|
||||
<li>Klicken Sie mit der rechten Maustaste auf das Steuerungselement und wählen Sie die Option <b>Steuerungselement entfernen</b> im Kontextmenü aus.</li>
|
||||
</ul>
|
||||
<p>Um ein Steuerelement einschließlich Inhalt zu entfernen, wählen Sie das entsprechende Steuerelement aus und drücken Sie die Taste <b>Löschen</b> auf der Tastatur.</p>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -18,8 +18,8 @@
|
|||
<p>Eine Fußnote einfügen:</p>
|
||||
<ol>
|
||||
<li>Positionieren Sie den Einfügepunkt am Ende der Textpassage, der Sie eine Fußnote hinzufügen möchten.</li>
|
||||
<li>Wechseln Sie in der oberen Symbolleiste auf die Registerkarte <b>Einfügen</b>.</li>
|
||||
<li>Klicken Sie auf das Symbol <img alt="Fußnote" src="../images/addfootnote.png" /> <b>Fußnote</b> in der oberen Symbolleiste oder<br/> klicken Sie auf das Pfeilsymbol <img alt="Fußnote" src="../images/addfootnote.png" /> <b>Fußnote</b> und wählen Sie die Option <b>Fußnote einfügen</b> aus dem Menü aus.<p>Das Fußnotenzeichen (d.h. Das hochgestellte Zeichen, das eine Fußnote anzeigt) wird im Dokumenttext angezeigt und die Textmarke springt an das unteren Ende der aktuellen Seite.</p>
|
||||
<li>Wechseln Sie in der oberen Symbolleiste auf die Registerkarte <b>Verweise</b>.</li>
|
||||
<li>Klicken Sie auf das Symbol <img alt="Fußnote" src="../images/addfootnote.png" /> <b>Fußnote</b> in der oberen Symbolleiste oder<br/> klicken Sie auf den Pfeil neben dem Symbol <img alt="Fußnote" src="../images/addfootnote.png" /> <b>Fußnote</b> und wählen Sie die Option <b>Fußnote einfügen</b> aus dem Menü aus.<p>Das Fußnotenzeichen (d.h. das hochgestellte Zeichen, das eine Fußnote anzeigt) wird im Dokumenttext angezeigt und die Textmarke springt an das unteren Ende der aktuellen Seite.</p>
|
||||
</li>
|
||||
<li>Geben Sie den Text der Fußnote ein.</li>
|
||||
</ol>
|
||||
|
@ -29,19 +29,19 @@
|
|||
<p><img alt="Fußnotentext" src="../images/footnotetext.png" /></p>
|
||||
<p>Um zwischen den hinzugefügten Fußnoten im Dokumenttext zu navigieren,</p>
|
||||
<ol>
|
||||
<li>klicken Sie auf der Registerkarte <b>Einfügen</b> in der oberen Symbolleiste auf den Pfeil neben dem Symbol <img alt="Fußnote" src="../images/addfootnote.png" /> <b>Fußnote</b>.</li>
|
||||
<li>klicken Sie auf der Registerkarte <b>Verweise</b> in der oberen Symbolleiste auf den Pfeil neben dem Symbol <img alt="Fußnote" src="../images/addfootnote.png" /> <b>Fußnote</b>.</li>
|
||||
<li>Navigieren Sie nun im Abschnitt <b>Zu Fußnoten wechseln</b> über die Pfeile <img alt="Vorherige Fußnote" src="../images/previousfootnote.png" /> und <img alt="Nächste Fußnote" src="../images/nextfootnote.png" /> zur nächsten oder zur vorherigen Fußnote.</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<p>Einstellungen der Fußnotenändern:</p>
|
||||
<p>Einstellungen der Fußnoten ändern:</p>
|
||||
<ol>
|
||||
<li>klicken Sie auf der Registerkarte <b>Einfügen</b> in der oberen Symbolleiste auf den Pfeil neben dem Symbol <img alt="Fußnote" src="../images/addfootnote.png" /> <b>Fußnote</b>.</li>
|
||||
<li>Wählen Sie die Option <b>Fußnoteneinstellungen</b> aus dem Menü aus.</li>
|
||||
<li>Klicken Sie auf der Registerkarte <b>Verweise</b> in der oberen Symbolleiste auf den Pfeil neben dem Symbol <img alt="Fußnote" src="../images/addfootnote.png" /> <b>Fußnote</b>.</li>
|
||||
<li>Wählen Sie die Option <b>Einstellungen Fußnoten</b> aus dem Menü aus.</li>
|
||||
<li>Ändern Sie im Fenster <b>Einstellungen Fußnoten</b> die aktuellen Parameter:<p><img alt="Fenster Fußnoteneinstellungen" src="../images/footnotes_settings.png" /></p>
|
||||
<ul>
|
||||
<li>Legen Sie die <b>Position</b> der Fußnoten auf der Seite fest, indem Sie eine der verfügbaren Optionen auswählen:<ul>
|
||||
<li><b>Seitenende</b> - um Fußnoten am unteren Seitenrand zu positionieren (diese Option ist standardmäßig ausgewählt).</li>
|
||||
<li><b>Unter dem Text</b> - um Fußnoten dichter am Text zu positionieren. Diese Option ist nützlich, wenn eine Seite nur einen kurzen Textabschnitt enthält.</li>
|
||||
<li><b>Unter dem Text</b> - um Fußnoten dicht am entsprechenden Textabschnitt zu positionieren. Diese Option ist nützlich, wenn eine Seite nur einen kurzen Textabschnitt enthält.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Format</b> der Fußnoten anpassen:<ul>
|
||||
|
@ -67,7 +67,7 @@
|
|||
<p>Um eine einzelne Fußnote zu entfernen, positionieren Sie den Einfügepunkt direkt vor der Fußnotenmarkierung und drücken Sie auf <b>ENTF</b>. Andere Fußnoten werden automatisch neu nummeriert.</p>
|
||||
<p>Um alle Fußnoten in einem Dokument zu entferen,</p>
|
||||
<ol>
|
||||
<li>klicken Sie auf der Registerkarte <b>Einfügen</b> in der oberen Symbolleiste auf den Pfeil neben dem Symbol <img alt="Fußnote" src="../images/addfootnote.png" /> <b>Fußnote</b>.</li>
|
||||
<li>Klicken Sie auf der Registerkarte <b>Verweise</b> in der oberen Symbolleiste auf den Pfeil neben dem Symbol <img alt="Fußnote" src="../images/addfootnote.png" /> <b>Fußnote</b>.</li>
|
||||
<li>Wählen Sie die Option <b>Alle Fußnoten löschen</b> aus dem Menü aus.</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
|
|
@ -21,9 +21,9 @@
|
|||
<li>Positionieren Sie den Cursor an der Stelle, an der Sie das Bild einfügen möchten.</li>
|
||||
<li>Wechseln Sie in der oberen Symbolleiste auf die Registerkarte <b>Einfügen</b>.</li>
|
||||
<li>Klicken Sie in der oberen Symbolleiste auf <img alt="Bild" src="../images/image.png" /> <b>Bild</b>.</li>
|
||||
<li>Wählen Sie eine der folgenden Optionen zum Hochladen des Bildes:<ul>
|
||||
<li>Wählen Sie eine der folgenden Optionen um das Bild hochzuladen:<ul>
|
||||
<li>Mit der Option <b>Bild aus Datei</b> öffnen Sie das Windows-Standarddialogfenster zur Dateiauswahl. Durchsuchen Sie die Festplatte Ihres Computers nach der gewünschten Bilddatei und klicken Sie auf <b>Öffnen</b>.</li>
|
||||
<li>Mit der Option <b>Bild aus URL</b> öffnen Sie das Fenster, zum eingeben der erforderlichen Webadresse, wenn sie die Adresse eingegeben haben, klicken Sie auf <b>OK</b>.</li>
|
||||
<li>Mit der Option <b>Bild aus URL</b> öffnen Sie das Fenster zum Eingeben der erforderlichen Webadresse, wenn Sie die Adresse eingegeben haben, klicken Sie auf <b>OK</b>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Wenn Sie das Bild hinzugefügt haben, können Sie Größe, Eigenschaften und Position ändern.</li>
|
||||
|
@ -32,30 +32,31 @@
|
|||
<p>Um die <img class="floatleft" alt="Bild verschieben" src="../images/moving_image.png" />Bildgröße zu ändern, ziehen Sie die kleine Quadrate <img alt="Quadrat" src="../images/resize_square.png" /> an den Rändern. Um das Originalseitenverhältnis des gewählten Bildes bei der Größenänderung beizubehalten, halten Sie die <b>UMSCHALT</b>-Taste gedrückt und ziehen Sie an einem der Ecksymbole.</p>
|
||||
<p>Verwenden Sie zum Ändern der Bildposition das Symbol <img alt="Pfeil" src="../images/arrow.png" />, das angezeigt wird, wenn Sie den Mauszeiger über das Bild bewegen. Ziehen Sie das Bild an die gewünschte Position, ohne die Maustaste loszulassen.</p>
|
||||
<p>Wenn Sie die das Bild verschieben, werden Hilfslinien angezeigt, damit Sie das Objekt präzise auf der Seite positionieren können (wenn Sie einen anderen Umbruchstil als mit Text in Zeile ausgewählt haben).</p>
|
||||
<p>Um das Bild zu drehen, bewegen Sie den Mauszeiger über den Drehpunkt <img alt="Drehpunkt" src="../images/greencircle.png" /> und ziehen Sie das Bild im oder gegen den Uhrzeigersinn. Um die Drehung in 15-Grad-Stufen durchzuführen, halten Sie die <b>UMSCHALT</b>-Taste bei der Drehung gedrückt.</p>
|
||||
<p>Um das Bild zu drehen, bewegen Sie den Mauszeiger über den Drehpunkt <img alt="Drehpunkt" src="../images/greencircle.png" /> und ziehen Sie das Bild im oder gegen den Uhrzeigersinn. Um ein Objekt in 15-Grad-Stufen zu drehen, halten Sie die <b>UMSCHALT</b>-Taste bei der Drehung gedrückt.</p>
|
||||
<hr />
|
||||
<h3>Bildeinstellungen anpassen</h3>
|
||||
<p><img class="floatleft" alt="Registerkarte Bildeinstellungen" src="../images/right_image.png" />Einige der Bildeinstellungen können mithilfe der Registerkarte <b>Bildeinstellungen</b> auf der rechten Seitenleiste geändert werden. Um diese zu aktivieren, klicken Sie auf das Bild und wählen Sie rechts das Symbol <b>Bildeinstellungen</b> <img alt="Bildeinstellungen" src="../images/image_settings_icon.png" /> aus. Die folgenden Eigenschaften können geändert werden:</p>
|
||||
<p><img class="floatleft" alt="Registerkarte Bildeinstellungen" src="../images/right_image.png" />Einige der Bildeinstellungen können mithilfe der Registerkarte <b>Bildeinstellungen</b> auf der rechten Seitenleiste geändert werden. Um diese zu aktivieren, klicken Sie auf das Bild und wählen Sie rechts das Symbol <b>Bildeinstellungen</b> <img alt="Bildeinstellungen" src="../images/image_settings_icon.png" /> aus. Hier können die folgenden Eigenschaften geändert werden:</p>
|
||||
<ul style="margin-left: 280px;">
|
||||
<li><b>Größe</b> - wird genutzt, um <b>Breite</b> und <b>Höhe</b> des aktuellen Bildes einzusehen. Bei Bedarf können Sie die Standardbildgröße wiederherstellen, indem Sie auf die Schaltfläche <b>Standardgröße</b> klicken. <b>An Seitenränder anpassen</b> - ändern Sie die Bildgröße und passen Sie das Bild an den linken und rechten Seitenrand an.</li>
|
||||
<li><b>Textumbruch</b> - der Stil für den Textumbruch wird aus den verfügbaren Vorlagen ausgewählt: Mit Text in Zeile, Quadrat, Eng, Transparent, Oben und unten, Vorne, Hinten (für weitere Information lesen Sie die folgende Beschreibung der erweiterten Einstellungen).</li>
|
||||
<li><b>Bild ersetzen</b> - um das aktuelle Bild durch ein anderes Bild aus Datei oder Onlinebilder zu ersetzen.</li>
|
||||
</ul>
|
||||
<p>Einige dieser Optionen finden Sie auch im <b>Rechtsklickmenü</b>. Die Menüoptionen sind:</p>
|
||||
</ul>
|
||||
<p>Einige dieser Optionen finden Sie auch im <b>Rechtsklickmenü</b>. Die Menüoptionen sind:</p>
|
||||
<ul style="margin-left: 280px;">
|
||||
<li><b>Ausschneiden, Kopieren, Einfügen</b> - Standardoptionen zum Ausschneiden oder Kopieren ausgewählter Textpassagen/Objekte und zum Einfügen von zuvor ausgeschnittenen/kopierten Textstellen oder Objekten an der aktuellen Cursorposition.</li>
|
||||
<li><b>Anordnen</b> - um das ausgewählte Bild in den Vordergrund bzw. Hintergrund oder eine Ebene nach vorne bzw. hinten zu verschieben sowie Bilder zu gruppieren und die Gruppierung aufzuheben (um diese wie ein einzelnes Objekt behandeln zu können). Weitere Informationen zum Anordnen von Objekten finden Sie auf <a href="../UsageInstructions/AlignArrangeObjects.htm" onclick="onhyperlinkclick(this)">dieser Seite</a>.</li>
|
||||
<li><b>Ausrichten</b> wird verwendet, um das Bild linksbündig, zentriert, rechtsbündig, oben, mittig oder unten auszurichten. Weitere Informationen zum Ausrichten von Objekten finden Sie auf <a href="../UsageInstructions/AlignArrangeObjects.htm" onclick="onhyperlinkclick(this)">dieser Seite</a>.</li>
|
||||
<li><b>Textumbruch</b> - der Stil für den Textumbruch wird aus den verfügbaren Vorlagen ausgewählt: Mit Text in Zeile, Quadrat, Eng, Transparent, Oben und unten, Vorne, Hinten (für weitere Information lesen Sie die folgende Beschreibung der erweiterten Einstellungen). Die Option <b>Umbruchsgrenze bearbeiten</b> ist nur verfügbar, wenn Sie einen anderen Umbruchstil als „Mit Text in Zeile“ auswählen. Ziehen Sie die Umbruchpunkte, um die Grenze benutzerdefiniert anzupassen. Um einen neuen Rahmenpunkt zu erstellen, klicken Sie auf eine beliebige Stelle auf der roten Linie und ziehen Sie diese an die gewünschte Position. <img alt="Umbruchsgrenze bearbeiten" src="../images/wrap_boundary.png" /></li>
|
||||
<li><b>Textumbruch</b> - der Stil für den Textumbruch wird aus den verfügbaren Vorlagen ausgewählt: Mit Text in Zeile, Quadrat, Eng, Transparent, Oben und unten, Vorne, Hinten (für weitere Information lesen Sie die folgende Beschreibung der erweiterten Einstellungen). Die Option <b>Umbruchgrenze bearbeiten</b> ist nur verfügbar, wenn Sie einen anderen Umbruchstil als „Mit Text in Zeile“ auswählen. Ziehen Sie die Umbruchpunkte, um die Grenze benutzerdefiniert anzupassen. Um einen neuen Rahmenpunkt zu erstellen, klicken Sie auf eine beliebige Stelle auf der roten Linie und ziehen Sie diese an die gewünschte Position. <img alt="Umbruchgrenze bearbeiten" src="../images/wrap_boundary.png" /></li>
|
||||
<li><b>Standardgröße</b> - die aktuelle Bildgröße auf die Standardgröße ändern.</li>
|
||||
<li><b>Erweiterte Einstellungen</b> - das Fenster „Bild - Erweiterte Einstellungen“ öffnen.</li>
|
||||
</ul>
|
||||
<p><img class="floatleft" alt="Registerkarte Formeinstellungen" src="../images/right_image_shape.png" /> Ist das Bild ausgewählt, ist rechts auch das Symbol <b>Formeinstellungen</b> <img alt="Formeinstellungen" src="../images/shape_settings_icon.png" /> verfügbar. Klicken Sie auf dieses Symbol, um die Registerkarte <b>Formeinstellungen</b> in der rechten Seitenleiste zu öffnen und passen Sie Form <a href="../UsageInstructions/InsertAutoshapes.htm#shape_stroke" onclick="onhyperlinkclick(this)"><b>Linientyp</b></a>, Größe und Farbe an oder ändern Sie die Form und wählen Sie im Menü <b>AutoForm ändern</b> eine neue Form aus. Entsprechend ändern sich die Form des Bildes.</p>
|
||||
<hr />
|
||||
<p>Um die erweiterte Einstellungen des Bildes zu ändern, klicken Sie mit der rechten Maustaste auf das Bild und wählen Sie die Option <b>Bild - Erweiterte Einstellungen</b> im Rechtsklickmenü oder klicken Sie einfach in der rechten Seitenleiste auf <b>Erweiterte Einstellungen anzeigen</b>. Das Fenster mit den Bildeigenschaften wird geöffnet:</p>
|
||||
<p><img alt="Bild - Erweiterte Einstellungen: Größe" src="../images/image_properties.png" /></p>
|
||||
<p>Die Registerkarte <b>Größe</b> enthält die folgenden Parameter:</p>
|
||||
<ul>
|
||||
<li><b>Breite</b> und <b>Höhe</b> - mit diesen Optionen können Sie die Breite bzw. Höhe des Bildes ändern. Wenn Sie die Funktion <b>Seitenverhältnis sperren</b> <img alt="Seitenverhältnis sperren" src="../images/constantproportions.png" /> aktivieren (in diesem Fall sieht das Symbol so aus <img alt="Symbol Seitenverhältnis sperren aktiviert" src="../images/constantproportionsactivated.png" />), werden Breite und Höhe gleichmäßig geändert und das ursprünglichen Bildseitenverhältnis wird beibehalten Um die Standardgröße des hinzugefügten Bildes wiederherzustellen, klicken Sie auf <b>Standardgröße</b>.</li>
|
||||
<li><b>Breite</b> und <b>Höhe</b> - mit diesen Optionen können Sie die Breite bzw. Höhe des Bildes ändern. Wenn Sie die Funktion <b>Seitenverhältnis sperren</b> <img alt="Seitenverhältnis sperren" src="../images/constantproportions.png" /> aktivieren (in diesem Fall sieht das Symbol so aus <img alt="Symbol Seitenverhältnis sperren aktiviert" src="../images/constantproportionsactivated.png" />), werden Breite und Höhe gleichmäßig geändert und das ursprüngliche Bildseitenverhältnis wird beibehalten. Um die Standardgröße des hinzugefügten Bildes wiederherzustellen, klicken Sie auf <b>Standardgröße</b>.</li>
|
||||
</ul>
|
||||
<p><img alt="Bild - Erweiterte Einstellungen: Textumbruch" src="../images/image_properties_1.png" /></p>
|
||||
<p>Die Registerkarte <b>Textumbruch</b> enthält die folgenden Parameter:</p>
|
||||
|
@ -93,7 +94,7 @@
|
|||
<li><b>Überlappen zulassen</b> legt fest, ob zwei Bilder einander überlagern können oder nicht, wenn Sie diese auf einer Seite dicht aneinander bringen.</li>
|
||||
</ul>
|
||||
<p><img alt="Bild - Erweiterte Einstellungen:" src="../images/image_properties_3.png" /></p>
|
||||
<p>Die Registerkarte <b>Alternativtext</b> ermöglicht die Eingabe eines <b>Titels</b> und einer <b>Beschreibung</b> die Personen mit Sehbehinderungen oder kognitiven Beeinträchtigungen vorgelesen werden kann damit sie besser verstehen können, welche Informationen im Bild vorhanden sind.</p>
|
||||
<p>Die Registerkarte <b>Alternativtext</b> ermöglicht die Eingabe eines <b>Titels</b> und einer <b>Beschreibung</b>, die Personen mit Sehbehinderungen oder kognitiven Beeinträchtigungen vorgelesen werden kann, damit sie besser verstehen können, welche Informationen im Bild enthalten sind.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -19,19 +19,30 @@
|
|||
<ol>
|
||||
<li>Positionieren Sie den Cursor an der Stelle, an der Sie eine Tabelle einfügen möchten.</li>
|
||||
<li>Wechseln Sie in der oberen Symbolleiste auf die Registerkarte <b>Einfügen</b>.</li>
|
||||
<li>Klicken Sie auf das Symbol <img alt="Tabelle" src="../images/table.png" /> <b>Tabelle</b>.</li>
|
||||
<li>Klicken Sie in der oberen Symbolleiste auf das Symbol <img alt="Tabelle" src="../images/table.png" /> <b>Tabelle</b>.</li>
|
||||
<li>Wählen Sie die gewünschte Option für die Erstellung einer Tabelle:<ul>
|
||||
<li><p>Tabelle mit einer vordefinierten Zellenanzahl (maximal 10 x 8 Zellen)</p>
|
||||
<p>Wenn Sie schnell eine Tabelle erstellen möchten, wählen Sie einfach die Anzahl der Zeilen (maximal 8) und Spalten (maximal 10) aus.</p></li>
|
||||
<li><p>Eine benutzerdefinierte Tabelle</p>
|
||||
<li><p>Benutzerdefinierte Tabelle</p>
|
||||
<p>Wenn Sie eine Tabelle mit mehr als 10 x 8 Zellen benötigen, wählen Sie die Option <b>Benutzerdefinierte Tabelle einfügen</b>. Geben Sie nun im geöffneten Fenster die gewünschte Anzahl der Zeilen und Spalten an und klicken Sie anschließend auf <b>OK</b>.</p>
|
||||
<p><img alt="Benutzerdefinierte Tabelle" src="../images/customtable.png" /></p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Wenn Sie eine Tabelle eingefügt haben, können Sie Eigenschaften und Position verändern.</li>
|
||||
<li>Wenn Sie eine Tabelle eingefügt haben, können Sie Eigenschaften, Größe und Position verändern.</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<p>Um die Größe einer Tabelle zu ändern, bewegen Sie den Mauszeiger über das Symbol <img alt="Quadrat" src="../images/resizetable_handle.png" /> in der unteren rechten Ecke und ziehen Sie an der Fläche, bis die Tabelle die gewünschte Größe aufweist.</p>
|
||||
<p><img alt="Tabellengröße ändern" src="../images/resizetable.png" /></p>
|
||||
<p>Sie können die Breite einer bestimmten Spalte oder die Höhe einer Zeile auch manuell ändern. Bewegen Sie den Mauszeiger über den rechten Rand der Spalte, so dass der Cursor in den bidirektionalen Pfeil <img alt="Cursor bei der Änderung der Spaltenbreite" src="../images/changecolumnwidth.png" /> wechselt und ziehen Sie den Rand nach links oder rechts, um die gewünschte Breite festzulegen. Um die Höhe einer einzelnen Zeile manuell zu ändern, bewegen Sie den Mauszeiger über den unteren Rand der Zeile, so dass der Cursor in den bidirektionalen Pfeil <img alt="Cursor bei der Änderung der Zeilenhöhe" src="../images/changerowheight.png" /> wechselt und ziehen Sie den Rand nach oben oder nach unten.</p>
|
||||
<p>Um eine Tabelle zu verschieben, halten Sie mit dem Cursor das Symbol <img alt="Tabellen-Handle auswählen" src="../images/movetable_handle.png" /> fest und ziehen Sie die Tabelle an die gewünschte Stelle im Dokument.</p>
|
||||
<hr />
|
||||
<h3>Eine Tabelle oder Tabelleninhalte auswählen</h3>
|
||||
<p>Um eine ganze Tabelle auszuwählen, klicken Sie auf das <img alt="Tabellen-Handle auswählen" src="../images/movetable_handle.png" /> Handle in der oberen linken Ecke.</p>
|
||||
<p>Um eine bestimmte Zelle auszuwählen, bewegen Sie den Mauszeiger zur linken Seite der gewünschten Zelle, so dass der Cursor zum schwarzen Pfeil <img alt="Zelle auswählen" src="../images/selectcellpointer.png" /> wird und klicken Sie dann mit der linken Maustaste.</p>
|
||||
<p>Um eine bestimmte Zeile auszuwählen, bewegen Sie den Mauszeiger zum linken Rand der gewünschten Zeile, so dass der Cursor zum horizontalen schwarzen Pfeil <img alt="Zeile auswählen" src="../images/selectrowpointer.png" /> wird und klicken Sie dann mit der linken Maustaste.</p>
|
||||
<p>Um eine bestimmte Spalte auszuwählen, bewegen Sie den Mauszeiger zum oberen Rand der gewünschten Spalte, so dass der Cursor zum nach unten gerichteten schwarzen Pfeil <img alt="Spalte auswählen" src="../images/selectcolumnpointer.png" /> wird und klicken Sie dann mit der linken Maustaste.</p>
|
||||
<p>Es ist auch möglich, eine Zelle, Zeile, Spalte oder Tabelle mithilfe von Optionen aus dem Kontextmenü oder aus dem Abschnit <b>Zeilen und Spalten</b> in der rechten Seitenleiste auszuwählen.</p>
|
||||
<hr />
|
||||
<h3>Tabelleneinstellungen anpassen</h3>
|
||||
<p>Einige der Tabelleneigenschaften sowie die Struktur können mithilfe des Rechtsklickmenüs verändert werden. Die Menüoptionen sind:</p>
|
||||
<ul>
|
||||
|
@ -40,14 +51,14 @@
|
|||
<li><b>Einfügen</b> - um eine Zeile oberhalb oder unterhalb bzw. eine Spalte rechts oder links von der Zeile einzufügen, in der sich der Cursor aktuell befindet.</li>
|
||||
<li><b>Löschen</b> - um eine Zeile, Spalte oder Tabelle zu löschen.</li>
|
||||
<li><b>Zellen verbinden</b> - auswählen von zwei oder mehr Zellen, die in einer Zelle zusammengeführt werden sollen.</li>
|
||||
<li><b>Zelle teilen...</b> - in einem neuen Fenster können Sie die gewünschte Anzahl der Spalten und Zeilen auswählen können, in die Zelle geteilt wird.</li>
|
||||
<li><b>Vertikale Ausrichtung in Zellen</b> - den Text in der gewählten Zelle am oberen, unteren Rand oder zentriert ausrichten.</li>
|
||||
<li><b>Textrichtung</b> - Textrichtung in einer Zelle festlegen Sie können den Text horizontal platzieren und vertikal von oben nach unten ausrichten (<b>Text um 90° drehen</b>) oder vertikale von unten nach oben aurichten (<b>Text um 270° drehen</b>).</li>
|
||||
<li><b>Textumbruch - Mit Text in Zeile</b>: der Text wird durch die Tabelle umgebrochen, außerdem können Sie die Ausrichtung wählen: linksbündig, zentriert, rechtsbündig.</li>
|
||||
<li><b>Textumbruch - Umgebend</b>: bei diesem Format wird die Tabelle innerhalb des Textes eingefügt und entsprechend an allen Seiten vom Text umgeben.</li>
|
||||
<li><b>Zelle teilen...</b> - in einem neuen Fenster können Sie die gewünschte Anzahl der Spalten und Zeilen auswählen, in die die Zelle geteilt wird.</li>
|
||||
<li><b>Zeilen verteilen</b> - die ausgewählten Zellen werden so angepasst, dass sie dieselbe Höhe haben, ohne dass die Gesamthöhe der Tabelle geändert wird.</li>
|
||||
<li><b>Spalten verteilen</b> - die ausgewählten Zellen werden so angepasst, dass sie dieselbe Breite haben, ohne dass die Gesamtbreite der Tabelle geändert wird.</li>
|
||||
<li><b>Vertikale Ausrichtung in Zellen</b> - den Text in der gewählten Zelle am oberen, unteren Rand oder zentriert ausrichten.</li>
|
||||
<li><b>Textrichtung</b> - Textrichtung in einer Zelle festlegen Sie können den Text horizontal platzieren und vertikal von oben nach unten ausrichten (<b>Text um 90° drehen</b>) oder vertikal von unten nach oben ausrichten (<b>Text um 270° drehen</b>).</li>
|
||||
<li><b>Tabelle - Erweiterte Einstellungen</b> - öffnen Sie das Fenster „Tabelle - Erweiterte Einstellungen“.</li>
|
||||
<li><b>Hyperlink</b> - fügen Sie einen Hyperlink ein.</li>
|
||||
<li><b>Erweiterte Absatzeinstellungen</b> - öffnen Sie das Fenster „Erweiterte Absatzeinstellungen“.</li>
|
||||
<li><b>Hyperlink</b> - einen Hyperlink einfügen.</li>
|
||||
<li><b>Erweiterte Absatzeinstellungen</b> - das Fenster „Erweiterte Absatzeinstellungen“ wird geöffnet.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<p><img class="floatleft"alt="Rechte Seitenleiste - Tabelleneinstellungen" src="../images/right_table.png" /></p>
|
||||
|
@ -69,8 +80,8 @@
|
|||
</li>
|
||||
<li><p><b>Aus Vorlage auswählen</b> - wählen Sie eine verfügbare Tabellenvorlage aus.</p></li>
|
||||
<li><p><b>Rahmenstil</b> - Linienstärke, -farbe, Rahmenstil und Hintergrundfarbe bestimmen.</p></li>
|
||||
<li><p><b>Textumbruch</b> - Stil des Textumbruchs auswählen: - Mit Text in Zeile oder umgebend.</p></li>
|
||||
<li><p><b>Zeilen & Spalten</b> - auswählen, löschen und einfügen von Zeilen und Spalten, Zellen verbinden und teilen.</p></li>
|
||||
<li><p><b>Zellengröße</b> - anpassen von Breite und Höhe der aktuell ausgewählten Zelle. In diesem Abschnitt können Sie auch <b>Zeilen verteilen</b> auswählen, so dass alle ausgewählten Zellen die gleiche Höhe haben oder "<b>Spalten verteilen</b>, so dass alle ausgewählten Zellen die gleiche Breite haben.</p></li>
|
||||
<li><p><b>Gleiche Kopfzeile auf jeder Seite wiederholen</b> - in langen Tabellen wird am Anfang jeder neuen Seite die gleiche Kopfzeile eingefügt.</p></li>
|
||||
<li><p><b>Erweiterte Einstellungen anzeigen</b> - öffnet das Fenster „Tabelle - Erweiterte Einstellungen“</p></li>
|
||||
</ul>
|
||||
|
@ -86,7 +97,7 @@
|
|||
<li><b>Automatische Anpassung der Größe an den Inhalt</b> - die automatische Änderung jeder Spaltenbreite gemäß dem jeweiligen Text innerhalb der Zellen wird aktiviert.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Im Abschnitt <b>Standardzellenbegrenzungen</b> - passen Sie den Abstand zwischen dem Text innerhalb der Zellen und den standardmäßig verwendeten Zellenbegrenzungen an.</li>
|
||||
<li>Im Abschnitt <b>Standardzellenbegrenzungen</b> können Sie den Abstand zwischen dem Text innerhalb der Zellen und den standardmäßig verwendeten Zellenbegrenzungen angeben.</li>
|
||||
<li>Im Abschnitt <b>Optionen</b> können Sie die folgenden Parameter ändern:<ul>
|
||||
<li><b>Abstand zwischen Zellen</b> - der Zellenabstand, der mit der <b>Hintergrundfarbe der Tabelle</b> gefüllt wird.</li>
|
||||
</ul>
|
||||
|
@ -96,7 +107,7 @@
|
|||
<p>In der Gruppe <b>Zelle</b> können Sie die Eigenschaften von einzelnen Zellen ändern. Wählen Sie zunächst die Zelle aus, die Sie ändern wollen oder markieren Sie die gesamte Tabelle, um die Eigenschaften aller Zellen zu ändern.</p>
|
||||
<ul>
|
||||
<li>Die Registerkarte <b>Zellengröße</b> enthält die folgenden Parameter:<ul>
|
||||
<li><b>Bevorzugte Breite</b> - legen Sie Ihre gewünschte Zellenbreite fest. Alle Zellen werden nach entsprechend diesem Wert ausgerichtet, allerdings kann es in Einzelfällen vorkommen, dass es nicht möglich ist eine bestimmte Zelle auf genau diesen Wert anzupassen. Wenn der Text innerhalb einer Zelle beispielsweise die angegebene Breite überschreitet, wird er in die nächste Zeile aufgeteilt, sodass die bevorzugte Zellenbreite unverändert bleibt. Fügen Sie jedoch eine neue Spalte ein, wird die bevorzugte Breite reduziert.</li>
|
||||
<li><b>Bevorzugte Breite</b> - legen Sie Ihre gewünschte Zellenbreite fest. Alle Zellen werden nach diesem Wert ausgerichtet, allerdings kann es in Einzelfällen vorkommen, dass es nicht möglich ist eine bestimmte Zelle auf genau diesen Wert anzupassen. Wenn der Text innerhalb einer Zelle beispielsweise die angegebene Breite überschreitet, wird er in die nächste Zeile aufgeteilt, sodass die bevorzugte Zellenbreite unverändert bleibt. Fügen Sie jedoch eine neue Spalte ein, wird die bevorzugte Breite reduziert.</li>
|
||||
<li><b>Gemessen in</b> - legen Sie fest, ob Sie die Zellenbreite in absoluten Einheiten angeben wollen, wie <b>Zentimeter</b>/<b>Punkte</b>/<b>Zoll</b> (abhängig von der Voreinstellung in der Registerkarte <b>Datei</b> -> <b>Erweiterte Einstellungen...</b>) oder als <b>Prozentsatz</b> der gesamten Tabellenbreite.<p class="note"><b>Hinweis</b>: Sie können die Zellengröße auch manuell anpassen. Wenn Sie eine einzelne Zelle in einer Spalte kleiner oder größer als die Spaltenbreite machen wollen, bewegen Sie den Mauszeiger über den rechten Rand der gewünschten Zelle, bis dieser zum bidirektionalen Pfeil wird und ziehen Sie den Rahmen in die gewünschte Position. Verwenden Sie die <img alt="Tabelle - Markierung Spaltenbreite" src="../images/columnwidthmarker.png" /> Markierungen auf dem horizontalen Lineal, um die Spaltenbreite zu ändern.</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -110,7 +121,7 @@
|
|||
<p><img alt="Tabelle - Erweiterte Einstellungen" src="../images/table_properties_3.png" /></p>
|
||||
<p>Die Registerkarte <b>Rahmen & Hintergrund</b> enthält die folgenden Parameter:</p>
|
||||
<ul>
|
||||
<li><b>Rahmeneinstellungen</b> (Größe, Farbe und An- oder Abwesenheit) - legen Sie Linienstärke, Farbe und Ansichtstyp fest.<p class="note"><b>Hinweis</b>: Wenn Sie den Tabellenrahmen unsichtbar machen, indem Sie auf die Schaltfläche <img alt="Kein Rahmen" src="../images/noborders.png" /> klicken oder alle Rahmenlinien manuell in der Tabelle manuell deaktivieren, werden diese im Dokument mit einer Punktlinie markiert. Um die Rahmenlinien vollständig auszublenden, klicken Sie auf das Symbol <b>Formatierungszeichen</b> <img alt="Formatierungszeichen" src="../images/nonprintingcharacters.png" /> in der Registerkarte <b>Start</b> und wählen Sie die Option <b>Tabellenrahmen ausblenden</b>.</p>
|
||||
<li><b>Rahmeneinstellungen</b> (Größe, Farbe und An- oder Abwesenheit) - legen Sie Linienstärke, Farbe und Ansichtstyp fest.<p class="note"><b>Hinweis</b>: Wenn Sie den Tabellenrahmen unsichtbar machen, indem Sie auf die Schaltfläche <img alt="Kein Rahmen" src="../images/noborders.png" /> klicken oder alle Rahmenlinien in der Tabelle manuell deaktivieren, werden diese im Dokument mit einer gepunkteten Linie angedeutet. Um die Rahmenlinien vollständig auszublenden, klicken Sie auf das Symbol <b>Formatierungszeichen</b> <img alt="Formatierungszeichen" src="../images/nonprintingcharacters.png" /> in der Registerkarte <b>Start</b> und wählen Sie die Option <b>Tabellenrahmen ausblenden</b>.</p>
|
||||
</li>
|
||||
<li><b>Zellenhintergrund</b> - dem Zellenhintergrund eine Farbe zuweisen (nur verfügbar, wenn eine oder mehrere Zellen gewählt sind oder die Option <b>Abstand zwischen Zellen zulassen</b> auf der Registerkarte <b>Breite & Abstand</b> aktiviert ist).</li>
|
||||
<li><b>Tabellenhintergrund</b> - der Tabelle wird eine Hintergrundfarbe zugewiesen bzw. die Abstände zwischen den Zellen werden farblich markiert, wenn die Option <b>Abstand zwischen Zellen zulassen</b> auf der Registerkarte <b>Breite & Abstand</b> aktiviert ist.</li>
|
||||
|
@ -137,7 +148,7 @@
|
|||
</li>
|
||||
</ul>
|
||||
<p><img alt="Tabelle - Erweiterte Einstellungen" src="../images/table_properties_6.png" /></p>
|
||||
<p>Die Registerkarte <b>Alternativtext</b> ermöglicht die Eingabe eines <b>Titels</b> und einer <b>Beschreibung</b> die Personen mit Sehbehinderungen oder kognitiven Beeinträchtigungen vorgelesen werden kann damit sie besser verstehen können, welche Informationen in der Tabelle vorhanden sind.</p>
|
||||
<p>Die Registerkarte <b>Alternativtext</b> ermöglicht die Eingabe eines <b>Titels</b> und einer <b>Beschreibung</b>, die Personen mit Sehbehinderungen oder kognitiven Beeinträchtigungen vorgelesen werden kann, damit sie besser verstehen können, welche Informationen in der Tabelle enthalten sind.</p>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<ol>
|
||||
<li>Klicken Sie in der oberen Menüleiste auf die Registerkarte <b>Datei</b>.</li>
|
||||
<li>Wählen Sie die Option <b>Herunterladen als</b>.</li>
|
||||
<li>Wählen Sie nach Bedarf eines der verfügbaren Formate aus: PDF, TXT, DOCX, ODT, HTML.</li>
|
||||
<li>Wählen Sie nach Bedarf eines der verfügbaren Formate aus: DOCX, PDF, TXT, ODT, RTF, HTML.</li>
|
||||
</ol>
|
||||
</div>
|
||||
<p>Aktuelles Dokument drucken</p>
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<li><b>Rechtsbündig</b> <img alt="Rechtsbündiger Tabstopp" src="../images/tabstopright.png" /> - der Text wird ab der Position des Tabstopps rechtsbündig ausgerichtet; d.h. der Text verschiebt sich bei der Eingabe nach links, also rückwärts. Ein solcher Tabstopp wird auf dem horizontalen Lineal durch die Markierung <img alt="Markierung rechtsbündiger Tabstopp" src="../images/tabstopright_marker.png" /> angezeigt.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Klicken Sie an der unteren Kante des Lineals auf die Position, an der Sie einen Tabstopp setzen möchten. Ziehen Sie die Markierung nach links oder rechts, um die Position zu ändern. Um den hinzugefügten Tabstopp zu entfernen, ziehen Sie die Markierung aus dem Lineal.<p><img alt="Horizontales Lineal mit Tabstopps hinzugefügt" src="../images/tabstops_ruler.png" /></p>
|
||||
<li>Klicken Sie an der unteren Kante des Lineals auf die Position, an der Sie einen Tabstopp setzen möchten. Ziehen Sie die Markierung nach links oder rechts, um die Position zu ändern. Um den hinzugefügten Tabstopp zu entfernen, ziehen Sie die Markierung aus dem Lineal.<p><img alt="Horizontales Lineal mit den hinzugefügten Tabstopps" src="../images/tabstops_ruler.png" /></p>
|
||||
</li>
|
||||
</ol>
|
||||
<hr />
|
||||
|
@ -31,8 +31,9 @@
|
|||
<ul>
|
||||
<li><b>Tabulatorposition</b> - Festlegen von benutzerdefinierten Tabstopps. Geben Sie den gewünschten Wert in das angezeigte Feld ein, über die Pfeiltasten können Sie den Wert präzise anpassen, klicken Sie anschließend auf <b>Festlegen</b>. Ihre benutzerdefinierte Tabulatorposition wird der Liste im unteren Feld hinzugefügt. Wenn Sie zuvor Tabstopps mithilfe des Lineals hinzugefügt haben, werden alle diese Tabulatorpositionen ebenfalls in der Liste angezeigt.</li>
|
||||
<li>Die Standardeinstellung für <b>Tabulatoren</b> ist auf 1,25 cm festgelegt. Sie können den Wert verkleinern oder vergrößern, nutzen Sie dafür die Pfeiltasten oder geben Sie den gewünschten Wert in das dafür vorgesehene Feld ein.</li>
|
||||
<li><b>Ausrichtung</b> - legt den gewünschten Ausrichtungstyp für jede der Tabulatorpositionen in der obigen Liste fest. Wählen Sie die gewünschte Tabulatorposition in der Liste aus, Ihnen stehen die Optionen <b>Linksbündig</b>, <b>Zentriert</b> oder <b>Rechtsbündig</b> zur Verfügung, klicken sie anschließend auf <b>Festlegen</b>.<p>Um Tabstopps aus der Liste zu löschen, wählen Sie einen Tabstopp aus und klicken Sie auf <b>Entfernen</b> oder <b>Alle entfernen</b>.</p>
|
||||
</li>
|
||||
<li><b>Ausrichtung</b> - legt den gewünschten Ausrichtungstyp für jede der Tabulatorpositionen in der obigen Liste fest. Wählen Sie die gewünschte Tabulatorposition in der Liste aus, wählen Sie die Option <b>Linksbündig</b>, <b>Zentriert</b> oder <b>Rechtsbündig</b> aus der Menüliste aus und klicken sie anschließend auf <b>Festlegen</b>.</li>
|
||||
<li><b>Leader</b> - ermöglicht die Auswahl eines Zeichens, um für jede Tab-Position einen Leader zu erstellen. Ein Leader ist eine Reihe von Zeichen (Punkte oder Trennzeichen), die den Abstand zwischen den Registerkarten ausfüllen. Wählen Sie die gewünschte Tabulatorposition in der Liste aus, wählen Sie die Art des Leaders aus der Menüliste aus und klicken sie anschließend auf <b>Festlegen</b>.<p>Um Tabstopps aus der Liste zu löschen, wählen Sie einen Tabstopp und drücken Sie <b>Entfernen</b> oder <b>Alle entfernen</b>.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
<p>Sie können die aktuell ausgewählten Zugriffsrechte auch ändern, klicken Sie dazu im Abschnitt <b>Personen mit Berechtigungen</b> auf die Schaltfläche <b>Zugriffsrechte ändern</b>.</p>
|
||||
<h3>Versionsverlauf</h3>
|
||||
<p class="note"><b>Hinweis</b>: Diese Option steht für kostenlose Konten und im <b>schreibgeschützten</b> Modus nicht zur Verfügung.</p>
|
||||
<p>Um alle Änderungen an diesem Dokument anzuzeigen, wählen Sie die Option <b>Versionsverlauf</b> in der linken Seitenleiste. Sie sehen eine Liste mit allen Dokumentversionen (Hauptänderungen) und Revisionen (geringfügige Änderungen), unter Angabe aller jeweiligen Autoren sowie Erstellungsdatum und -zeit. Für Dokumentversionen wird auch die Versionsnummer angegeben (z.B. <em>Ver. 2</em>). Für eine detaillierte Anzeige der jeweiligen Änderungen in jeder einzelnen Version/Revision, können Sie die gewünschte Version anzeigen, indem Sie in der linken Seitenleiste darauf klicken. Die vom Autor der Version/Revision vorgenommenen Änderungen sind mit der Farbe markiert, die neben dem Autorennamen in der linken Seitenleiste angezeigt wird. Über den unterhalb der gewählten Version/Revision angezeigten Link <b>Wiederherstellen</b>, gelangen Sie in die jeweilige Version. <!--To hide the list of the revisions within a certain version, use the <img alt="Collapse icon" src="../images/collapse.png" /> icon next to the version. To display revisions again, use the <img alt="Expand icon" src="../images/expand.png" /> icon.--></p>
|
||||
<p>Um alle Änderungen an diesem Dokument anzuzeigen, wählen Sie die Option <b>Versionsverlauf</b> in der linken Seitenleiste. Sie können den Versionsverlauf auch über das Symbol <img alt="Versionsverlauf" src="../images/versionhistoryicon.png" /> <b>Versionsverlauf</b> in der Registerkarte <b>Zusammenarbeit</b> öffnen. Sie sehen eine Liste mit allen Dokumentversionen (Hauptänderungen) und Revisionen (geringfügige Änderungen), unter Angabe aller jeweiligen Autoren sowie Erstellungsdatum und -zeit. Für Dokumentversionen wird auch die Versionsnummer angegeben (z.B. <em>Ver. 2</em>). Für eine detaillierte Anzeige der jeweiligen Änderungen in jeder einzelnen Version/Revision, können Sie die gewünschte Version anzeigen, indem Sie in der linken Seitenleiste darauf klicken. Die vom Autor der Version/Revision vorgenommenen Änderungen sind mit der Farbe markiert, die neben dem Autorennamen in der linken Seitenleiste angezeigt wird. Über den unterhalb der gewählten Version/Revision angezeigten Link <b>Wiederherstellen</b>, gelangen Sie in die jeweilige Version. <!--To hide the list of the revisions within a certain version, use the <img alt="Collapse icon" src="../images/collapse.png" /> icon next to the version. To display revisions again, use the <img alt="Expand icon" src="../images/expand.png" /> icon.--></p>
|
||||
<p><img alt="Versionsverlauf" src="../images/versionhistory.png" /></p>
|
||||
<p>Um zur aktuellen Version des Dokuments zurückzukehren, klicken Sie oben in der Liste mit Versionen auf <b>Verlauf schließen</b>.</p>
|
||||
</div>
|
||||
|
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 479 B After Width: | Height: | Size: 312 B |