Undo is difficult to implement. I added "Reload map" to the File menu as a stopgap solution, though it's for using when you make a mistake and haven't saved yet. To fix your campaign maps download keeperfx again and copy the levels from it.
One thing I could possibly try implementing is keeping a copy of the map files before you save them so you could undo saves. Kinda like keeping "backups". A feature like that is much easier than the ability to undo individual actions.