You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
685 B
37 lines
685 B
3 years ago
|
export default function IdClaimHandler(moddle) {
|
||
|
this._moddle = moddle;
|
||
|
}
|
||
|
|
||
|
IdClaimHandler.$inject = [ 'moddle' ];
|
||
|
|
||
|
|
||
|
IdClaimHandler.prototype.execute = function(context) {
|
||
|
var ids = this._moddle.ids,
|
||
|
id = context.id,
|
||
|
element = context.element,
|
||
|
claiming = context.claiming;
|
||
|
|
||
|
if (claiming) {
|
||
|
ids.claim(id, element);
|
||
|
} else {
|
||
|
ids.unclaim(id);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* Command revert implementation.
|
||
|
*/
|
||
|
IdClaimHandler.prototype.revert = function(context) {
|
||
|
var ids = this._moddle.ids,
|
||
|
id = context.id,
|
||
|
element = context.element,
|
||
|
claiming = context.claiming;
|
||
|
|
||
|
if (claiming) {
|
||
|
ids.unclaim(id);
|
||
|
} else {
|
||
|
ids.claim(id, element);
|
||
|
}
|
||
|
};
|
||
|
|