diff options
author | Christian Klinger | 2016-07-19 15:15:41 +0200 |
---|---|---|
committer | Christian Klinger | 2016-07-19 15:15:41 +0200 |
commit | fe5ffb4c6c5e6e5af8e3708d1b9a06c2e026a3c2 (patch) | |
tree | 0d0a95417c45487b35b1ebce4a9827f380413f4e /modules-available/baseconfig/page.inc.php | |
parent | Merging some refactoring + new filter functionality. (diff) | |
download | slx-admin-fe5ffb4c6c5e6e5af8e3708d1b9a06c2e026a3c2.tar.gz slx-admin-fe5ffb4c6c5e6e5af8e3708d1b9a06c2e026a3c2.tar.xz slx-admin-fe5ffb4c6c5e6e5af8e3708d1b9a06c2e026a3c2.zip |
use bootstrap-multiselect for multilist and selectize for multiinput.
Diffstat (limited to 'modules-available/baseconfig/page.inc.php')
-rw-r--r-- | modules-available/baseconfig/page.inc.php | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/modules-available/baseconfig/page.inc.php b/modules-available/baseconfig/page.inc.php index 056dbab1..2f2aa7ab 100644 --- a/modules-available/baseconfig/page.inc.php +++ b/modules-available/baseconfig/page.inc.php @@ -170,7 +170,8 @@ class Page_BaseConfig extends Page $settings[$var['catid']]['settings'][$key]['displayvalue'] = $var['defaultvalue']; } $settings[$var['catid']]['settings'][$key] += array( - 'item' => $this->makeInput($var['validator'], $key, $settings[$var['catid']]['settings'][$key]['displayvalue']), + 'item' => $this->makeInput($var['validator'], $key, $settings[$var['catid']]['settings'][$key]['displayvalue'], $settings[$var['catid']]['settings'][$key]['shadows'] + ), 'description' => Util::markup(Dictionary::translateFileModule($var['module'], 'config-variables', $key)) ); } @@ -244,12 +245,22 @@ class Page_BaseConfig extends Page * @param type $validator * @return boolean */ - private function makeInput($validator, $setting, $current) + private function makeInput($validator, $setting, $current, $shadows) { + + $shadowjs = ""; + if(!empty($shadows)) { + $shadowjs = " data-shadows=\"$shadows\""; + } + + error_log(print_r($shadows, true)); + $parts = explode(':', $validator, 2); - if ($parts[0] === 'list') { + if ($parts[0] === 'list' || $parts[0] == 'multilist') { $items = explode('|', $parts[1]); - $ret = '<select name="setting[' . $setting . ']" class="form-control">'; + $multiple = $parts[0] == 'multilist'; + $extras = $multiple ? ' multiple class="multilist"' : 'class="form-control"'; + $ret = '<select id="' .$setting . '" name="setting[' . $setting . ']" ' . $extras . $shadowjs . '>'; foreach ($items as $item) { if ($item === $current) { $ret .= '<option selected="selected">' . $item . '</option>'; @@ -259,6 +270,12 @@ class Page_BaseConfig extends Page } return $ret . '</select>'; } + /* multiinput: enter multiple free-form strings*/ + if (strtolower($validator) == 'multiinput') { + return '<input id="' . $setting . '"name="setting[' . $setting . ']" ' . $shadowjs . ' class="multiinput" value="' . $current . '"></input>'; + } + + // Password field guessing if (stripos($validator, 'password') !== false) { $type = Property::getPasswordFieldType(); @@ -266,7 +283,7 @@ class Page_BaseConfig extends Page $type = 'text'; } // Fallback: single line input - return '<input type="' . $type . '" name="setting[' . $setting . ']" class="form-control" size="30" value="' . $current . '">'; + return '<input type="' . $type . '" id="' .$setting . '" name="setting[' . $setting . ']"' . $shadowjs . ' class="form-control" size="30" value="' . $current . '">'; } } |