中文网站: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 简单入门的更多相关文章

  1. 用IntelliJ IDEA创建Gradle项目简单入门

    Gradle和Maven一样,是Java用得最多的构建工具之一,在Maven之前,解决jar包引用的问题真是令人抓狂,有了Maven后日子就好过起来了,而现在又有了Gradle,Maven有的功能它都 ...

  2. [原创]MYSQL的简单入门

    MYSQL简单入门: 查询库名称:show databases; information_schema mysql test 2:创建库 create database 库名 DEFAULT CHAR ...

  3. Okio 1.9简单入门

    Okio 1.9简单入门 Okio库是由square公司开发的,补充了java.io和java.nio的不足,更加方便,快速的访问.存储和处理你的数据.而OkHttp的底层也使用该库作为支持. 该库极 ...

  4. emacs最简单入门,只要10分钟

    macs最简单入门,只要10分钟  windwiny @2013    无聊的时候又看到鼓吹emacs的文章,以前也有几次想尝试,结果都是玩不到10分钟就退出删除了. 这次硬着头皮,打开几篇文章都看完 ...

  5. 【java开发系列】—— spring简单入门示例

    1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转 ...

  6. Docker 简单入门

    Docker 简单入门 http://blog.csdn.net/samxx8/article/details/38946737

  7. Springmvc整合tiles框架简单入门示例(maven)

    Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...

  8. git简单入门

    git简单入门 标签(空格分隔): git git是作为程序员必备的技能.在这里就不去介绍版本控制和git产生的历史了. 首先看看常用的git命令: git init git add git comm ...

  9. 程序员,一起玩转GitHub版本控制,超简单入门教程 干货2

    本GitHub教程旨在能够帮助大家快速入门学习使用GitHub,进行版本控制.帮助大家摆脱命令行工具,简单快速的使用GitHub. 做全栈攻城狮-写代码也要读书,爱全栈,更爱生活. 更多原创教程请关注 ...

随机推荐

  1. Domino 迁移到Exchange 服务器 之在Domino Server 创建用户!

    我们打开Lotus Admin,导航到注册,点击到需要设置的人,然后再选择验证者标识符选择相应的组织配置标识符:

  2. js判断滚动方向

     //页面滚动监听事件     window.onscroll = function (e) {                scrollFunc();         $("#t&quo ...

  3. Lync2010升级到2013之账户启用!

    打开ADUC,将用户添加到 csadministrator 组中:

  4. Java常见排序算法之冒泡排序

    在学习算法的过程中,我们难免会接触很多和排序相关的算法.总而言之,对于任何编程人员来说,基本的排序算法是必须要掌握的. 从今天开始,我们将要进行基本的排序算法的讲解.Are you ready?Let ...

  5. C++学习笔记之输入、输出和文件

    一.流的概念 数据从内存的一个地址移动到另一个地址称为数据流动——流操作 流操作是通过缓冲区(buffer)机制实现的. 缓冲区:内存的一块区域——用作文件与内存交换数据. 数据从文件中读出:文件 → ...

  6. 将博CMS安全分析报告-橘皮书

    一.使用IBM的AppScan和Acunetix应用程序漏洞扫描将博CMS5.5,得出一些漏洞.         此番扫描大小共23种类型问题,其中高危漏洞有三个,中危漏洞9个,低级漏洞11个.注意这 ...

  7. JavaScript中伪协议 javascript:研究

    将javascript代码添加到客户端的方法是把它放置在伪协议说明符javascript:后的URL中.这个特殊的协议类型声明了URL的主体是任意的javascript代码,它由javascript的 ...

  8. 使用SurfaceView和MediaPlayer实现视频做为背景

    场景:像我们在Uber应用开场,看到一一段视频作为開始.这样子让用户非常快投入应用使用的场景中去,这样的以视频作为开场的应用,我们是不是认为非常高大上呢,哈哈,事实上是使用了SerfaceView去载 ...

  9. iOS 2D绘图详解(Quartz 2D)之阴影和渐变(Shadow,Gradient)

    前言:这个系列写道这里已经是第五篇了,本文会介绍下阴影和渐变的基础知识,以及一些基本的Demo Code展示,应该还会有两篇,介绍下Bitmap绘制以及Pattern等知识. Shadow shado ...

  10. poj 3249 Test for Job (DAG最长路 记忆化搜索解决)

    Test for Job Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 8990   Accepted: 2004 Desc ...