Skip to content
Snippets Groups Projects
contentProcess.js 1.76 KiB
import("system.result");
import("WsValidation_lib");
import("system.vars");

if (vars.get("$local.idvalues") != null)
{
    // extract data from uid as it already contains everything
    result.object(vars.get("$local.idvalues").map(function(pId)
    {
        var data = WsValidationUtils.parseJSONArray(pId)
        return [
            pId,
        ].concat(data.slice(0, -1))
    }))
}
else
{
    var type = "";
    var params = {};
    if (vars.exists("$param.Type_param") && vars.get("$param.Type_param"))
        type = vars.get("$param.Type_param");

    if (vars.exists("$param.Country_param") && vars.get("$param.Country_param"))
        params.country = vars.get("$param.Country_param");

    if (vars.exists("$param.City_param") && vars.get("$param.City_param"))
        params.city = vars.get("$param.City_param");

    // get the value typed by the user
    var filter = "";
    var localFilter = vars.get("$local.filter");

    if(localFilter.filter != null) {
        filter = localFilter.filter.childs[0].value;
    }

    if (!filter && vars.exists("$param.CurrentValue_param") && vars.get("$param.CurrentValue_param"))
        filter = vars.get("$param.CurrentValue_param");

    var foundAddresses = WsValidationUtils.validate(filter, type, params);

    result.object(foundAddresses.map(function(row) 
    {
        return [
            JSON.stringify(row),
            row.displayName,
            row.zipCode,
            row.city,
            row.cityExt,
            row.country,
            row.district,
            row.region,
            row.state,
            row.road,
            row.buildingNo,
            row.lat,
            row.lon,
            row.value,
            row.road && row.buildingNo ? row.road + " " + row.buildingNo : row.road
        ];
    }));
}