Index: ssts-web/src/main/webapp/ext-4.2.3/datetime/top_TimePickerField.js =================================================================== diff -u --- ssts-web/src/main/webapp/ext-4.2.3/datetime/top_TimePickerField.js (revision 0) +++ ssts-web/src/main/webapp/ext-4.2.3/datetime/top_TimePickerField.js (revision 33157) @@ -0,0 +1,143 @@ +top.Ext4.define('top.Ext4.ux.form.TimePickerField', { + extend: 'top.Ext4.form.field.Base', + alias: 'widget.timepicker', + alternateClassName: 'top.Ext4.form.field.TimePickerField', + requires: ['top.Ext4.form.field.Number'], + inputType: 'hidden', + style: 'padding:4px;margin-bottom:0px', + value: null, + spinnerCfg: { + width: 50 + }, + initComponent: function () { + var me = this; + + me.value = me.value || top.Ext4.Date.format(new Date(), 'H:i'); + + me.callParent(); + + me.spinners = []; + + var cfg = top.Ext4.apply({}, me.spinnerCfg, { + readOnly: me.readOnly, + disabled: me.disabled, + style: 'float: left', + listeners: { + spin: { + fn: me.onSpinnerChange, + scope: me + }, + valid: { + fn: me.onSpinnerChange, + scope: me + }, + afterrender: { + single: true + } + } + }); + + me.hoursSpinner = top.Ext4.create('top.Ext4.form.field.Number', top.Ext4.apply({}, cfg, { + minValue: 0, + maxValue: 23, + cls: 'first' + })); + + me.minutesSpinner = top.Ext4.create('top.Ext4.form.field.Number', top.Ext4.apply({}, cfg, { + minValue: 0, + maxValue: 59 + })); + + me.spinners.push(me.hoursSpinner, me.minutesSpinner); + me.rendereds = true; + }, + onRender: function () { + var me = this, spinnerWrapDom, spinnerWrap; + me.callParent(arguments); + spinnerWrapDom = top.Ext4.dom.Query.select('td', this.getEl().dom)[1]; + spinnerWrap = top.Ext4.get(spinnerWrapDom); + me.callSpinnersFunction('render', spinnerWrap); + //删除时间控件的ID,不删除点击时间会关闭控件 + spinnerWrap.dom.childNodes[1].removeAttribute('id'); + spinnerWrap.dom.childNodes[2].removeAttribute('id'); + top.Ext4.core.DomHelper.append(spinnerWrap, { + tag: 'div', + cls: 'x-form-clear-left' + }); + + this.setRawValue(this.value); + }, + _valueSplit: function (v) { + if (top.Ext4.isDate(v)) { + v = top.Ext4.Date.format(v, 'H:i'); + } + var split = v.split(':'); + return { + h: split.length > 0 ? split[0] : 0, + m: split.length > 1 ? split[1] : 0 + }; + }, + onSpinnerChange: function () { + if (!this.rendereds) { + return; + } + this.fireEvent('change', this, this.getValue(), this.getRawValue()); + }, + callSpinnersFunction: function (funName, args) { + for (var i = 0; i < this.spinners.length; i++) { + this.spinners[i][funName](args); + } + }, + getRawValue: function () { + if (!this.rendereds) { + var date = this.value || new Date(); + return this._valueSplit(date); + } else { + return { + h: this.hoursSpinner.getValue(), + m: this.minutesSpinner.getValue() + }; + } + }, + setRawValue: function (value) { + value = this._valueSplit(value); + if (this.hoursSpinner) { + this.hoursSpinner.setValue(value.h); + this.minutesSpinner.setValue(value.m); + } + }, + getValue: function () { + var v = this.getRawValue(); + return top.Ext4.String.leftPad(v.h, 2, '0') + ':' + top.Ext4.String.leftPad(v.m, 2, '0'); + }, + setValue: function (value) { + this.value = top.Ext4.isDate(value) ? top.Ext4.Date.format(value, 'H:i') : value; + if (!this.rendereds) { + return; + } + this.setRawValue(this.value); + this.validate(); + }, + disable: function () { + this.callParent(arguments); + this.callSpinnersFunction('disable', arguments); + }, + enable: function () { + this.callParent(arguments); + this.callSpinnersFunction('enable', arguments); + }, + setReadOnly: function () { + this.callParent(arguments); + this.callSpinnersFunction('setReadOnly', arguments); + }, + clearInvalid: function () { + this.callParent(arguments); + this.callSpinnersFunction('clearInvalid', arguments); + }, + isValid: function (preventMark) { + return this.hoursSpinner.isValid(preventMark) && this.minutesSpinner.isValid(preventMark) + }, + validate: function () { + return this.hoursSpinner.validate() && this.minutesSpinner.validate(); + } +}); \ No newline at end of file Index: ssts-web/src/main/webapp/ext-4.2.3/resources/common.css =================================================================== diff -u -r12331 -r33157 --- ssts-web/src/main/webapp/ext-4.2.3/resources/common.css (.../common.css) (revision 12331) +++ ssts-web/src/main/webapp/ext-4.2.3/resources/common.css (.../common.css) (revision 33157) @@ -10,12 +10,15 @@ BACKGROUND:none transparent scroll repeat 0% 0% !important; color: #000000; padding-top:3px; - readonly:expression(this.readOnly=true); } .fieldReadOnlyNoRemoveAndTop { BORDER:0px !important; BACKGROUND:none transparent scroll repeat 0% 0% !important; color: #000000; - readonly:expression(this.readOnly=true); +} + +/* 时间控件,时分跟今天的按钮对齐 */ +.x4-datepicker-footer { + height: 30px; } \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/instrumentRepairManagement/instrumentRepairManagementView.jsp =================================================================== diff -u -r33130 -r33157 --- ssts-web/src/main/webapp/disinfectsystem/instrumentRepairManagement/instrumentRepairManagementView.jsp (.../instrumentRepairManagementView.jsp) (revision 33130) +++ ssts-web/src/main/webapp/disinfectsystem/instrumentRepairManagement/instrumentRepairManagementView.jsp (.../instrumentRepairManagementView.jsp) (revision 33157) @@ -1,11 +1,8 @@ <%@page import="java.util.Date"%> -<%@page import="java.text.SimpleDateFormat"%> <%@ page contentType="text/html; charset=UTF-8"%> <%@ page import="com.forgon.directory.acegi.tools.AcegiHelper"%> <%@ include file="/common/taglibs.jsp"%> <% - SimpleDateFormat dateFormat =new SimpleDateFormat("yyyy/MM/dd HH:mm"); - request.setAttribute("newDate", dateFormat.format(new Date())); String currentUserFullName = AcegiHelper.getLoginUser().getUserFullName(); %> @@ -17,7 +14,6 @@
+ + + + + + + Index: ssts-web/src/main/webapp/ext-4.2.3/datetime/top_DateTimeField.js =================================================================== diff -u --- ssts-web/src/main/webapp/ext-4.2.3/datetime/top_DateTimeField.js (revision 0) +++ ssts-web/src/main/webapp/ext-4.2.3/datetime/top_DateTimeField.js (revision 33157) @@ -0,0 +1,41 @@ +top.Ext4.define('top.Ext4.ux.form.DateTimeField', { + extend: 'top.Ext4.form.field.Date', + alias: 'widget.datetimefield', + requires: ['top.Ext4.ux.DateTimePicker'], + + initComponent: function () { + this.format = this.format; + this.callParent(); + }, + createPicker: function () { + var me = this, + format = top.Ext4.String.format; + + return top.Ext4.create('top.Ext4.ux.DateTimePicker', { + ownerCt: me.ownerCt, + floating: true, + hidden: true, + focusOnShow: true, + minDate: me.minValue, + maxDate: me.maxValue, + disabledDatesRE: me.disabledDatesRE, + disabledDatesText: me.disabledDatesText, + disabledDays: me.disabledDays, + disabledDaysText: me.disabledDaysText, + format: me.format, + showToday: me.showToday, + startDay: me.startDay, + minText: format(me.minText, me.formatDate(me.minValue)), + maxText: format(me.maxText, me.formatDate(me.maxValue)), + listeners: { + scope: me, + select: me.onSelect + }, + keyNavConfig: { + esc: function () { + me.collapse(); + } + } + }); + } +}); \ No newline at end of file Index: ssts-web/src/main/webapp/ext-4.2.3/datetime/DateTimePicker.js =================================================================== diff -u --- ssts-web/src/main/webapp/ext-4.2.3/datetime/DateTimePicker.js (revision 0) +++ ssts-web/src/main/webapp/ext-4.2.3/datetime/DateTimePicker.js (revision 33157) @@ -0,0 +1,103 @@ +Ext4.define("Ext4.locale.en.ux.picker.DateTimePicker", { + override: "Ext4.ux.DateTimePicker", + todayText: "今天", + timeLabel: '' +}); + +Ext4.define('Ext4.ux.DateTimePicker', { + extend: 'Ext4.picker.Date', + alias: 'widget.datetimepicker', + todayText: '今天', + timeLabel: '', + requires: ['Ext4.ux.form.TimePickerField'], + + initComponent: function () { + var value = this.value || new Date(); + this.callParent(); + this.value = value; + }, + onRender: function (container, position) { + if (!this.timefield) { + this.timefield = Ext4.create('Ext4.ux.form.TimePickerField', { + fieldLabel: this.timeLabel, + labelSeparator: '', + labelWidth: 40, + value: Ext4.Date.format(this.value, 'H:i') + }); + } + this.timefield.ownerCt = this; + this.timefield.on('change', this.timeChange, this); + this.callParent(arguments); + + var table = Ext4.get(Ext4.DomQuery.selectNode('.x4-datepicker-footer', this.el.dom)); + Ext4.core.DomHelper.append(table, { + tag: 'div', + style: 'border:0px;', + style: 'float: left;margin-left: 10px;', + children: [{ + tag: 'div', + cls: 'x-datepicker-footer ux-timefield' + }] + }, true); + + this.timefield.render(this.el.child('div div.ux-timefield')); + + var p = this.getEl().parent('div.x-layer'); + if (p) { + p.setStyle("height", p.getHeight() + 31); + } + }, + timeChange: function (tf, time, rawtime) { + this.value = this.fillDateTime(this.value); + }, + fillDateTime: function (value) { + if (this.timefield) { + var rawtime = this.timefield.getRawValue(); + value.setHours(rawtime.h); + value.setMinutes(rawtime.m); + } + return value; + }, + changeTimeFiledValue: function (value) { + this.timefield.un('change', this.timeChange, this); + this.timefield.setValue(this.value); + this.timefield.on('change', this.timeChange, this); + }, + setValue: function (value) { + this.value = value; + this.changeTimeFiledValue(value); + return this.update(this.value); + }, + getValue: function () { + return this.fillDateTime(this.value); + }, + handleDateClick: function (e, t) { + var me = this, + handler = me.handler; + e.stopEvent(); + if (!me.disabled && t.dateValue && !Ext4.fly(t.parentNode).hasCls(me.disabledCellCls)) { + me.doCancelFocus = me.focusOnSelect === false; + me.setValue(this.fillDateTime(new Date(t.dateValue))); + delete me.doCancelFocus; + me.fireEvent('select', me, me.value); + if (handler) { + handler.call(me.scope || me, me, me.value); + } + me.onSelect(); + } + }, + selectToday: function (e) { + var me = this, + btn = me.todayBtn, + handler = me.handler; + if (btn && !btn.disabled) { + me.setValue(new Date()); + me.fireEvent('select', me, me.value); + if (handler) { + handler.call(me.scope || me, me, me.value); + } + me.onSelect(); + } + return me; + } +}); \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/instrumentRepairManagement/instrumentRepairManagementForm.js =================================================================== diff -u -r33142 -r33157 --- ssts-web/src/main/webapp/disinfectsystem/instrumentRepairManagement/instrumentRepairManagementForm.js (.../instrumentRepairManagementForm.js) (revision 33142) +++ ssts-web/src/main/webapp/disinfectsystem/instrumentRepairManagement/instrumentRepairManagementForm.js (.../instrumentRepairManagementForm.js) (revision 33157) @@ -96,11 +96,11 @@ discardDateTime: discardDateTime, remark: remark } - Ext4.Ajax.request({ + top.Ext4.Ajax.request({ url: WWWROOT + '/disinfectSystem/baseData/instrumentRepairAction!saveInstrumentRepair.do', params: params, success: function (response, options) { - var result = Ext4.JSON.decode(response.responseText); + var result = top.Ext4.JSON.decode(response.responseText); if (result.success) { showResult('保存成功'); listStore.loadPage(1); @@ -117,7 +117,7 @@ //获取人员store function getUserStore() { - var userStore = new Ext4.data.Store({ + var userStore = new top.Ext4.data.Store({ proxy: { type: 'ajax', url: WWWROOT + '/systemmanage/user/userAction!loadUsersBySearchString.do', @@ -135,7 +135,7 @@ //获取材料的store function getMaterialDefinition() { - var materialDefinitionStore = new Ext4.data.Store({ + var materialDefinitionStore = new top.Ext4.data.Store({ proxy: { type: 'ajax', url: WWWROOT + '/disinfectSystem/baseData/materialDefinitionAction!getMaterialDefinitionDataIncludeForeignMD.do?selectType=material', @@ -156,7 +156,7 @@ //获取器械包的store function getTousseDefinition() { - var tousseDefinitionStore = new Ext4.data.Store({ + var tousseDefinitionStore = new top.Ext4.data.Store({ proxy: { type: 'ajax', url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!getTousseAndDiposableGoodsData.do?type=' + encodeURI('器械包和外来器械包'), @@ -185,11 +185,11 @@ //获取器械维修的详情 function loadInstrumentRepair(id) { - Ext4.Ajax.request({ + top.Ext4.Ajax.request({ url: WWWROOT + '/disinfectSystem/baseData/instrumentRepairAction!loadInstrumentRepair.do', params: { id: id }, success: function (response, options) { - var result = Ext4.JSON.decode(response.responseText); + var result = top.Ext4.JSON.decode(response.responseText); if (result.success) { var item = result.data; top.Ext4.getCmp('registrantName').setRawValue(item.registrantName); @@ -473,7 +473,7 @@ //显示器械维修设置的窗口 function showAddOrEditWindow(id, reviewStatus) { tousseArray = []; - var repairStatusStore = new Ext4.data.Store({ + var repairStatusStore = new top.Ext4.data.Store({ fields: [{ name: 'value' }], data: [{ value: '维修中' }, { value: '待维修' }, { value: '已维修' }, { value: '报废' }] }); @@ -539,6 +539,12 @@ } } } + var dateXtype = 'datetimefield'; + var dateEditable = false; + if (isIE(8)) { + dateXtype = 'datefield'; + dateEditable = true; + } formPanel = new top.Ext4.form.Panel({ id: 'configForm', frame: true, @@ -585,19 +591,15 @@ border: 0, style: 'margin-bottom:10px', items: [{ - xtype:'datefield', + xtype: dateXtype, fieldLabel: '登记时间', labelAlign: 'right', id: 'registerDateTime', name: 'registerDateTime', format: 'Y-m-d H:i', + editable: dateEditable, allowBlank: false, - anchor: '95%', - listeners: { - render: function () { - setStartDate(top.Ext4, 'yyyy/MM/dd HH:mm', 'registerDateTime'); - } - } + anchor: '95%' }] }, { columnWidth: 0.33, @@ -942,12 +944,13 @@ style: 'margin-bottom:10px', hidden: repairDateTimeIsHidden, items: [{ - xtype: 'datefield', + xtype: dateXtype, fieldLabel: '维修时间', labelAlign: 'right', id: 'repairDateTime', name: 'repairDateTime', format: 'Y-m-d H:i', + editable: dateEditable, allowBlank: true, anchor: '95%' }] @@ -1129,12 +1132,13 @@ style: 'margin-bottom:10px', hidden: outHandoverDateTimeIsHidden, items: [{ - xtype: 'datefield', + xtype: dateXtype, fieldLabel: '出科时间', labelAlign: 'right', id: 'outHandoverDateTime', name: 'outHandoverDateTime', format: 'Y-m-d H:i', + editable: dateEditable, allowBlank: true, anchor: '95%' }] @@ -1177,12 +1181,13 @@ style: 'margin-bottom:10px', hidden: returnHandoverDateTimeIsHidden, items: [{ - xtype: 'datefield', + xtype: dateXtype, fieldLabel: '回科时间', labelAlign: 'right', id: 'returnHandoverDateTime', name: 'returnHandoverDateTime', format: 'Y-m-d H:i', + editable: dateEditable, allowBlank: true, anchor: '95%' }] @@ -1202,12 +1207,13 @@ style: 'margin-bottom:10px', hidden: discardDateTimeIsHidden, items: [{ - xtype: 'datefield', + xtype: dateXtype, fieldLabel: '报废时间', labelAlign: 'right', id: 'discardDateTime', name: 'discardDateTime', format: 'Y-m-d H:i', + editable: dateEditable, allowBlank: true, anchor: '95%' }] @@ -1266,6 +1272,7 @@ loadInstrumentRepair(id); } else { top.Ext4.getCmp('registrantName').setRawValue(currentUserFullName); + setStartDate(top.Ext4, 'yyyy/MM/dd HH:mm', 'registerDateTime'); } } Index: ssts-web/src/main/webapp/ext-4.2.3/datetime/DateTimeField.js =================================================================== diff -u --- ssts-web/src/main/webapp/ext-4.2.3/datetime/DateTimeField.js (revision 0) +++ ssts-web/src/main/webapp/ext-4.2.3/datetime/DateTimeField.js (revision 33157) @@ -0,0 +1,41 @@ +Ext4.define('Ext4.ux.form.DateTimeField', { + extend: 'Ext4.form.field.Date', + alias: 'widget.datetimefield', + requires: ['Ext4.ux.DateTimePicker'], + + initComponent: function () { + this.format = this.format; + this.callParent(); + }, + createPicker: function () { + var me = this, + format = Ext4.String.format; + + return Ext4.create('Ext4.ux.DateTimePicker', { + ownerCt: me.ownerCt, + floating: true, + hidden: true, + focusOnShow: true, + minDate: me.minValue, + maxDate: me.maxValue, + disabledDatesRE: me.disabledDatesRE, + disabledDatesText: me.disabledDatesText, + disabledDays: me.disabledDays, + disabledDaysText: me.disabledDaysText, + format: me.format, + showToday: me.showToday, + startDay: me.startDay, + minText: format(me.minText, me.formatDate(me.minValue)), + maxText: format(me.maxText, me.formatDate(me.maxValue)), + listeners: { + scope: me, + select: me.onSelect + }, + keyNavConfig: { + esc: function () { + me.collapse(); + } + } + }); + } +}); \ No newline at end of file Index: ssts-web/src/main/webapp/ext-4.2.3/datetime/TimePickerField.js =================================================================== diff -u --- ssts-web/src/main/webapp/ext-4.2.3/datetime/TimePickerField.js (revision 0) +++ ssts-web/src/main/webapp/ext-4.2.3/datetime/TimePickerField.js (revision 33157) @@ -0,0 +1,143 @@ +Ext4.define('Ext4.ux.form.TimePickerField', { + extend: 'Ext4.form.field.Base', + alias: 'widget.timepicker', + alternateClassName: 'Ext4.form.field.TimePickerField', + requires: ['Ext4.form.field.Number'], + inputType: 'hidden', + style: 'padding:4px;margin-bottom:0px', + value: null, + spinnerCfg: { + width: 50 + }, + initComponent: function () { + var me = this; + + me.value = me.value || Ext4.Date.format(new Date(), 'H:i'); + + me.callParent(); + + me.spinners = []; + + var cfg = Ext4.apply({}, me.spinnerCfg, { + readOnly: me.readOnly, + disabled: me.disabled, + style: 'float: left', + listeners: { + spin: { + fn: me.onSpinnerChange, + scope: me + }, + valid: { + fn: me.onSpinnerChange, + scope: me + }, + afterrender: { + single: true + } + } + }); + + me.hoursSpinner = Ext4.create('Ext4.form.field.Number', Ext4.apply({}, cfg, { + minValue: 0, + maxValue: 23, + cls: 'first' + })); + + me.minutesSpinner = Ext4.create('Ext4.form.field.Number', Ext4.apply({}, cfg, { + minValue: 0, + maxValue: 59 + })); + + me.spinners.push(me.hoursSpinner, me.minutesSpinner); + me.rendereds = true; + }, + onRender: function () { + var me = this, spinnerWrapDom, spinnerWrap; + me.callParent(arguments); + spinnerWrapDom = Ext4.dom.Query.select('td', this.getEl().dom)[1]; + spinnerWrap = Ext4.get(spinnerWrapDom); + me.callSpinnersFunction('render', spinnerWrap); + //删除时间控件的ID,不删除点击时间会关闭控件 + spinnerWrap.dom.childNodes[1].removeAttribute('id'); + spinnerWrap.dom.childNodes[2].removeAttribute('id'); + Ext4.core.DomHelper.append(spinnerWrap, { + tag: 'div', + cls: 'x-form-clear-left' + }); + + this.setRawValue(this.value); + }, + _valueSplit: function (v) { + if (Ext4.isDate(v)) { + v = Ext4.Date.format(v, 'H:i'); + } + var split = v.split(':'); + return { + h: split.length > 0 ? split[0] : 0, + m: split.length > 1 ? split[1] : 0 + }; + }, + onSpinnerChange: function () { + if (!this.rendereds) { + return; + } + this.fireEvent('change', this, this.getValue(), this.getRawValue()); + }, + callSpinnersFunction: function (funName, args) { + for (var i = 0; i < this.spinners.length; i++) { + this.spinners[i][funName](args); + } + }, + getRawValue: function () { + if (!this.rendereds) { + var date = this.value || new Date(); + return this._valueSplit(date); + } else { + return { + h: this.hoursSpinner.getValue(), + m: this.minutesSpinner.getValue() + }; + } + }, + setRawValue: function (value) { + value = this._valueSplit(value); + if (this.hoursSpinner) { + this.hoursSpinner.setValue(value.h); + this.minutesSpinner.setValue(value.m); + } + }, + getValue: function () { + var v = this.getRawValue(); + return Ext4.String.leftPad(v.h, 2, '0') + ':' + Ext4.String.leftPad(v.m, 2, '0'); + }, + setValue: function (value) { + this.value = Ext4.isDate(value) ? Ext4.Date.format(value, 'H:i') : value; + if (!this.rendereds) { + return; + } + this.setRawValue(this.value); + this.validate(); + }, + disable: function () { + this.callParent(arguments); + this.callSpinnersFunction('disable', arguments); + }, + enable: function () { + this.callParent(arguments); + this.callSpinnersFunction('enable', arguments); + }, + setReadOnly: function () { + this.callParent(arguments); + this.callSpinnersFunction('setReadOnly', arguments); + }, + clearInvalid: function () { + this.callParent(arguments); + this.callSpinnersFunction('clearInvalid', arguments); + }, + isValid: function (preventMark) { + return this.hoursSpinner.isValid(preventMark) && this.minutesSpinner.isValid(preventMark) + }, + validate: function () { + return this.hoursSpinner.validate() && this.minutesSpinner.validate(); + } +}); \ No newline at end of file Index: ssts-web/src/main/webapp/ext-4.2.3/datetime/top_DateTimePicker.js =================================================================== diff -u --- ssts-web/src/main/webapp/ext-4.2.3/datetime/top_DateTimePicker.js (revision 0) +++ ssts-web/src/main/webapp/ext-4.2.3/datetime/top_DateTimePicker.js (revision 33157) @@ -0,0 +1,103 @@ +top.Ext4.define("top.Ext4.locale.en.ux.picker.DateTimePicker", { + override: "top.Ext4.ux.DateTimePicker", + todayText: "今天", + timeLabel: '' +}); + +top.Ext4.define('top.Ext4.ux.DateTimePicker', { + extend: 'top.Ext4.picker.Date', + alias: 'widget.datetimepicker', + todayText: '今天', + timeLabel: '', + requires: ['top.Ext4.ux.form.TimePickerField'], + + initComponent: function () { + var value = this.value || new Date(); + this.callParent(); + this.value = value; + }, + onRender: function (container, position) { + if (!this.timefield) { + this.timefield = top.Ext4.create('top.Ext4.ux.form.TimePickerField', { + fieldLabel: this.timeLabel, + labelSeparator: '', + labelWidth: 40, + value: top.Ext4.Date.format(this.value, 'H:i') + }); + } + this.timefield.ownerCt = this; + this.timefield.on('change', this.timeChange, this); + this.callParent(arguments); + + var table = top.Ext4.get(top.Ext4.DomQuery.selectNode('.x4-datepicker-footer', this.el.dom)); + top.Ext4.core.DomHelper.append(table, { + tag: 'div', + style: 'border:0px;', + style: 'float: left;margin-left: 10px;', + children: [{ + tag: 'div', + cls: 'x-datepicker-footer ux-timefield' + }] + }, true); + + this.timefield.render(this.el.child('div div.ux-timefield')); + + var p = this.getEl().parent('div.x-layer'); + if (p) { + p.setStyle("height", p.getHeight() + 31); + } + }, + timeChange: function (tf, time, rawtime) { + this.value = this.fillDateTime(this.value); + }, + fillDateTime: function (value) { + if (this.timefield) { + var rawtime = this.timefield.getRawValue(); + value.setHours(rawtime.h); + value.setMinutes(rawtime.m); + } + return value; + }, + changeTimeFiledValue: function (value) { + this.timefield.un('change', this.timeChange, this); + this.timefield.setValue(this.value); + this.timefield.on('change', this.timeChange, this); + }, + setValue: function (value) { + this.value = value; + this.changeTimeFiledValue(value); + return this.update(this.value); + }, + getValue: function () { + return this.fillDateTime(this.value); + }, + handleDateClick: function (e, t) { + var me = this, + handler = me.handler; + e.stopEvent(); + if (!me.disabled && t.dateValue && !top.Ext4.fly(t.parentNode).hasCls(me.disabledCellCls)) { + me.doCancelFocus = me.focusOnSelect === false; + me.setValue(this.fillDateTime(new Date(t.dateValue))); + delete me.doCancelFocus; + me.fireEvent('select', me, me.value); + if (handler) { + handler.call(me.scope || me, me, me.value); + } + me.onSelect(); + } + }, + selectToday: function (e) { + var me = this, + btn = me.todayBtn, + handler = me.handler; + if (btn && !btn.disabled) { + me.setValue(new Date()); + me.fireEvent('select', me, me.value); + if (handler) { + handler.call(me.scope || me, me, me.value); + } + me.onSelect(); + } + return me; + } +}); \ No newline at end of file