티스토리 뷰

Programming/JavaScript, Sencha

Sencha Touch 1 - Form

파란크리스마스 2013. 11. 20. 00:34
728x90

selectfield

{
	xtype : 'selectfield',
	name : 'role',
	id : 'role',
	label : '담당업무',
	useClearIcon : true,
	options : [ 
	    { text : '현장소장', value : '02' }, 
	    { text : '디자이너', value : '03' }, 
	    { text : '컨설턴트', value : '04' }
	]
}

selectfield - json 이용

job_type.json

{"d":[{ "text": "초중고등학생", "value": "초중고등학생" },
{ "text": "대학(원)생", "value": "대학(원)생" },
{ "text": "사무직", "value": "사무직" },
{ "text": "연구/개발직", "value": "연구/개발직" },
{ "text": "기술직", "value": "기술직" },
{ "text": "경영/관리직", "value": "경영/관리직" },
{ "text": "영업/마케팅", "value": "영업/마케팅" },
{ "text": "전문직", "value": "전문직" },
{ "text": "자영업", "value": "자영업" },
{ "text": "판매직", "value": "판매직" },
{ "text": "노무직", "value": "노무직" },
{ "text": "서비스직", "value": "서비스직" },
{ "text": "농업", "value": "농업" },
{ "text": "축산업", "value": "축산업" },
{ "text": "임업", "value": "임업" },
{ "text": "수산업", "value": "수산업" },
{ "text": "공무원", "value": "공무원" },
{ "text": "군경", "value": "군경" },
{ "text": "교직", "value": "교직)" },
{ "text": "예술", "value": "예술" },
{ "text": "주부", "value": "주부" },
{ "text": "기타", "value": "기타" }]}

model

Ext.regModel('d', {
	fields : [ 
		{ name : 'text', type : 'string' }, 
		{ name : 'value', type : 'string' } 
	]
});

store

Ext.regStore('JobStore', {
	model : 'd',
	autoLoad : true,
	proxy : {
		type : 'ajax',
		url : common_url + 'job_type.json',
		reader : {
			type : 'json',
			root : 'd'
		},
		extraParams: { // 파라미터 설정 부분
			cmd : 'CodeData',
			subcmd : 'inc_data',
			inc_id : m_inc_id
		}
	},
	listeners:{ // 로딩이 완료 되면 호출
		load: function(self, records, successful) {
			//dataStore.loadRawData(self.proxy.reader.rawData);
			if (dataInfo != -1) {
				Ext.getCmp("space").setValue(dataInfo.space_code);
			}
		}
	}
});

selectfield

{
	xtype : 'selectfield',
	name : 'job', // 동적로딩인 경우 필수
	id : 'job',
	label : '직업',
	useClearIcon : true,
	store: 'JobStore', //No quotes here. 
	displayField: 'text', 
	valueField: 'value', 
	placeHolder: '직업을 선택해 주세요'
}

passwordfield

{
	xtype : 'passwordfield',
	id : 'password',
	label : '비밀번호',
	useClearIcon : true
}

datepickerfield

{
	xtype: 'datepickerfield',
	destroyPickerOnHide: true,
	name : 'date',
	label: 'Start Date',
	value: new Date(),
	picker: {
		yearFrom: 1990 
	} 
}
{
	xtype : 'datepickerfield',
	id : 'start_date',
	label : '공사시작일',
	useClearIcon : true,
	picker: {   
		yearFrom: 2012,  
		yearTo : 2015,
		slotOrder: ['year', 'month' ,'day']  
	}
}

emailfield

{
	xtype : 'emailfield',
	id : 'email',
	label : '이메일',
	useClearIcon : true
}

clear forms

this.form = new Ext.form.FormPanel();
 
// And somewhere else
this.form.getForm().reset(); // doesn't work

confirm 창

var ret = confirm("정말로 삭제 하시겠습니까?");
if (ret) {
	Ext.Ajax.request({
		url: 'json',
		params : {
			cmd : 'IncidentDong',
			subcmd : 'delete',
			id : m_dong_id
		},
		success: function(response, opts) {
			var JsonData = JSON.parse(response.responseText);
			if(JsonData.data.err == "") {
				ns_incident_dong_list.panel_list.getList(m_inc_id);
			} else {
				alert(JsonData.data.err);
			}
		}
	});
}

x-list-item-body

dataList = new Ext.List({
	title: 'Incident목록',
	store: dataStore,
	scroll: false, // <-- 여기 중요
	layout:'fit', // <-- 여기 중요
	blockRefresh:true,
	onItemDisclosure: {
		handler: function(record, btn, index) {
			//alert(record.get('no'));
			/*
			ns_incident_write.init();
			ns_incident_write.panel.getInfoData(record.get('id'));
			main.MainPanel.setActiveItem(ns_incident_write.panel, "slide");
			*/
			overlay.setCentered(true);
			overlay.setIncID(record.get('id'));
			overlay.show();
		}
	},
	listeners: {
		itemtap: function(list, index, el, event){
			if (event.getTarget('.x-list-item-body')) {
				//alert('index =' + index);                	
				var record = this.store.getAt(index);
				ns_incident_list.panel_list.goNextPage(record.get('id'));
			}
		}
		/*
		el: {
			tap: function(param1, param2, param3) {
				alert('Play Pressed!');
			},
			delegate: '.x-list-item-body'
		},
		select: function (list, record) {
			list.down('titlebar').setTitle(model.get('name'));
		} // select
		*/
	}, // listeners
	itemTpl:'{court} / {name} / {valuation} / {inspector}'
});

setVisible

Ext.getCmp("btnAdd2").setVisible(false);

Message 창 출처 : Sencha Touch Message Box

Ext.Msg.alert('blueX', '사진 등록은 사건이 등록되어야 가능합니다.', Ext.emptyFn);



댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함