- –-> Ext.extend –-> xtype Ext.reg
Ext.ux.TimeField = Ext.extend(Ext.form.Field、{});Ext.reg( 'admintimefield' 、Ext.Admin.TimeField);*このソースコードは、 ソースコードハイライターで強調表示されました。
Ext.ux.TimeField = Ext.extend(Ext.form.Field、{defaultAutoCreate:{tag: 'div' 、 'class' : 'time-field-wrap' }、.................................................. ...............*このソースコードは、 ソースコードハイライターで強調表示されました。
Ext.Admin.TimeField = Ext.extend(Ext.form.Field、{timeFieldTpl: 新しい Ext.XTemplate('<div class = "hours-ct"> </ div> <div class = "timeunittext-ct"> h </ div>' 、'<div class = "minutes-ct"> </ div> <div class = "timeunittext-ct"> m </ div>' 、'<div class = "seconds-ct"> </ div> <div class = "timeunittext-ct"> with </ div>')、.................................................. ...............onRender: 関数 (ct、位置){Ext.Admin.TimeField.superclass.onRender.call( this 、ct、position);this .el.update( this .timeFieldTpl.apply( this ));.................................................. ...............*このソースコードは、 ソースコードハイライターで強調表示されました。
div.hours-ct、div.minutes-ct、div.seconds-ct、div.timeunittext-ct {表示:インラインブロック。幅:10px;}div.hours-ct、div.minutes-ct、div.seconds-ct {幅:50px;}*このソースコードは、 ソースコードハイライターで強調表示されました。
onRender: 関数 (ct、位置){Ext.Admin.TimeField.superclass.onRender.call( this 、ct、position);this .el.update( this .timeFieldTpl.apply( this ));Ext.each([ 'hours' 、 'minutes' 、 'seconds' ]、 function (i){this [i + 'Ct' ] = Ext.query( '。' + i + '-ct' 、 this .el.dom)[0];this [i + 'Field' ] = Ext.create({xtype: 'spinnerfield' 、minValue:0、maxValue:i == 'hours' ? 23:05、renderTo: この [i + 'Ct' ]、幅:45、値:0});}、 this );.................................................. ...............*このソースコードは、 ソースコードハイライターで強調表示されました。
.................................................. ...............getValue: function (){この .valueを返します。}、getRawValue: function (){この .valueを返します。}、onTimeFieldsChanged: function (){this .value = this .hoursField.getValue()* 3600 + this .minutesField.getValue()* 60 + this .secondsField.getValue();this .fireEvent( 'change' 、 this 、 this .value);}、.................................................. ...............*このソースコードは、 ソースコードハイライターで強調表示されました。
.................................................. ...............this [i + 'Field' ] = Ext.create({xtype: 'spinnerfield' 、minValue:0、maxValue:i == 'hours' ? 23:05、renderTo: この [i + 'Ct' ]、幅:45、値:0、enableKeyEvents: true 、リスナー:{キーアップ: this .onTimeFieldsChanged、スピンアップ: this .onTimeFieldsChanged、spindown: this .onTimeFieldsChanged、スコープ: これ}.................................................. ...............*このソースコードは、 ソースコードハイライターで強調表示されました。
.................................................. ...............initComponent: function (){if (!Ext.isDefined( this .value)) this .value = 0;Ext.Admin.TimeField.superclass.initComponent.call( this );}、setValue: 関数 (v){var setFn = function (v){var h = Math.floor(v / 3600)、m = Math.floor((v%3600)/ 60)、s = v%60;this .hoursField.setValue(h);this .minutesField.setValue(m);this .secondsField.setValue(s);};this .value = v;if ( this .rendered){setFn.call( this 、v);} else {this .on( 'afterrender' 、setFn.createDelegate( this 、[v])、{single: true });}}、.................................................. ............... <*このソースコードは、 ソースコードハイライターで強調表示されました。
................................................validationEvent: 'change' 、................................................initEvents: function (){Ext.ux.TimeField.superclass.initEvents.call( this );if ( this .validationEvent!== false && this .validationEvent!= 'blur' ){this .mon( this 、 this .validationEvent、 this .validate、 this 、{buffer: this .validationDelay});}}、................................................validateValue: 関数 (値){if ( this .allowBlank!== false ){trueを 返し ます 。} else {if (Ext.isDefined(value)&& value!= '' && value!= '0' && value> 0){this .clearInvalid();trueを 返し ます 。} else {this .markInvalid( this .blankText);falseを 返し ます 。}}}、*このソースコードは、 ソースコードハイライターで強調表示されました。
.time-field-wrap.x-form-invalid {背景:なし;border:0px none;}.time-field-wrap.x-form-invalid .x-form-text {背景色:#FFFFFF;background-image:url(../../ resources / images / default /grid/invalid_line.gif);バックグラウンド位置:左下。ボーダーカラー:#CC3300;}*このソースコードは、 ソースコードハイライターで強調表示されました。
var setFn = function (v){.................................................. ..............this .hiddenField.value = v;};.................................................. ..onTimeFieldsChanged: function (){.................................................. ............................this .hiddenField.value = this .value;this .fireEvent( 'change' 、 this 、 this .value);}、onRender: 関数 (ct、位置){Ext.ux.TimeField.superclass.onRender.call( this 、ct、position);.................................................. .................................................. ........this .hiddenField = this .el.insertSibling({タグ: 'input' 、タイプ: 'hidden' 、名前: この .name || この .id、id:( this .id + 'hidden' )}、 'before' 、 true );if ( this .value) this .setValue( this .value);}*このソースコードは、 ソースコードハイライターで強調表示されました。
Source: https://habr.com/ru/post/J88261/More articles:GDC 2010のバーチャルリアリティAppleが子供に性的条件を説明する方法Yandex.gov.ru:Yandexが国営企業になる場合jMonkeyEngineで3Dを試す噂:Steam-別に、新しいDRMを備えたUbisoftゲーム-別に?EZ-Key EZ8000およびWindows Vista / 7:無料のチーズはネズミ捕りでのみ発生しますスパム/ウイルス? SMSの送信を依頼しますか?Image Composite Editorの新しいバージョンオンラインストア向けQiwiアルゴリズム記述コレクションAll Articles