Titanium JIRA Archive
Appcelerator Community (AC)

[AC-273] TiAPI: "link" event for Ti.UI.ATTRIBUTE_LINK no longer fired in 4.1.0.GA

GitHub Issuen/a
TypeBug
Priorityn/a
StatusClosed
ResolutionDuplicate
Resolution Date2015-08-07T06:13:43.000+0000
Affected Version/sn/a
Fix Version/sn/a
ComponentsTitanium SDK & CLI
Labels4.1.0, android, attributedString, event, link, regression
ReporterAlex Bernier
AssigneeRadamantis Torres-Lechuga
Created2015-07-30T21:53:16.000+0000
Updated2015-08-07T06:18:09.000+0000

Description

The same test case for TIMOB-18608 no longer works in 4.1.0.GA:
var win = Ti.UI.createWindow({
    backgroundColor: '#ddd',
    fullscreen:true,
    layout:'vertical'
});
 
var text =  'Tap on any of the following:\n1.Appcelerator Titanium \t2.Android \t3.IOS';
  
var attr = Ti.UI.createAttributedString({
    text: text,
    attributes: [
        {
            type: Ti.UI.ATTRIBUTE_LINK,
            value: 'http://www.appcelerator.com/developers/',
            range: [text.indexOf('Appcelerator Titanium'), ('Appcelerator Titanium').length]
        },
        {
            type: Ti.UI.ATTRIBUTE_FONT,
            value: {textStyle:Ti.UI.TEXT_STYLE_HEADLINE},
            range: [text.indexOf('Appcelerator'), ('Appcelerator').length]
        },
        {
            type: Ti.UI.ATTRIBUTE_FONT,
            value: {textStyle:Ti.UI.TEXT_STYLE_SUBHEADLINE},
            range: [text.indexOf('Titanium'), ('Titanium').length]
        },
        {
            type: Ti.UI.ATTRIBUTE_LINK,
            value: 'http://developer.android.com/',
            range: [text.indexOf('Android'), ('Android').length]
        },
        {
            type: Ti.UI.ATTRIBUTE_FONT,
            value: {textStyle:Ti.UI.TEXT_STYLE_CAPTION1},
            range: [text.indexOf('Android'), ('Android').length]
        },
        {
            type: Ti.UI.ATTRIBUTE_LINK,
            value: 'https://developer.apple.com/',
            range: [text.indexOf('IOS'), ('IOS').length]
        },
        {
            type: Ti.UI.ATTRIBUTE_FONT,
            value: {textStyle:Ti.UI.TEXT_STYLE_CAPTION1},
            range: [text.indexOf('IOS'), ('IOS').length]
        },
    ]
});
 
var label = Ti.UI.createLabel({
    backgroundColor: '#ccc',
    attributedString: attr,
});
 
label.addEventListener('link',function(e){
    alert(e.url);
})
 
 
 
 
var container1 = Ti.UI.createView({width:Ti.UI.SIZE,height:Ti.UI.SIZE,layout:'horizontal'});
var b11 = Ti.UI.createButton({title:' W 200 '});
var b12 = Ti.UI.createButton({title:' W 300 '});
var b13 = Ti.UI.createButton({title:' W SIZE '});
container1.add(b11);
container1.add(b12);
container1.add(b13);
 
var container2 = Ti.UI.createView({width:Ti.UI.SIZE,height:Ti.UI.SIZE,layout:'horizontal'});
var b21 = Ti.UI.createButton({title:' H 200 '});
var b22 = Ti.UI.createButton({title:' H 300 '});
var b23 = Ti.UI.createButton({title:' H SIZE '});
container2.add(b21);
container2.add(b22);
container2.add(b23);
 
var container3 = Ti.UI.createView({width:Ti.UI.SIZE,height:Ti.UI.SIZE,layout:'horizontal'});
var b31 = Ti.UI.createButton({title:' Vert C '});
var b32 = Ti.UI.createButton({title:' Vert T '});
var b33 = Ti.UI.createButton({title:' Vert B '});
container3.add(b31);
container3.add(b32);
container3.add(b33);
 
var container4 = Ti.UI.createView({width:Ti.UI.SIZE,height:Ti.UI.SIZE,layout:'horizontal'});
var b41 = Ti.UI.createButton({title:' Hor L '});
var b42 = Ti.UI.createButton({title:' Hor C '});
var b43 = Ti.UI.createButton({title:' Hor R '});
container4.add(b41);
container4.add(b42);
container4.add(b43);
 
//vertical = {center:0,top:1,bottom:2}
//horizontal = {left:0,center:1,right:2}
 
 
function clickHandler(e){
    if (e.source == b11) {
        label.width = 200;
    }    
    if (e.source == b12) {
        label.width = 300;
    }    
    if (e.source == b13) {
        label.width = Ti.UI.SIZE;
    }    
    if (e.source == b21) {
        label.height = 200;
    }    
    if (e.source == b22) {
        label.height = 300;
    }    
    if (e.source == b23) {
        label.height = Ti.UI.SIZE;
    }    
    if (e.source == b31) {
        label.verticalAlign = 0;
    }    
    if (e.source == b32) {
        label.verticalAlign = 1;
    }    
    if (e.source == b33) {
        label.verticalAlign = 2;
    }    
    if (e.source == b41) {
        label.textAlign = 0;
    }    
    if (e.source == b42) {
        label.textAlign = 1;
    }    
    if (e.source == b43) {
        label.textAlign = 2;
    }    
}
 
win.addEventListener('click',clickHandler);
 
 
win.add(label);
win.add(container1);
win.add(container2);
win.add(container3);
win.add(container4);
 
win.open();

Comments

  1. Harish Mridha 2015-08-07

  2. Alex Bernier 2015-08-07

    [~hmrida], do you mean TIMOB-18608? TIMOB-18499 is closed, and is the feature ticket this bug report relates to, but is by no means a duplicate.

JSON Source