论坛首页 Web前端技术论坛

Ext 2.02 API新增功能

浏览 5877 次
精华帖 (0) :: 良好帖 (21) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-02-27  

为联合Adobe, Ext2.02当中重要的一项便是针对AIR1.0中应用程序的沙箱(Application Suadbox)提供运行的支持。另外,作为范本的AIR版的Simple Tasks(简易任务)已重写以体现AIR原生功能还有一部分Ext制定组件是可以在AIR之外使用。

AIR APIs

首先,一些会用到的API我们先讲讲:


原生Window NativeWindow

Ext.air包其中一项最有用的功能。此API可创建、管理Windows,例如侦听事件发挥了标准的Ext观察者和Windows自动状态管理的作用。

 

var win = new Ext.air.NativeWindow({     id: winId,     file: 'task.html',     width:500,     height:350,     resizable: true });
Task NativeWindow in Simple Tasks 2

Ext.sql.*

在AIR早期的beta版本中,数据库访问的方式为异步访问。随着beta3中可使用同步方式访问,Ext.data.Record亦相应提供升级的支持。

Simple Tasks演示了怎么在SQLite数据库中持久Ext.data.Record的实例,整合的过程并不困难。

 

tx.data.ListStore = Ext.extend(Ext.data.Store, {     constructor: function(){         // superclass call         tx.data.ListStore.superclass.constructor.call(this, {             sortInfo:{field: 'listName', direction: "ASC"},             reader: new Ext.data.JsonReader({                 id: 'listId',                 fields: tx.data.List             })         });           this.conn = tx.data.conn;         // Ext.sql.Proxy for managing Sqlite persistence         this.proxy = new Ext.sql.Proxy(tx.data.conn, 'list', 'listId', this);     },     ...

 

原生的拖放和剪贴板
Simple Tasks支持拖动任意的文本拖动到Grid,自动转回为新任务(Task)。而且也可以从的系统的剪贴板粘贴新建任务,不过,其中一项最COOL的功能就是允许直接从OUTLOOK拖动任务到SimpleTask。

Dragging Outlook tasks into Simple Tasks

最小化系统状态功能

第一版的SimpleTask发布后,ExtJS内部这里需求最大的就是最小化window系统状态栏的功能。我们将自动控制系统托盘(System Tray)的功能加入到Ext.air.NativeWindow这个类中。这样,通过设置一下配置项就可最小化到系统托盘。

 

var win = new Ext.air.NativeWindow({     id: 'mainWindow',     instance: window.nativeWindow,       // System tray config     minimizeToTray: true,     trayIcon: 'ext-air/resources/icons/extlogo16.png',     trayTip: 'Simple Tasks',     trayMenu : [{         text: 'Open Simple Tasks',         handler: function(){             win.activate();         }     }, '-', {         text: 'Exit',         handler: function(){             air.NativeApplication.nativeApplication.exit();         }     }] });
Simple Tasks in the System Tray

音效
AIR支持播放音效,Ext.air.Sound的用法甚至更简单了。

 

Ext.air.Sound.play('beep.mp3');
The irritating beeping sound is sure to catch your attention

Ext制定的组件

如上文述,整个SimpleTask的程序包含了几个示范的EXT自定义组件。其中一部分是为了复用而专门设计的,未来发布的版本或许会成为标准的组件或示例。

 

ListTree
    ListTree与 ComboBox或SelectBox相类似,不同在于出现的是一块Ext TreePanel面板。比起普通的垂直列表更能清晰显示各层次的列表。
    伴随着这个组件另外一个酷的功能是制定的选区模型“ActivationModel”。顾名思义,它以两种形式出现(activation活动选区和记录选区selection),在活动选区下,组件支持完整的键盘控制、用键盘展开/闭合, 与标准树选区模型不同,此选区属于动作本身。

TreeList supports selection of data organized hierarchically

自定义Gird列
截屏图片可第一时间解释清楚。

Pseudo button column, used to toggle complete/active
Menu column, used to set quick reminders

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Siwthc按钮

有一种类似radio按钮(单选按钮)的组件好像在桌面的应用程序上经常看得到。这儿就叫作“Switch”按钮,以便不会与标准HTML的radio按钮出现混淆。它的作用是:提供一组的按钮,同时“被按下”的只能是一个。

Quick view change

总结

无论是AIR本身的功能还是EXT的扩展,这些都可以在Simple Tasks v2的程序源码中找到真正应用的地方。如果你正在使用着Ext,那么我推荐浏览这些源码。
    -完整的源码可以在Ext 2.02的发布版本中的air/samples/tasks找到。
    -Adobe AIR 1.0 下载
    -Simple Tasks v2 面向AIR的版本 下载
    -有关Simple Tasks首个版本可查阅上次的博文

 

作者:Jack Slocum

   发表时间:2008-02-28  
ext越来越牛了
它和air的这种合作背后有没有金钱的作用呢?
还是真的是 jack很看好air?

不过不管怎么说 从 adobe最近的一些列行动上看
air战胜 siverlight的可能性很大很大啊
(不过也有人说两者没有直接竞争关系 可以共存 这个我就不理解了 )
0 请登录后投票
   发表时间:2008-02-28  
很好,很强大
看来以后ext发展会越来越好
0 请登录后投票
   发表时间:2008-02-28  
太好了,Ext UI做得真NB呀.
0 请登录后投票
   发表时间:2008-02-28  
谢谢楼主,看来我们的教程要尽快更新相关的内容了。
不知道哪里有ext和air结合的文档?
0 请登录后投票
   发表时间:2008-05-10  
fins 写道
ext越来越牛了
它和air的这种合作背后有没有金钱的作用呢?
还是真的是 jack很看好air?

不过不管怎么说 从 adobe最近的一些列行动上看
air战胜 siverlight的可能性很大很大啊
(不过也有人说两者没有直接竞争关系 可以共存 这个我就不理解了 )


air 就是flex吧?
siverlight 貌似很彪悍;
要是选择 该怎么选呢?
0 请登录后投票
   发表时间:2008-05-10  
做界面还真是不错,那些window,messagebox,都现成的

怪不得ext在这里这么火,原来javaeye本来就是用ext的

我用jquery的,只能希望jquery 1.5能强大点了。。。
0 请登录后投票
   发表时间:2008-05-11  
@cuiyi.crazy:
air 就是flex吧?
除了flex,air还支持ajax,API对flex或是ajax都是平等的,不过类库的实现主要以AS3为主;
@ayeah
jQuery 1.5正式版将这个夏天的时候发布,解决一系列基础性的建设后,创建复杂的UI就相对容易多了
0 请登录后投票
   发表时间:2008-05-11  
sp42 写道
@cuiyi.crazy:
air 就是flex吧?
除了flex,air还支持ajax,API对flex还是ajax都是平等的,当面 类库的实现主要以AS3为主;
@ayeah
jQuery 1.5正式版将这个夏天的时候发布,解决一系列基础性的建设后,创建复杂的UI就相对容易多了


谢谢;那这个还是值得用的;
如果jQuery 1.5果然解决了这些问题的话,看了一大圈,还是决定用它了。
0 请登录后投票
   发表时间:2008-10-25  
请教楼主,为什么我用Ext.air.NativeWindow总是报下面的错误呢?
TypeError: Can't get property NativeWindowInitOptions from undefined value
我已经吧AIRAliases.js导进来了
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics