Spaces:
Running
Running
| import commandFactory from '@/factory/command'; | |
| import { commandNames, rejectMessages } from '@/consts'; | |
| const command = { | |
| name: commandNames.ADD_OBJECT, | |
| /** | |
| * Add an object | |
| * @param {Graphics} graphics - Graphics instance | |
| * @param {Object} object - Fabric object | |
| * @returns {Promise} | |
| */ | |
| execute(graphics, object) { | |
| return new Promise((resolve, reject) => { | |
| if (!graphics.contains(object)) { | |
| graphics.add(object); | |
| resolve(object); | |
| } else { | |
| reject(rejectMessages.addedObject); | |
| } | |
| }); | |
| }, | |
| /** | |
| * @param {Graphics} graphics - Graphics instance | |
| * @param {Object} object - Fabric object | |
| * @returns {Promise} | |
| */ | |
| undo(graphics, object) { | |
| return new Promise((resolve, reject) => { | |
| if (graphics.contains(object)) { | |
| graphics.remove(object); | |
| resolve(object); | |
| } else { | |
| reject(rejectMessages.noObject); | |
| } | |
| }); | |
| }, | |
| }; | |
| commandFactory.register(command); | |
| export default command; | |