return true; // break
}
});
+ newNodes.second.contents()
+ .filter(function(child) {
+ return child.object.describesParent;
+ })
+ .forEach(function(child) {
+ //child.detach();
+ newNodes.first.append(child);
+ });
return _.extend(newNodes, {emptyText: emptyText});
},
getChangeRoot: function() {
icon: 'share-alt',
iconStyle: dir === 'undo' ? '-webkit-transform: scale(-1,1); transform: scale(-1, 1)' : '',
execute: function(callback, params) {
+ var metadata = _.last(params.document[dir+'Stack']).metadata,
+ fragment = metadata && metadata.fragment;
params.document[dir]();
+ if(fragment) {
+ if(!fragment.isValid()) {
+ fragment.restoreFromPaths();
+ }
+ if(fragment.isValid()) {
+ callback(fragment);
+ }
+ }
callback();
},
},
return newFragment;
}, {
metadata: {
- description: createParams.unwrapDescription
+ description: createParams.unwrapDescription,
+ fragment: params.fragment
},
success: callback
});
}
}, {
metadata: {
- description: createParams.wrapDescription
+ description: createParams.wrapDescription,
+ fragment: params.fragment
},
success: callback
});
executeButtonText: gettext('Apply'),
cancelButtonText: gettext('Cancel'),
fields: [
- {label: gettext('Link'), name: 'href', type: 'input'}
+ {label: gettext('Link'), name: 'href', type: 'input',
+ prePasteHandler: function(text) {
+ return params.fragment.document.getLinkForUrl(text);
+ }.bind(this)
+ }
]
}),
action = this;
return doc.createFragment(doc.CaretFragment, {node: span.contents()[0], offset:0});
}, {
metadata: {
- description: action.getState().description
+ description: action.getState().description,
+ fragment: params.fragment
},
success: callback
});
return params.fragment;
}, {
metadata: {
- description: action.getState().description
+ description: action.getState().description,
+ fragment: params.fragment
},
success: callback
});