* @package zin * @link http://www.zentao.net */ namespace zin; require_once dirname(__DIR__) . DS . 'input' . DS . 'v1.php'; /** * 日期选择器(datePicker)部件类 * The datePicker widget class */ class datePicker extends wg { /** * Define widget properties. * * @var array * @access protected */ protected static $defineProps = array ( 'id?: string="$GID"', // 组件根元素的 ID。 'formID?: string', // 组件隐藏的表单元素 ID。 'className?: string|array', // 类名。 'style?: array', // 样式。 'tagName?: string', // 组件根元素的标签名。 'attrs?: array', // 附加到组件根元素上的属性。 'clickType?: "toggle"|"open"', // 点击类型,`toggle` 表示点击按钮时切换显示隐藏,`open` 表示点击按钮时只打。 'afterRender?: function', // 渲染完成后的回调函数。 'beforeDestroy?: function', // 销毁前的回调函数。 'name?: string', // 作为表单项的名称。 'value?: string|string[]', // 默认值。 'onChange?: function', // 值变更回调函数。 'disabled?: boolean', // 是否禁用。 'readonly?: boolean', // 是否只读。 'multiple?: boolean|number=false', // 是否允许选择多个值,如果指定为数字,则限制多选的数目,默认 `false`。 'required?: boolean', // 是否必选(不允许空值,不可以被清除)。 'placeholder?: string', // 选择框上的占位文本。 'format?: string', // 日期格式,默认 yyyy-MM-dd。 'display?: string|function', // 日期显示格式,指定回调函数设置显示的格式。 'icon?: string|array="calendar"', // 在输入框右侧显示的图标。 'weekNames?: string[]', // 星期名称,索引为 0 表示周日。 'monthNames?: string[]', // 月份名称,索引为 0 表示一月份。 'yearText?: string', // 用于显示年份的格式化文本。 'todayText?: string', // 用于显示“今天”的文本。 'clearText?: string', // 用于显示“清除”的文本。 'weekStart?: int', // 一周从星期几开始,默认 1。 'minDate?: string|int|function', // 最小可选的日期。 'maxDate?: string|int|function', // 最大可选的日期。 'menu?: array', // 左侧显示的菜单设置。 'actions?: array', // 底部工具栏设置。 'onInvalid?: function' // 日期值无效时的回调函数。 ); /** * Build the widget. * * @access protected * @return mixed */ protected function build() { list($props, $restProps) = $this->props->split(array_keys(static::definedPropsList())); if(isset($props['id'])) { $props['_id'] = $props['id']; unset($props['id']); } return zui::datePicker ( set::_class('form-group-wrapper'), set::_map(array('value' => 'defaultValue', 'formID' => 'id')), set($props), set::_props($restProps), $this->children() ); } }