Class: Select

.geoBCN.Map.Select

Select

Lògica del component Select

Mètodes

estàticgeoBCN.Map.Select.addSelection(input)

Mètode per afegir una selecció de N elements

Nom paràmetre Tipus Descripció
input Array.<module:ol/Feature~Feature>

array d'elements

estàticgeoBCN.Map.Select.Disable()

Mètode per inhabilitar la selecció

estàticgeoBCN.Map.Select.Enable()

Mètode per habilitar la selecció

estàticgeoBCN.Map.Select.getMulti(){boolean}

Mètode per obtenir el paràmetre de multiselecció.

estàticgeoBCN.Map.Select.getStatus(){boolean}

Obté l'estat de la selecció

estàticgeoBCN.Map.Select.offSelect(eventFunction)

Mètode per eliminar el callback que fa referència a l'event onSelect.

Nom paràmetre Tipus Descripció
eventFunction function

Callback

Exemple

Exemple de offSelect.

// Crear l'objecte Map
var mapa = new geoBCN.Map({...});

// Crear la funció que executarà la lògica de l'event onSelect.
var callbackOnSelect = function(features) {
    console.log('Features:', features);
}

// Afegir un callbacn per a cada selecció d'elements
mapa.Select.onSelect(callbackOnSelect);

// Eliminar el callback
mapa.Select.offSelect(callbackOnSelect);

estàticgeoBCN.Map.Select.onSelect(eventFunction)

Mètode per afegir un callback que s'executarà cada cop que es seleccionin N elements.

Nom paràmetre Tipus Descripció
eventFunction function

Callback

Exemple

Exemple de onSelect.

// Crear l'objecte Map
var mapa = new geoBCN.Map({...});

// Crear la funció que executarà la lògica de l'event onSelect.
var callbackOnSelect = function(features) {
    console.log('Features:', features);
}

// // Afegir un callbac per cada nou Select
mapa.Select.onSelect(callbackOnSelect);

estàticgeoBCN.Map.Select.onStatusChange(eventFunction)

Mètode per afegir un callabck que s'executa cada cop que canvia l'estat.

Nom paràmetre Tipus Descripció
eventFunction function

Callback

Exemple

Exemple de onStatusChange.

// Crear l'objecte Map
var mapa = new geoBCN.Map({...});

// Crear la funció que executarà la lògica de l'event onSelect.
var callbackOnStatusChange = function(status) {
    console.log('Status:', status);
}

// // Afegir un callbac per cada nou Select
mapa.Select.onStatusChange(callbackOnStatusChange);

estàticgeoBCN.Map.Select.Reset(callback)

Reinicia la selecció al estat inicial.

Nom paràmetre Tipus Descripció
callback function

Callback

estàticgeoBCN.Map.Select.setMulti(paramMulti)

Mètode per definir la multiselecció.

Nom paràmetre Tipus Descripció
paramMulti boolean

boolean

estàticgeoBCN.Map.Select.setPreMultiSelectFilter(callback)

Mètode per afegir un callback que permet filtrar els elements que es poden seleccionar en selecció mútliple. El callback ha de retornar un booleà.

Nom paràmetre Tipus Descripció
callback function

Callback

Exemple

Exemple de setPreMultiSelectFilter.

// Crear l'objecte Map
var mapa = new geoBCN.Map({...});

//  Crear la funció amb la lògica que executarà el callback de preMultiSelectFilter.

var preMultiSelectFilter = function(feature, event, layer) {
    var flag: boolean = true;
    var layerProps = layer.getProperties();
    if (layerProps !== null) {
        if (typeof layerProps.id !== 'undefined' && layerProps.id === 'style-no-selectable') {
         flag = false;
        }
    }
    const featureProps = feature.getProperties();
    if (typeof featureProps !== 'undefined' && featureProps !== null) {
        const featureData = featureProps.data;
        if (typeof featureData !== 'undefined' && featureData !== null) {
            if (typeof featureData.selectable !== 'undefined' && typeof featureData.selectable === 'boolean') {
                if (!featureData.selectable) {
                    flag = false;
                }
            }
        }
    }

    return flag;
}

//  Afegir un callback
mapa.Select.setPreMultiSelectFilter(preMultiSelectFilter);

estàticgeoBCN.Map.Select.setPreSelectCondition(callback)

Mètode per afegir un callback que serà executat abans de seleccionar un element. El callback ha de retornar un booleà.

Nom paràmetre Tipus Descripció
callback function

Callback

Exemple

Exemple de setPreSelectCondition.

// Crear l'objecte Map
var mapa = new geoBCN.Map({...});

//  Crear la funció amb la lògica que executarà el callback de setPreSelectCondition.
var preSelectCondition = function(mapBrowserEvent) {
   return (ol.events.condition.click(mapBrowserEvent) && mapBrowserEvent.pointerEvent.ctrlKey) || (ol.events.condition.click(mapBrowserEvent));
}

//  Afegir un callback
mapa.Select.setPreSelectCondition(preSelectCondition);

estàticgeoBCN.Map.Select.setPreSelectFilter(callback)

Mètode per afegir un callback que permet filtrar els elements que es poden seleccionar. El callback ha de retornar un booleà.

Nom paràmetre Tipus Descripció
callback function

Callback

Exemple

Exemple de setPreSelectFilter.

// Crear l'objecte Map
var mapa = new geoBCN.Map({...});

//  Crear la funció amb la lògica que executarà el callback de preMultiSelectFilter.
var preSelectFilter = function(mapBrowserEvent) {    
    var _flag: boolean = true;
    var layerProps = layer.getProperties();
    if (typeof layerProps !== 'undefined' && layerProps !== null) {
         if (typeof layerProps.id !== 'undefined' && layerProps.id === 'style-no-selectable') {
             _flag = false;
         }
     }
     var featureProps = feature.getProperties();
     if (typeof featureProps !== 'undefined' && featureProps !== null) {
         if (typeof featureProps.selectable !== 'undefined' && typeof featureProps.selectable === 'boolean') {
             if (!featureProps.selectable) {
                 _flag = false;
             }
         }
     }
     return _flag;
}

//  Afegir un callback
mapa.Select.setPreSelectFilter(preSelectFilter);