Add edit component view

Fix #30