Exemplo n.º 1
0
function gradientToFilter(gradient) {
    var obj = parseGradient(gradient);
    var startColor = obj.colorStops[0].color;
    var endColor = obj.colorStops.slice(-1)[0].color;
    var result = getDirection(obj);
    var direction = result.direction;
    var type;
    var tmp;

    // Swap color if needed;
    if (/top|left/i.test(direction)) {
        tmp = startColor;
        startColor = endColor;
        endColor = tmp;
    }
    // 0: vertical, 1:horizontal
    type = /top|bottom/i.test(direction) ? 0 : 1;

    return {
        string: filterGradient(startColor, endColor, type),
        isMultiColor: obj.colorStops.length > 2,
        isFallback: result.isFallback,
        message: result.message
    };
}
Exemplo n.º 2
0
function gradientToFilter(gradient) {
    var obj = parseGradient(gradient);

    // The gradient value is not valid
    if (!obj) {
        return {
            success: false,
            message: '`' + gradient + '` is not a valid linear gradient value.'
        };
    }

    var startColor = obj.colorStops[0].color;
    var endColor = obj.colorStops.slice(-1)[0].color;
    var result = getDirection(obj);
    var direction = result.direction;
    var type;
    var tmp;
    var filterString;

    // Swap color if needed;
    if (/top|left/i.test(direction)) {
        tmp = startColor;
        startColor = endColor;
        endColor = tmp;
    }
    // 0: vertical, 1:horizontal
    type = /top|bottom/i.test(direction) ? 0 : 1;

    try {
        filterString = filterGradient(startColor, endColor, type);
    } catch (e) {
        // The color format is not valid
        return {
            success: false,
            message: e.message + ' in `' + gradient + '`'
        };
    }

    return {
        success: true,
        string: filterString,
        isMultiColor: obj.colorStops.length > 2,
        isFallback: result.isFallback,
        message: result.message
    };
}