我有这个问题,fieldLabel
当一个字段标记为"必需"(或allowBlank: false
)时,我需要在旁边添加一个红色星号
在ExtJS3中,我们可以通过覆盖轻松实现此攻击Ext.layout.FormLayout
,如下所示:
Ext.override(Ext.layout.FormLayout, {
getTemplateArgs: function(field) {
var noLabelSep = !field.fieldLabel || field.hideLabel;
var labelSep = (typeof field.labelSeparator == 'undefined' ? this.labelSeparator : field.labelSeparator);
if (!field.allowBlank) labelSep += '<span style="color: rgb(255, 0, 0); padding-left: 2px;">*</span>';
return {
id: field.id,
label: field.fieldLabel,
labelStyle: field.labelStyle||this.labelStyle||'',
elementStyle: this.elementStyle||'',
labelSeparator: noLabelSep ? '' : labelSep,
itemCls: (field.itemCls||this.container.itemCls||'') + (field.hideLabel ? ' x-hide-label' : ''),
clearCls: field.clearCls || 'x-form-clear-left'
};
}
});
Run Code Online (Sandbox Code Playgroud)
但这在ExtJS4中是不可能的.FormLayout
不再适用,标签实际上是Ext.form.field.Base
通过使用调用的mixins来呈现的Ext.form.Labelable …
onReady
HighCharts 是否有任何(或类似的)准备事件?
目前,HighCharts只提供addSeries
,click
,load
,redraw
,和selection
对于图表对象(http://www.highcharts.com/ref/#chart-events).显然load
应该是"准备好图表"事件的那个,但事实并非如此.它正在"加载数据时"触发事件
以下是他们的示例load
:http://jsfiddle.net/hgbQm/
以下是上述代码的修改版本,显示在触发chart
时尚未就绪load
:http://jsfiddle.net/QzKky/1/
任何的想法?
或者,我需要做一个延迟的电话,但那将是如此丑陋.谢谢!
我们最近收购了兄弟QL-700打印机,我们正在通过这台机器进行贴纸打印.
我们喂食的纸是62毫米宽的贴纸卷,没有"长度"限制.
问题是,不管我怎么做(我试过Book
,PrintRequestAttributeSet
),我无法使用Java来告诉打印机对话窗口使用正确的纸张尺寸打印机.我无法做到,例如,我们需要的确切的62毫米×40毫米.它总是"按下"到最近的纸张:
这是有问题的代码:
PrinterJob job = PrinterJob.getPrinterJob();
PageFormat pf = job.defaultPage();
Paper p = pf.getPaper();
p.setSize(UnitConv.mm2pt(62), UnitConv.mm2pt(40));
p.setImageableArea(0, 0, UnitConv.mm2pt(62), UnitConv.mm2pt(40));
pf.setPaper(p);
pf.setOrientation(PageFormat.LANDSCAPE);
job.setPrintable(this, pf);
if (job.printDialog()) {
try {
job.print();
} catch (Exception PrintException) {
PrintException.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
我可以确认打印机可以随意打印,如下面的屏幕截图所示(使用Brother的P-touch编辑器).请注意,虽然它是可调整的,但是36mm
由软件本身预设:
所以问题:
如何强制length
纸张的" "精确到40mm?
相关: 标签打印机的自定义纸张尺寸(Brother QL 570)
编辑
我做了一个媒体大小查询(代码),这里是它可以支持的媒体列表:
17 mm x 54 mm: width = 0.67; height = 2.12
17 mm x 87 mm: …
Run Code Online (Sandbox Code Playgroud) 我知道Apple的推送通知服务(APNs)问题有点充斥着StackOverflow,所以在提出我的问题之前,我实际上做了很多研究.
基本上,我遵循了apns-php的CertificateCreation,一些像mobiforge的教程,还有一些来自Matthijs Hollemans.不过,我无法在iPad 2上发布任何通知.
基本上这些是我所做的步骤:
server_certificates_bundle_sandbox.pem
,entrust_root_certification_authority.pem
.按照mobiforge博客中指定的教程,我成功创建了App ID,配置文件并将它们很好地链接在一起.
然后我使用我刚才用来获取证书的相同证书请求启用开发推送SSL证书(仅限现在),然后下载并将其安装到我的钥匙串中.
我在.mobileprovision
文件中下载了配置文件,并将其加载到我的iPad 2设备下的Xcode管理器中.
接下来我创建一个只包含以下代码的简单应用程序
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
// Override point for customization after application launch.
return YES;
}
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
NSLog(@"%@", deviceToken);
}
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
{
NSLog(@"Error: %@", error);
}
Run Code Online (Sandbox Code Playgroud)然后我配置构建参数:
在GridPanel中,我们都知道我们可以renderer
在列配置中指定自定义单元格.现在有一个特殊情况我需要构建一个自定义的可视化进度条(画布)以绘制到单元格中,我的问题是如何获取el
单元格?
在渲染器回调,可用值是value
,metadata
,record
,rowIndex
,columnIndex
,store
,和view
.我已经尝试过view.getNode
或者view.getCell
没有运气.
提前谢谢你!
/莱昂内尔
编辑
一些进一步的矿区后,我意识到我的节点实际上不是由渲染器被调用,也就是说,时间准备view.getNode
和view.getCell
实际上是在工作,但延迟(返回null所有的时间)
解决方法是setTimeout
在节点准备好后使用和呈现元素.这绝对不是处理案件的最佳方式.无论如何欢迎任何建议:)
/莱昂内尔
问题:在您发布手册后如何将客户端重新连接到服务器.disconnect()
?
在我当前的项目中,当用户从会话中注销时,我需要断开客户端与服务器的连接.我做了一个socket.disconnect()
成功断开连接.服务器从会话中删除了用户.
一段时间后,用户决定再次登录,但socket.io拒绝连接.
我很清楚Socket.IO已经实现了重新连接算法,但显然这是一个不同的情况.
下面是我进行连接的代码段.在此代码块的第二个触发器上,socket
创建了对象,但是没有connect
从该对象触发.
//Start the socket
var socket = io.connect(SOCKET_IO_URL);
socket.on('connect', function() {
me.fireEvent('connect');
socket.emit('register', {
hashed_identifier: hashed_identifier,
account_id: account_id
});
});
socket.on('ready', function() {
me.ready = true;
me.log('Handshake done. Listening for new data');
});
socket.on('data', function(data) {
me.fireEvent('data', data);
//Tells server we received it
socket.emit('data', {ack: 1});
});
socket.on('disconnect', function() {
me.fireEvent('disconnect');
});
Run Code Online (Sandbox Code Playgroud)
更新:根据@Tony的要求
事实上整个事情都包含在Sencha Touch 2.0中,但我相信这与ST2.0无关
这是我的数据类.这个类的用法是当用户登录时,这个类将被初始化.在用户注销后,系统将调用disconnect()
此类中的方法.
当用户再次登录时,此类将再次初始化,但有趣的是套接字以某种方式保留了之前的所有先前事件和会话.
/**
* Serve as interface to wait …
Run Code Online (Sandbox Code Playgroud) 我有一个关于ExtJS中的多重继承的问题.虽然我知道我可以简单地复制代码以使其发生,但我想知道是否有任何方法可以更有效地编码它.
GridPanel
我的框架中有一个自定义组件,称为Kore.ux.grid.GridPanel
.它扩展Ext.GridPanel
了额外的通用功能,并为REST操作提供接口.
不久之后,我的同事希望也必须EditorGridPanel
以同样的方式实现,即,她希望它是可编辑的,同时,能够轻松地执行REST操作.
我的问题是,有什么办法可以扩展Ext.EditorGridPanel
以采用定制的Kore.ux.grid.GridPanel
功能吗?
对不起任何语法错误,如果它令人困惑我可以改写它.谢谢!!
编辑
我再次搜索,我发现线程说这是不可能的.如果我有这个问题,我应该遵循更好的编码模式吗?
谢谢!
再次编辑
很抱歉,我找到了适合我的结构..这是我发现对我有用的方法:
var Common = function(){} //abstract class
Ext.apply(Common.prototype, {
a : function(){},
b: function(){}...
});
Ext.ux.SomePanelA = Ext.extend ( Ext.Panel, {
stuff : ............
});
Ext.ux.SomePanelB = Ext.extend ( Ext.Panel, {
diffStuff : ............
});
Ext.applyIf(Ext.ux.SomePanelA.prototype, Common.prototype);
Ext.apply(Ext.ux.SomePanelB.prototype, Common.prototype);
Run Code Online (Sandbox Code Playgroud)
代码来源:http://www.sencha.com/forum/showthread.php?48000- multiple-inheritance&p = 228271&viewfull = 1# post228271
如果您认为自己有更好的解决方案,请再次提供有用的建议:)谢谢!
我用这样的商店配置创建了一个Grid组件:
//Create the store
config.store = new Ext.data.Store({
restful: true,
autoSave: false,
batch: true,
writer: new Ext.data.JsonWriter({
encode: false
}),
reader: new Ext.data.JsonReader({
totalProperty: 'total',
root: 'data',
fields: cfg.fields
}),
proxy: new Ext.data.HttpProxy({
url:cfg.rest,
listeners:{
exception: {
fn: function(proxy, type, action, options, response, arg) {
this.fireEvent('exception', proxy, type, action, options, response, arg);
},
scope: this
}
}
}),
remoteSort: true,
successProperty: 'success',
baseParams: {
start: 0,
limit: cfg.pageSize || 15
},
autoLoad: true,
listeners: {
load: {
fn: function() { …
Run Code Online (Sandbox Code Playgroud) 我们都知道我们拥有get
和set
使用它,但你如何delete
成为一个emberjs对象的关键?
假设一个对象看起来像这样
Ember.Object.create({
conf: {
name: 'John',
age: 16
}
});
Run Code Online (Sandbox Code Playgroud)
在数据传输过程中,我需要删除一个密钥conf
,比方说age
.你怎么做才能正确删除密钥conf
?我试过了set('conf.age', null)
,undefined
但似乎根本没有工作.
编辑
一点点背景.当我说它不能用于设置undefined或null时,这意味着它不适合我的需要.我的类自动将conf
数据保存到Mongo集合中.所以,现在假设您有一个未使用的密钥,您想要删除它,如何删除它?
请注意,有一个更大的类来管理保存过程/数据验证,因此扩展控制器只是为了删除不太合适(丑陋).并且有beforeSave
一个扩展类可以挂钩来清理未使用的键的操作,但问题是如何删除此键?
貌似这样一个简单的动作在ember中不存在,可能是为了处理所有类型的绑定/观察者.
类似的问题:jQueryMobile,Phonegap和设备令牌 - iOS
方案是,我有这个基于Web的PhoneGap应用程序,本机iOS帮我在APN上注册了设备,我在服务器数据库中收到了设备令牌.
问题1:如何使用PhoneGap将注册用户(通过UIWebView)与此设备令牌相关联?
问题2:由于device_token可以不时更改,我应该如何将此用户重新链接到此device_token?
{user_id:123, old_device_token: 'xxxx..', new_device_token: 'xxx...'}
?Fyi,这个应用程序是为一个活动而构建的,客户已经要求人们在这个移动应用程序上发送消息.当他收到朋友的消息时,如何将新消息通知推送给"John Doe"? - 问题是如何将"John Doe"链接到特定的device_token?
这可能不是iOS特定的,因为此应用程序也必须部署在Android(C2DM)上.
欢迎任何帮助!
编辑:可能解决方案?
不安的研究出现了这种可能的解决方案:
任何不可预见的情况都有问题吗?
编辑:答案
我在答案中公布了完整的工作解决方案.请在此处查看:https://stackoverflow.com/a/9628592/534862
我无法克服这个问题.有人可以提一些建议吗?
我有这个使用ExtJS库的应用程序,我需要在Chrome扩展程序中运行.我已成功创建了我的消息传递桥(postMessage
),并将整个应用程序沙盒化,并且一切正常.ExtJS加载,应用程序正在运行.
然后我有这个逻辑,我需要在我的ExtJS视口中预览一段HTML片段.我iframe
在Panel
自己创建了一个,并afterrender
尝试在其中编写代码片段.这是我使用的代码:
html: '<iframe src="about:blank" style="width:100%;height:100%;border:none;"></iframe>';
......
//p is the panel found in afterrender
p.body.down('iframe').dom.contentDocument.write(content);
Run Code Online (Sandbox Code Playgroud)
那么错误:
不安全的JavaScript尝试访问具有以下URL的URL的框架:带有URL chrome-extension的框架中的空白://fcnpmlgapilgclcelfanblpbglmkghbc/core/themes/default/app.html.域,协议和端口必须匹配.
我已经尝试这是唯一的方法,它的工作原理.请参阅下面的答案.postMessage
在沙盒中使用这个动态的iframe,但没有任何反应.sandbox
在清单中设置属性也不起作用.
题:
iframe
?Afaik预览iframe
是最好的,因为它沙盒的片段没有被父css搞砸.注意
这段代码在manifest v1中工作正常但我计划将它迁移到manifest v2.我没有意识到内容安全策略(CSP)已经变得严格.
一个描述问题的屏幕;)
javascript iframe google-chrome postmessage google-chrome-extension
有没有一种方法可以知道叶子项目的父项目?就像我有一个像这样结构的商店:
root: {
items: [
{
text: 'Parent1',
items: [
{ text: 'Child1', leaf: true },
{ text: 'Child2', leaf: true },
............
Run Code Online (Sandbox Code Playgroud)
当我点击叶子项目时,我需要知道哪个父项具有此叶项目.我找不到任何有关此方法的特殊方法.
javascript ×6
extjs ×4
extjs4 ×2
ios ×2
cell ×1
cordova ×1
ember.js ×1
extjs3 ×1
forms ×1
grid ×1
gridpanel ×1
highcharts ×1
iframe ×1
inheritance ×1
ipad ×1
iphone ×1
java ×1
java-print ×1
node.js ×1
objective-c ×1
postmessage ×1
printing ×1
rest ×1
sencha-touch ×1
socket.io ×1
store ×1
view ×1
websocket ×1