From 85211481260c076ad5e2889b66465495c33429ef Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Thu, 24 May 2018 00:31:19 +0200 Subject: Many fixes, began user feed generator --- .../src/Controller/FormGeneratorController.php | 28 ---- .../sprinkles/FormGenerator/src/Element/Alert.php | 34 ---- .../FormGenerator/src/Element/BaseInput.php | 111 ------------- .../FormGenerator/src/Element/Checkbox.php | 39 ----- .../sprinkles/FormGenerator/src/Element/Hidden.php | 33 ---- .../FormGenerator/src/Element/InputInterface.php | 22 --- .../sprinkles/FormGenerator/src/Element/Select.php | 42 ----- .../sprinkles/FormGenerator/src/Element/Text.php | 38 ----- .../FormGenerator/src/Element/Textarea.php | 39 ----- main/app/sprinkles/FormGenerator/src/Form.php | 182 --------------------- 10 files changed, 568 deletions(-) delete mode 100644 main/app/sprinkles/FormGenerator/src/Controller/FormGeneratorController.php delete mode 100644 main/app/sprinkles/FormGenerator/src/Element/Alert.php delete mode 100644 main/app/sprinkles/FormGenerator/src/Element/BaseInput.php delete mode 100644 main/app/sprinkles/FormGenerator/src/Element/Checkbox.php delete mode 100644 main/app/sprinkles/FormGenerator/src/Element/Hidden.php delete mode 100644 main/app/sprinkles/FormGenerator/src/Element/InputInterface.php delete mode 100644 main/app/sprinkles/FormGenerator/src/Element/Select.php delete mode 100644 main/app/sprinkles/FormGenerator/src/Element/Text.php delete mode 100644 main/app/sprinkles/FormGenerator/src/Element/Textarea.php delete mode 100644 main/app/sprinkles/FormGenerator/src/Form.php (limited to 'main/app/sprinkles/FormGenerator/src') diff --git a/main/app/sprinkles/FormGenerator/src/Controller/FormGeneratorController.php b/main/app/sprinkles/FormGenerator/src/Controller/FormGeneratorController.php deleted file mode 100644 index 5bd46e1..0000000 --- a/main/app/sprinkles/FormGenerator/src/Controller/FormGeneratorController.php +++ /dev/null @@ -1,28 +0,0 @@ -ci->view->render($response, 'FormGenerator/confirm.html.twig', $request->getQueryParams()); - } -} diff --git a/main/app/sprinkles/FormGenerator/src/Element/Alert.php b/main/app/sprinkles/FormGenerator/src/Element/Alert.php deleted file mode 100644 index 31453d3..0000000 --- a/main/app/sprinkles/FormGenerator/src/Element/Alert.php +++ /dev/null @@ -1,34 +0,0 @@ -element = array_merge([ - "class" => "alert-danger", - "icon" => "fa-ban", - "value" => $this->value, - "name" => $this->name - ], $this->element); - } -} diff --git a/main/app/sprinkles/FormGenerator/src/Element/BaseInput.php b/main/app/sprinkles/FormGenerator/src/Element/BaseInput.php deleted file mode 100644 index cf78dc6..0000000 --- a/main/app/sprinkles/FormGenerator/src/Element/BaseInput.php +++ /dev/null @@ -1,111 +0,0 @@ -name = $name; - $this->element = $element; - $this->value = $value; - } - - /** - * parse function. - * - * Return the parsed input attributes - * @access public - * @return void - */ - public function parse() { - $this->applyTransformations(); - return $this->element; - } - - /** - * translateArgValue function. - * - * Translate the value of passed argument using the Translator Facade - * @access public - * @param String $argument - * @return void - */ - public function translateArgValue($argument) { - if (isset($this->element[$argument])) { - $this->element[$argument] = Translator::translate($this->element[$argument]); - } - } - - /** - * getValue function. - * - * Return the value of the current input element. If not value is set in - * `$this->value`, return the default value (from the schema data), if any. - * @access public - * @return string The input current value - */ - public function getValue() { - if (isset($this->value) && $this->value !== NULL) { - return $this->value; - } else if (isset($this->element['default'])) { - return $this->element['default']; - } else { - return ""; - } - } - - /** - * applyTransformations function. - * - * Add defaut attributes to the current input element. Also transform - * attributes values passed from the schema - * @access protected - * @abstract - * @return void - */ - abstract protected function applyTransformations(); -} diff --git a/main/app/sprinkles/FormGenerator/src/Element/Checkbox.php b/main/app/sprinkles/FormGenerator/src/Element/Checkbox.php deleted file mode 100644 index 97bfdba..0000000 --- a/main/app/sprinkles/FormGenerator/src/Element/Checkbox.php +++ /dev/null @@ -1,39 +0,0 @@ -element = array_merge([ - "class" => "js-icheck", - "name" => $this->name, - "id" => "field_" . $this->name, - "binary" => TRUE - ], $this->element); - - // We add the check status instead of the value - if ($this->element["binary"] !== FALSE && $this->getValue() == 1) { - $this->element["checked"] = "checked"; - } - } -} diff --git a/main/app/sprinkles/FormGenerator/src/Element/Hidden.php b/main/app/sprinkles/FormGenerator/src/Element/Hidden.php deleted file mode 100644 index 6f79ecd..0000000 --- a/main/app/sprinkles/FormGenerator/src/Element/Hidden.php +++ /dev/null @@ -1,33 +0,0 @@ -element = array_merge([ - "value" => $this->getValue(), - "name" => $this->name, - "id" => "field_" . $this->name - ], $this->element); - } -} diff --git a/main/app/sprinkles/FormGenerator/src/Element/InputInterface.php b/main/app/sprinkles/FormGenerator/src/Element/InputInterface.php deleted file mode 100644 index 66225bc..0000000 --- a/main/app/sprinkles/FormGenerator/src/Element/InputInterface.php +++ /dev/null @@ -1,22 +0,0 @@ -element = array_merge([ - "class" => "form-control js-select2", - "value" => $this->getValue(), - "name" => $this->name, - "id" => "field_" . $this->name - ], $this->element); - - // Placeholder is required to be in `data-*` for select 2 - // Plus we translate the placeholder - if (isset($this->element["placeholder"])) { - $this->element["data-placeholder"] = $this->element["placeholder"]; - unset($this->element["placeholder"]); - $this->translateArgValue('data-placeholder'); - } - } -} diff --git a/main/app/sprinkles/FormGenerator/src/Element/Text.php b/main/app/sprinkles/FormGenerator/src/Element/Text.php deleted file mode 100644 index 375153d..0000000 --- a/main/app/sprinkles/FormGenerator/src/Element/Text.php +++ /dev/null @@ -1,38 +0,0 @@ -element = array_merge([ - "autocomplete" => "off", - "class" => "form-control", - "value" => $this->getValue(), - "name" => $this->name, - "id" => "field_" . $this->name - ], $this->element); - - // Translate placeholder - $this->translateArgValue('placeholder'); - } -} diff --git a/main/app/sprinkles/FormGenerator/src/Element/Textarea.php b/main/app/sprinkles/FormGenerator/src/Element/Textarea.php deleted file mode 100644 index b2a84f9..0000000 --- a/main/app/sprinkles/FormGenerator/src/Element/Textarea.php +++ /dev/null @@ -1,39 +0,0 @@ -element = array_merge([ - "autocomplete" => "off", - "class" => "form-control", - "value" => $this->getValue(), - "name" => $this->name, - "rows" => 3, - "id" => "field_" . $this->name - ], $this->element); - - // Translate placeholder - $this->translateArgValue('placeholder'); - } -} diff --git a/main/app/sprinkles/FormGenerator/src/Form.php b/main/app/sprinkles/FormGenerator/src/Form.php deleted file mode 100644 index 5b948f7..0000000 --- a/main/app/sprinkles/FormGenerator/src/Form.php +++ /dev/null @@ -1,182 +0,0 @@ -setSchema($schema); - $this->setData($data); - } - - /** - * Set the form current values - * - * @param array|object $data The form values - */ - public function setData($data) { - if ($data instanceof Collection || $data instanceof Model) { - $this->data = $data->toArray(); - } else if (is_array($data) || $data instanceof Repository) { - $this->data = $data; - } else { - throw new \InvalidArgumentException("Data must be an array, a Collection, a Model or a Repository"); - } - } - - /** - * Set the schema for this validator. - * - * @param RequestSchemaInterface $schema A RequestSchemaInterface object, containing the form definition. - */ - public function setSchema(RequestSchemaInterface $schema) { - $this->schema = $schema; - } - - /** - * Use to define the value of a form input when `setData` is already set - * - * @param mixed $inputName - * @param mixed $value - * @return void - */ - public function setValue($inputName, $value) { - $this->data[$inputName] = $value; - } - - /** - * Function used to overwrite the input argument from a schema file - * Can also be used to overwrite an argument hardcoded in the Twig file. - * Use `setCustomFormData` to set any other tag. - * - * @param string $inputName The input name where the argument will be added - * @param string $property The argument name. Example "data-color" - * @param string $data The value of the argument - * @return void - */ - public function setInputArgument($inputName, $property, $data) { - if ($this->schema->has($inputName)) { - // Get the element and force set the property - $element = $this->schema->get($inputName); - $element['form'][$property] = $data; - - // Push back the modifyed element in the schema - $this->schema->set($inputName, $element); - } - } - - /** - * Function used to set options of a select element. Shortcut for using - * `setInputArgument` and `setValue`. - * - * @param string $inputName The select name to add options to - * @param array $data An array of `value => label` options - * @param string $selected The selected key - * @return void - */ - public function setOptions($inputName, $data = [], $selected = NULL) { - // Set opdations - $this->setInputArgument($inputName, 'options', $data); - - // Set the value - if (!is_null($selected)) { - $this->setValue($inputName, $selected); - } - } - - /** - * Function to set the form namespace. - * Use the form namespace to wrap the fields name in a top level array. - * Useful when using multiple schemas at once or if the names are using dot syntaxt. - * See : http://stackoverflow.com/a/20365198/445757 - * - * @param string $namespace - * @return void - */ - public function setFormNamespace($namespace) { - $this->formNamespace = $namespace; - } - - /** - * Generate an array contining all nececerry value to generate a form - * with Twig. - * - * @return array The form fields data - */ - public function generate() { - $form = collect([]); - - // Loop all the the fields in the schema - foreach ($this->schema->all() as $name => $input) { - - // Skip the one that don't have a `form` definition - if (isset($input['form'])) { - - // Get the value from the data - $value = isset($this->data[$name]) ? $this->data[$name] : NULL; - - // Add the namespace to the name if it's defined - $name = ($this->formNamespace != "") ? $this->formNamespace . "[" . $name . "]" : $name; - - // Get the element class and make sure it exist - $type = (isset($input['form']['type'])) ? $input['form']['type'] : "text"; - $type = "UserFrosting\\Sprinkle\\FormGenerator\\Element\\" . Str::studly($type); - - // If class doesn't esist, default to Text element - if (!class_exists($type)) { - $type = "UserFrosting\\Sprinkle\\FormGenerator\\Element\\Text"; - } - - // Create a new instance - $element = new $type($name, $input['form'], $value); - - // Push data to `$form` - $form->put($name, $element->parse()); - } - } - - return $form->toArray(); - } -} -- cgit v1.2.3