extjs 简单入门
中文网站:http://extjs.org.cn/
英文网站:http://www.sencha.com/products/extjs/
1、简介
extJS是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架。
2、简单使用
需要这些包的支持:ext-all.css,ext-all.js,ext-lang-zh_CN.js
上代码:
if (!courseware) {
courseware = {
};
}
courseware.showSchemeSwf = function(swfFile) {
if (!swfFile) {
return;
}
//$("#player").show();
$('#documentViewer').FlexPaperViewer(//仿百度文库插件
{ config : {
jsDirectory : courseware.swfDirectory,
SWFFile :swfFile,
Scale : 0.6,
ZoomTransition : 'easeOut',
ZoomTime : 0.5,
ZoomInterval : 0.2,
FitPageOnLoad : true,
FitWidthOnLoad : false,
FullScreenAsMaxWindow : true,
ProgressiveLoading : false,
MinZoomSize : 0.2,
MaxZoomSize : 5,
SearchMatchAll : true,
InitViewMode : 'Portrait',
RenderingOrder : 'flash',
StartAtPage : '',
ViewModeToolsVisible : true,
ZoomToolsVisible : true,
NavToolsVisible : true,
CursorToolsVisible : true,
SearchToolsVisible : true,
WMode : 'window',
localeChain: 'zh_CN'
}}
); };
courseware.colsePlayer = function() {
//$("#player").hide();
}; courseware.departmentID=""; var Courseware = Ext.define('Courseware', {
extend: 'Ext.data.Model',
fields: [
{name: 'coursewareId', type: 'string'},
{name: 'coursewareName', type: 'string'},
{name: 'uploadTime', type: 'string'},
{name: 'coursewarePath', type: 'string'},
{name: 'coursewareSwfPath', type: 'string'}
]
}); courseware.createItems =function (){//显示的菜单
var items = [];
if (training.user.role == '0') {//用户的权限,在JS中,从session中获得
items.push({
id : "btn-add",
iconCls: 'icon-add',
text: '上传课件',
handler: courseware.onAddClick
}, {
id : "btn-delete",
iconCls: 'icon-delete',
text: '删除课件',
disabled: true,
handler: courseware.onDeleteClick
});
}
items.push({
id : "btn-download",
iconCls: 'icon-download',
text: '下载课件',
disabled: true,
hidden:true,
handler: courseware.onDownloadClick },{
id : "btn-view",
iconCls: 'icon-view',
text: '观看课件',
disabled: true,
handler: courseware.onViewClick },"->",{
xtype:'combo',
id:'departments',
fieldLabel: '部门列表',
labelWidth:60,
editable:false,
store: CommonUtil.departmentStoreWithAll,
queryMode: 'local',
displayField: 'departmentName',
valueField: 'departmentId',
value:"",
listeners :{
change: function(view, selections) {
var departmentId = Ext.getCmp('departments').getValue();
courseware.departmentID=departmentId;
Ext.getCmp('coursewarePanel').getStore().getProxy().url='......?Id='+departmentId;
courseware.store.loadPage(1);
}
}
});
return items;
};
courseware.store = Ext.create('Ext.data.Store', {//从指定地址获得数据
storeId:'coursewareStore',
model:Courseware,
pageSize:10,
proxy: {
type: 'ajax',
url: 'courseware/getfiles',
params: {
departmentId:""
},
reader: {
type: 'json',
totalProperty: 'dataCnt',
root: 'data'
}
}
}); courseware.uploadfileWindow = Ext.create('Ext.window.Window', {//窗体
title: '上传课件',
height: 150,
width: 320,
closeAction:'hide',
items: {
xtype: 'form',
layout: 'form',
id: 'passwordForm',
defaultType: 'textfield',
height:100,
border:0,
bodyStyle: {
background: '#dfe8f6',
padding: '20px'
},
items: [{
xtype: 'filefield',
regex:/^.*?\.(pdf|ppt|doc)$/,
regexText:'文件格式有误,只能上传pdf|ppt|doc格式的文件',
name: 'filename',
fieldLabel: '请选择课件',
labelWidth: 80,
msgTarget: 'side',
allowBlank: false,
anchor: '100%',
buttonText: '选择课件'
}],
buttons: [{
text: '上传',
handler: function() {
var form = this.up('form').getForm();
if(form.isValid()){
form.submit({
url: courseware.fileuploadUrl+"?departmentId="+courseware.departmentID,
waitMsg: '正在上传课件,请稍等',
success: function(form, action,response) {
courseware.handleupload(form, action,response);
},
failure: function(form, action,response) {
courseware.handleupload(form, action,response);
}
});
}
}
}]
}
}); courseware.handleupload = function(form, action,response) { if (action.result.status == 'OK') {
//courseware.uploadfileWindow.hide();
//Ext.Msg.alert('成功', '文件转码中,请稍后');
//Ext.getCmp('coursewarePanel').getStore().getProxy().url='...'+courseware.departmentID;
//courseware.store.loadPage(1);
} else {
//courseware.uploadfileWindow.hide();
//Ext.Msg.alert('失败', '上传失败,请检查网络,稍微再传!');
}
/**权益之计,这个问题需要解决*/
courseware.uploadfileWindow.hide();
Ext.getCmp('coursewarePanel').getStore().getProxy().url='....?id='+courseware.departmentID;
courseware.store.loadPage(1);
}; courseware.onAddClick = function() {
if(courseware.departmentID=="")
{
Ext.Msg.alert('警告', '请选择部门');
return;
}
courseware.uploadfileWindow.show();
};
courseware.onDownloadClick= function() {
var selects = courseware.coursewarePanel.getSelectionModel().getSelection();
if (selects.length == 0) {
CommonUtil.warn("请选择课件");
return false;
}
var path = selects[0].data.coursewarePath;
window.location.assign('courseware/downloadfiles?filepath='+path);
};
courseware.onDeleteClick = function() {
var selects = courseware.coursewarePanel.getSelectionModel().getSelection();
if (selects.length == 0) {
CommonUtil.warn("请选择课件");
return false;
}
CommonUtil.confirm("确认删除选中的课件?", function(){
var coursewareId = selects[0].data.coursewareId;
Ext.Ajax.request({
url : 'courseware/filedelete?coursewareId=' + coursewareId,
success : function(response) {
var obj = Ext.decode(response.responseText);
if (obj.status == "OK") {
Ext.getCmp('coursewarePanel').getStore().getProxy().url='......Id='+courseware.departmentID;
courseware.store.loadPage(1);
} else {
Ext.Msg.alert("错误", "网络错误,请稍后再试");
}
}
});
}); };
courseware.onViewClick =function(){
var selects = courseware.coursewarePanel.getSelectionModel().getSelection();
if (selects.length == 0) {
CommonUtil.warn("请选择课件");
return false;
}
var path = selects[0].data.coursewareSwfPath;
window.open('.....?path='+path+'&name='+selects[0].data.coursewareName);
};
Ext.onReady(function() { courseware.coursewarePanel = Ext.create('Ext.grid.Panel', {
id:'coursewarePanel',
renderTo: "departmentCoursewares",
store: courseware.store,
width: 526,
height: 400,
title: '课件列表',
selModel : Ext.create('Ext.selection.CheckboxModel', {mode:'single',allowDeselect:true}),
selType: 'rowmodel',
dockedItems: [{
xtype: 'toolbar',
items: courseware.createItems()
},
{
xtype: 'pagingtoolbar',
store: courseware.store, // same store GridPanel is using
dock: 'bottom',
displayInfo: true
}],
columns: [{
text: '课件ID',
width: 100,
sortable: false,
hidden: true,
dataIndex: 'coursewareId'
},{
text: '课件路径',
width: 100,
sortable: false,
hidden: true,
dataIndex: 'coursewarePath'
},{
text: '课件名',
width: training.user.role=='0'?300:500,
dataIndex: 'coursewareName',
hidden: false,
editor: 'textfield'
},{
text: '上传时间',
width: 200,
dataIndex: 'uploadTime',
hidden: training.user.role=='0'?false:true,
editor: 'textfield'
}],
listeners : {
selectionchange : function( curr, selected, eOpts ) {
if (selected.length != 0) {
Ext.getCmp("btn-download").enable();
Ext.getCmp("btn-view").enable();
if (training.user.role == '0')
Ext.getCmp("btn-delete").enable();
} else {
Ext.getCmp("btn-download").disable();
Ext.getCmp("btn-view").disable();
if (training.user.role == '0')
Ext.getCmp("btn-delete").disable();
}
}
}
});
CommonUtil.departmentStoreWithAll.load();
Ext.getCmp('coursewarePanel').getStore().getProxy().url='...?Id='+'';
courseware.store.reload();
});
extjs 简单入门的更多相关文章
- 用IntelliJ IDEA创建Gradle项目简单入门
Gradle和Maven一样,是Java用得最多的构建工具之一,在Maven之前,解决jar包引用的问题真是令人抓狂,有了Maven后日子就好过起来了,而现在又有了Gradle,Maven有的功能它都 ...
- [原创]MYSQL的简单入门
MYSQL简单入门: 查询库名称:show databases; information_schema mysql test 2:创建库 create database 库名 DEFAULT CHAR ...
- Okio 1.9简单入门
Okio 1.9简单入门 Okio库是由square公司开发的,补充了java.io和java.nio的不足,更加方便,快速的访问.存储和处理你的数据.而OkHttp的底层也使用该库作为支持. 该库极 ...
- emacs最简单入门,只要10分钟
macs最简单入门,只要10分钟 windwiny @2013 无聊的时候又看到鼓吹emacs的文章,以前也有几次想尝试,结果都是玩不到10分钟就退出删除了. 这次硬着头皮,打开几篇文章都看完 ...
- 【java开发系列】—— spring简单入门示例
1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转 ...
- Docker 简单入门
Docker 简单入门 http://blog.csdn.net/samxx8/article/details/38946737
- Springmvc整合tiles框架简单入门示例(maven)
Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...
- git简单入门
git简单入门 标签(空格分隔): git git是作为程序员必备的技能.在这里就不去介绍版本控制和git产生的历史了. 首先看看常用的git命令: git init git add git comm ...
- 程序员,一起玩转GitHub版本控制,超简单入门教程 干货2
本GitHub教程旨在能够帮助大家快速入门学习使用GitHub,进行版本控制.帮助大家摆脱命令行工具,简单快速的使用GitHub. 做全栈攻城狮-写代码也要读书,爱全栈,更爱生活. 更多原创教程请关注 ...
随机推荐
- 使用struts dojo ajax源码案例
我这里使用的jar 包struts2-dojo-plugin-2.2.1.1.jar ===========jsp======================= <%@ taglib prefi ...
- Js弹出层,弹出框代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 前端相关的seo技术
相信大部分的前端开发人员应该深知seo对我们的重要性,所以个人认为平台在开发初期就应该要考虑好seo优化的问题,不然做出来的页面,就算是效果很炫,功能很强,但是对搜索引擎也不友善.如果等到成熟时期再来 ...
- phantomjs
PhantomJS是以WebKit为核心并提供JavaScript编程接口(API)的无界面浏览器. 它提供对web标准的 快速 并且 原生 的支持: DOM操作.CSS选择符.JSON.Canvas ...
- 安装Exchange2010
1.exadmin加入到 Schema admins,enterprise admins组中 CAS,HUB,MB安装.Net Framework CAS,HUB:2.Run 'ServerManag ...
- C++ for循环效率
1.考虑二维数组,在C++中,以先行后列的方式存储连续的数组元素.也就是同一行的元素在一起,同一列的元素之间有间隔,且间隔相同.理想情况下,二维数组的元素是随机访问的,可以直接定位,即i*列数+j.因 ...
- Codeforces Round #342 (Div. 2) C. K-special Tables 构造
C. K-special Tables 题目连接: http://www.codeforces.com/contest/625/problem/C Description People do many ...
- Codeforces Educational Codeforces Round 5 E. Sum of Remainders 数学
E. Sum of Remainders 题目连接: http://www.codeforces.com/contest/616/problem/E Description The only line ...
- CSS定位规则之BFC 你居然一直不知道的东西!!!!!
相关文档: http://blog.sina.com.cn/s/blog_877284510101jo5d.html http://www.cnblogs.com/dojo-lzz/p/3999013 ...
- ajax开发框架和XMLhttpRequest、responseText、responseXml和JSON的应用
1 AJAX开发框架 2 A 初始化XMLHttpRequest对象 3 B指定响应处理函数 4 C发出HTTP请求 5 D处理服务器返回的信息 6 数据格式提要 6 优点 6 缺点 7 解析 JSO ...