fnp
/
fnpeditor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
editor: Setting descriptions for transactions performed in actions
[fnpeditor.git]
/
src
/
editor
/
plugins
/
core
/
lists.js
diff --git
a/src/editor/plugins/core/lists.js
b/src/editor/plugins/core/lists.js
index
3cf1192
..
a8dc802
100644
(file)
--- a/
src/editor/plugins/core/lists.js
+++ b/
src/editor/plugins/core/lists.js
@@
-34,30
+34,54
@@
var toggleListAction = function(type) {
var execute = {
add: function(params) {
var boundries = getBoundriesForAList(params.fragment),
var execute = {
add: function(params) {
var boundries = getBoundriesForAList(params.fragment),
- listParams = {klass: type === 'Bullet' ? 'list' : 'list.enum'};
+ listParams = {klass: type === 'Bullet' ? 'list' : 'list.enum'},
+ action = this;
+
if(boundries && boundries.node1) {
listParams.node1 = boundries.node1;
listParams.node2 = boundries.node2;
if(boundries && boundries.node1) {
listParams.node1 = boundries.node1;
listParams.node2 = boundries.node2;
- boundries.node1.document.createList(listParams);
+ boundries.node1.document.transaction(function() {
+ boundries.node1.document.createList(listParams);
+ }, {
+ metadata: {
+ description: action.getState().description
+ }
+ });
} else {
throw new Error('Invalid boundries');
}
},
remove: function(params) {
/* globals Node */
} else {
throw new Error('Invalid boundries');
}
},
remove: function(params) {
/* globals Node */
- var current = params.fragment.node;
+ var current = params.fragment.node,
+ action = this;
var toSearch = current.nodeType === Node.ELEMENT_NODE ? [current] : [];
toSearch = toSearch.concat(current.parents());
toSearch.some(function(node) {
if(node.is('list')) {
var toSearch = current.nodeType === Node.ELEMENT_NODE ? [current] : [];
toSearch = toSearch.concat(current.parents());
toSearch.some(function(node) {
if(node.is('list')) {
- node.object.extractListItems();
+ node.document.transaction(function() {
+ node.object.extractListItems();
+ }, {
+ metadata: {
+ description: action.getState().description
+ }
+ });
+
return true; // break
}
return true; // break
}
- });
+ }
.bind(this)
);
},
changeType: function(params) {
},
changeType: function(params) {
- params.fragment.node.getParent('list').setClass(type === 'Bullet' ? 'list' : 'list.enum');
+ var node = params.fragment.node,
+ action = this;
+ node.document.transaction(function() {
+ node.getParent('list').setClass(type === 'Bullet' ? 'list' : 'list.enum');
+ }, {
+ metadata: {
+ description: action.getState().description
+ }
+ });
}
};
}
};