I am tracking down a warning message which looks like this:
which is a subclass of LinkItem. I think the problem is that I lazily hacked getLinkHTML and didn’t call linkHTML with all the appropriate arguments, but I don’t really care because I don't need it to be focusable. I tried to avoid the error by setting canFocus:false, but I noticed that other FormItems which override _canFocus look like this:
but LinkItem looks like this:
I couldn't override _canFocus because it's minified, but I could override getFocusElement and (I think) get where I want to go.
Anyway, I've attached the the code since although it's incomplete, you can reproduce the warning yourself here:
https://www.smartclient.com/smartcli...ariousControls
Code:
*10:47:02.694:TMR1:WARN:AttachmentItem:isc_AttachmentItem_0[htpSecXlsx]:Attempting to apply event handlers to this item. Unable to get a pointer to this item's focus element
Code:
_canFocus : function () { if (this.canFocus != null) return this.canFocus; // needs to be focusable in screen reader mode because the value will only be read if the item // can be tabbed to return isc.screenReader; },
but LinkItem looks like this:
Code:
_canFocus : function () { // In read-only mode we still want to be focusable return (this.isReadOnly() ? true : this.Super("_canFocus", arguments)); },
Anyway, I've attached the the code since although it's incomplete, you can reproduce the warning yourself here:
https://www.smartclient.com/smartcli...ariousControls
Code:
isc.ClassFactory.defineClass("AttachmentItem",isc.LinkItem); isc.AttachmentItem.addProperties({ showPickerIcon:true, pickerIconWidth:18, pickerIconHeight:18, pickerIconSrc:"[SKIN]/DynamicForm/default_formItem_icon.png", canFocus: false }); isc.AttachmentItem.addMethods({ getLinkHTML: function(){//undocumented API this.showValueIconOnly = true; var valueIconHTML = this.Super("getLinkHTML", arguments); this.showValueIconOnly = false; var value = this.getValue(); if(!value){ return valueIconHTML; } var html = valueIconHTML+makeMultiLinkDisplay(value.url,value.fileName,", "); return html; }, getFocusElement : function () { return true; }, });