/**
  * @param $parameters Parameters
  * @param $form       array
  * @param $files      array
  * @param $class_name string
  * @return mixed
  */
 public function run(Parameters $parameters, $form, $files, $class_name)
 {
     $element_class_name = Set::elementClassNameOf($class_name);
     $parameters = $parameters->getObjects();
     $list_controller = new Data_List_Controller();
     $data_list_settings = Data_List_Settings::current($element_class_name);
     $list_controller->applyParametersToListSettings($data_list_settings, $parameters, $form);
     return View::run($parameters, $form, $files, $class_name, 'dataListSetting');
 }
示例#2
0
 /**
  * @param $class_name    string
  * @param $property_path string
  */
 public function addPropertyToList($class_name, $property_path)
 {
     $list_settings = Data_List_Settings::current($class_name);
     $list_settings->addProperty($property_path);
     $list_settings->save();
 }
示例#3
0
 /**
  * Gets properties alias from current list settings
  *
  * @todo user must place himself into the list settings matching the import, should search it
  * @param $class_name string
  * @return string[] $property_alias = string[string $property_name]
  */
 public static function getPropertiesAlias($class_name)
 {
     $list_settings = Data_List_Settings::current($class_name);
     $properties_alias = [];
     foreach ($list_settings->properties_title as $property_path => $property_title) {
         $properties_alias[Names::displayToProperty($property_title)] = $property_path;
     }
     return $properties_alias;
 }
示例#4
0
 /**
  * @param $parameters Parameters
  * @param $form       array
  * @param $class_name string
  * @return mixed[]
  */
 protected function getViewParameters(Parameters $parameters, $form, $class_name)
 {
     $this->class_names = $class_name;
     $class_name = $parameters->getMainObject()->element_class_name;
     $parameters = $parameters->getObjects();
     $list_settings = Data_List_Settings::current($class_name);
     $list_settings->cleanup();
     $this->applyParametersToListSettings($list_settings, $parameters, $form);
     $customized_list_settings = $list_settings->getCustomSettings();
     $count = new Count();
     $data = $this->readData($class_name, $list_settings, $count);
     $displayed_lines_count = min($data->length(), $list_settings->maximum_displayed_lines_count);
     $less_twenty = $displayed_lines_count > 20;
     $more_hundred = $displayed_lines_count < 1000 && $displayed_lines_count < $count->count;
     $more_thousand = $displayed_lines_count < 1000 && $displayed_lines_count < $count->count;
     $parameters = array_merge([$class_name => $data], $parameters, ['customized_lists' => $customized_list_settings, 'displayed_lines_count' => $displayed_lines_count, 'less_twenty' => $less_twenty, 'more_hundred' => $more_hundred, 'more_thousand' => $more_thousand, 'reversed' => $this->getReverseClasses($list_settings), 'rows_count' => $count->count, 'search' => $this->getSearchValues($list_settings), 'search_summary' => $this->getSearchSummary($list_settings), 'settings' => $list_settings, 'short_titles' => $this->getShortTitles($list_settings), 'sort_options' => $this->getSortLinks($list_settings), 'sorted' => $this->getSortClasses($list_settings), 'display_start' => $list_settings->start_display_line_number, 'title' => $list_settings->title(), 'titles' => $this->getTitles($list_settings)]);
     // buttons
     $parameters['general_buttons'] = $this->getGeneralButtons($class_name, $parameters);
     $parameters['selection_buttons'] = $this->getSelectionButtons($class_name);
     if (!isset($customized_list_settings[$list_settings->name])) {
         unset($parameters['general_buttons']['delete']);
     }
     return $parameters;
 }
示例#5
0
 /**
  * @param $class_name    string
  * @param $property_path string
  */
 public function removePropertyFromList($class_name, $property_path)
 {
     $list_settings = Data_List_Settings::current($class_name);
     $list_settings->removeProperty($property_path);
     $list_settings->save();
 }