var allowed = params.document && !!(params.document[dir+'Stack'].length),
desc = dir === 'undo' ? gettext('Undo') : gettext('Redo'),
descEmpty = dir === 'undo' ? gettext('There is nothing to undo') : gettext('There is nothing to redo');
+ if(allowed) {
+ var metadata = _.last(params.document[dir+'Stack']).metadata;
+ if(metadata) {
+ desc += ': ' + (metadata.description || gettext('unknown operation'));
+ }
+ }
return {
allowed: allowed,
description: allowed ? desc : descEmpty
icon: 'comment',
execute: function(params, editor) {
/* globals Node */
- var node = params.fragment.node;
+ var node = params.fragment.node,
+ action = this;
if(node.nodeType === Node.TEXT_NODE) {
node = node.parent();
}
var metadata = comment.getMetadata();
metadata.add({key: 'creator', value: creator});
metadata.add({key: 'date', value: dt});
+ }, {
+ metadata: {
+ description: action.getState().description
+ }
});
},
},
return _.extend(state, {
allowed: true,
+ description: createParams.description,
execute: function(params) {
params.fragment.document.transaction(function() {
var parent = params.fragment.startNode.parent();
offsetEnd: params.fragment.endOffset,
textNodeIdx: [params.fragment.startNode.getIndex(), params.fragment.endNode.getIndex()]
});
+ }, {
+ metadata: {
+ description: createParams.description
+ }
});
}
});
fields: [
{label: gettext('Link'), name: 'href', type: 'input'}
]
- });
+ }),
+ action = this;
dialog.on('execute', function(event) {
doc.transaction(function() {
span.setAttr('href', event.formData.href);
event.success();
return span;
+ }, {
+ metadata: {
+ description: action.getState().description
+ }
});
});
dialog.show();
fields: [
{label: gettext('Link'), name: 'href', type: 'input', initialValue: link.getAttr('href')}
]
- });
+ }),
+ action = this;
dialog.on('execute', function(event) {
doc.transaction(function() {
link.setAttr('href', event.formData.href);
event.success();
+ }, {
+ metadata: {
+ description: action.getState().description
+ }
});
});
dialog.show();
undoRedoAction('undo'),
undoRedoAction('redo'),
commentAction,
- createWrapTextAction({name: 'emphasis', klass: 'emp'}),
- createWrapTextAction({name: 'cite', klass: 'cite'}),
+ createWrapTextAction({name: 'emphasis', klass: 'emp', description: gettext('Mark as emphasized')}),
+ createWrapTextAction({name: 'cite', klass: 'cite', description: gettext('Mark as citation')}),
linkAction
].concat(plugin.actions, templates.actions, footnote.actions, switchTo.actions, lists.actions);