| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- <?php
- namespace zin;
- class inputControl extends wg
- {
- /**
- * @var mixed[]
- */
- protected static $defineProps = array(
- 'prefix?: mixed',
- 'suffix?: mixed',
- 'prefixWidth?: string|int',
- 'suffixWidth?: string|int',
- 'class?: string'
- );
- /**
- * @var mixed[]
- */
- protected static $defineBlocks = array(
- 'prefix' => array(),
- 'suffix' => array()
- );
- protected function build()
- {
- list($prefix, $suffix, $prefixWidth, $suffixWidth, $class) = $this->prop(array('prefix', 'suffix', 'prefixWidth', 'suffixWidth', 'class'));
- if(empty($prefix)) $prefix = $this->block('prefix');
- if(empty($suffix)) $suffix = $this->block('suffix');
- $class = "input-control {$class}";
- $vars = array();
- if(!empty($prefix))
- {
- if(is_numeric($prefixWidth))
- {
- $vars['input-control-prefix'] = $prefixWidth . 'px';
- $class .= ' has-prefix';
- }
- elseif(!empty($prefixWidth))
- {
- $class .= " has-prefix-$prefixWidth";
- }
- else
- {
- $class .= ' has-prefix';
- }
- if(is_array($prefix) && !empty($prefix['widget']))
- {
- $prefix = createWg('control', set($prefix));
- }
- }
- if(!empty($suffix))
- {
- if(is_numeric($suffixWidth))
- {
- $vars['input-control-suffix'] = $suffixWidth . 'px';
- $class .= ' has-suffix';
- }
- elseif(!empty($suffixWidth))
- {
- $class .= " has-suffix-$suffixWidth";
- }
- else
- {
- $class .= ' has-suffix';
- }
- }
- return div
- (
- setClass($class),
- empty($vars) ? null : setCssVar($vars),
- $this->children(),
- empty($prefix) ? null : div(setClass('input-control-prefix'), $prefix),
- empty($suffix) ? null : div(setClass('input-control-suffix'), $suffix)
- );
- }
- }
|