/**
  * Process the type element data from the type form.
  *
  * @param ArrayObject $post
  */
 public function afterSaveForm($post)
 {
     foreach ($post['Elements'] as $elementId => $elementData) {
         $element = $this->getDb()->getTable('ContributionTypeElement')->find($elementId);
         if ($elementData['delete']) {
             $element->delete();
         } else {
             $element->saveForm($elementData);
         }
     }
     foreach ($post['newElements'] as $index => $elementData) {
         // Skip totally empty elements
         if (!empty($elementData['prompt']) || !empty($elementData['element_set_id'])) {
             $element = new ContributionTypeElement();
             $element->type_id = $this->id;
             $element->order = count($post['Elements']) + $index;
             $element->saveForm($elementData);
         }
     }
 }