universal component for sortable and edit