Estensione Flash MX ECCatalog

Documentazione ECCatalog

Indice

Table Of Contents
Documentation Info
ECCatalog Overview
ECCatalog class
. . . Properties
. . . . . . currentPage
. . . . . . genSettings
. . . . . . isFirstPage
. . . . . . isLastPage
. . . . . . items
. . . . . . itemsCount
. . . . . . nonSearchFields
. . . . . . ownSettings
. . . . . . pageCount
. . . . . . pageDim
. . . . . . pagedItems
. . . . . . pubblicationType
. . . . . . queryOnSelect
. . . . . . rootFolder
. . . . . . serachFields
. . . Methods
. . . . . . bindComboboxes
. . . . . . firstPage
. . . . . . loadData
. . . . . . nextPage
. . . . . . previousPage
. . . . . . search
. . . . . . setFilter
. . . Events
. . . . . . onComplete
. . . . . . onFiltersLoad
. . . . . . onItemsLoad
. . . . . . onRefresh
. . . . . . onSettingsLoad
. . . . . . onStatus

Documentation Info

Author: TECH S.r.l.
Last Modified: 2003/6/13
Generator: gModeler.com.


ECCatalog Overview

ECCatalog è un componente che consente di ottenere un modello ad oggetti estremamente funzionale di un catalogo prodotti esportato (come vari file XML) da Easy Catalog.

Grazie a questo modello ad oggetti, alle utilità di impostazione visuale dei parametri del componente e alle procedure automatizzate di collegamento del componente lo sviluppatore Flash può avvantaggiarsi di un SDK completo per la creazione e l'inserimento di cataloghi multimediali all'interno delle proprie animazioni Flash. Il tutto in pochissimo tempo e con il minimo sforzo!

L'utilizzatore del modello ad oggetti qui documentato non deve preoccuparsi minimamente della logica di interpretazione dei file XML contenenti i dati, della logica di ricerca, della logica di paginazione dei risultati, della logica di visualizzazione delle immagini.

A tutto pensa il componente ECCatalog: In tal modo lo sviluppatoe può concentrarsi sulla forma della presentazione dei dati, lasciando libero spazio alla sua creatività.


ECCatalog class

Availability

Flash Player 6

Usage

Parameters

None.

Returns

An instance of the ECCatalog class.

Description

La classe ECCatalog consente di gestire i dati pubblicati da Easy Catalog in una forma strutturata nella sintassi ActionScript.

Example

La classe catalogo è istanziata in automatio nel fotogramma in cui è stato posizionato il componente ECCatalog. Il suo nome è quello che viene dato all'istanza del simbolo.


ECCatalog Properties


currentPage : number

Availability

Flash Player 6.

Usage

ECCatalog.currentPage

Description

Numero della pagina corrente. L'array pagedItems contiene un sottoinsieme degli items del catalogo correntemente disponibili ( infatti un sottoinsieme dell'array items, che contiene tutti gli items trovati dopo una ricerca)

Example

var thePage = myCatalog.currentPage


genSettings : object

Availability

Flash Player 6.

Usage

ECCatalog.genSettings

Description

Struttura a coppie nome-valore contenente i setting generali del catalogo (nome azienda, etc...). Nel dettaglio i valori contenuti sono i seguenti:

ECCatalog.genSettings.Titolo

ECCatalog.genSettings.Sottotitolo

ECCatalog.genSettings.Spalla

ECCatalog.genSettings.Indirizzo

ECCatalog.genSettings.Citta

ECCatalog.genSettings.Provincia

ECCatalog.genSettings.Stato

ECCatalog.genSettings.CAP

ECCatalog.genSettings.Tel

ECCatalog.genSettings.Fax

ECCatalog.genSettings.Email

ECCatalog.genSettings.Extras

ECCatalog.genSettings.Tipo

Example


isFirstPage : boolean

Availability

Flash Player 6.

Usage

ECCatalog.isFirstPage

Description

Indica se la pagina corrente la prima

Example

if(myCatalog.isFirstPage){
trace("Questa e' la prima pagina")
}


isLastPage : boolean

Availability

Flash Player 6.

Usage

ECCatalog.isLastPage

Description

Indica se la pagina corrente e' l'ultima

Example

if(myCatalog.isLastPage){
trace("Questa e' l'ultima pagina")
}


items : array

Availability

Flash Player 6.

Usage

ECCatalog.items

Description

Array di oggetti ITEM disponibili dopo una ricerca (potrebbe non contenere tutti gli ITEM del catalogo). La versione paginata degli stessi si trova in pagedItems.

Ogni elemento dell'array items un oggetto di tipo Item, quindi con proprieta' e metodi in grado di descrivere il relativo articolo comprese immagini associate, scheda tecnica, descrizioni.

Struttura di un oggetto ITEM:


PROPRIETA PUBBLICHE:

imageSource = path completo dellimmagine principale dellitem

thumbSource = path completo della thumbnail relativa allimmagine principale dellitem

code = codice dellarticolo

_techDataSource = path della scheda tecnica

description = descrizione generica dellarticolo

descriptions = struttura a coppie nome-valore delle descrizioni non filtrabili dellitem

filters = struttura a coppie nome-valore delle descrizioni filtrabili dellitem

techData = scheda tecnica dellarticolo; e' disponibile solo dopo aver invocato loadTechData con successo. Al suo interno contiene:

Struttura di un oggetto TECHDATA:

techData.images = Array Array di strutture contenenti le informazioni sulle immagini associate allarticolo, ogni elemento dellarray contiene le proprieta'

techData.images[i].source = path dellimmagine

techData.images[i].description = descrizione associata allimmagine

techData.data = Struttura Struttura contenente le informazioni sulle coppie nome-valore della scheda tenica dellarticolo.

Es: techData.data.nomeCampo = nomeValore

METODI PUBBLICI:

loadTechData() = carica la scheda tecnica dellarticolo

EVENTI:

onLoadTechData = evento richiamato al caricamento completo della scheda tecnica

Example

var theItem = myCatalog.items[0]

// output della descrizione dell'item
trace(theItem.description)

// output dei campi descrittivi dell'item
for(filed in theItem.descriptions)
trace(filed + " : " + theItem.description[field])

// carico la scheda tecnica dell'articolo
theItem.loadtechData();
theItem.onLoadTechData = function(){
trace("techData for " + this.description + " loaded!")
}


itemsCount : number

Availability

Flash Player 6.

Usage

ECCatalog.itemsCount

Description

Numero totale degli items ( diverso in generale da items.length)

Example

var totalCount = myCatalog.itemsCount


nonSearchFields : array

Availability

Flash Player 6.

Usage

ECCatalog.nonSearchFields

Description

Array di tre stringe contenente i nomi dei campi di descrizione fissi. I campi non utilizzati avranno una stringa vuota

Example


// visualizzo tutti i campi di descrizione fissi
for(field in myCatlog.nonSearchFileds)
trace("Campo numero " + filed + " : " + myCatlog.nonSearchFileds[field])


ownSettings : object

Availability

Flash Player 6.

Usage

ECCatalog.ownSettings

Description

Struttura contenente i setting generali del catalogo (nome azienda, etc...).

NOTA: queste impostazioni sono tipiche degli skin automaticamente generati da easycatalog. In altri casi non hanno significato ed possibile ignorarli.

Example


pageCount : number

Availability

Flash Player 6.

Usage

ECCatalog.pageCount

Description

Numero delle pagine nella paginazione corrente di ECCatalog.items

Example

var totPages = myCatalog.pageCount


pageDim : number

Availability

Flash Player 6.

Usage

ECCatalog.pageDim

Description

Quantita' di items per pagina nella paginazione del catalogo.
In pratica la lunghezza dell'array pagedItems.

Example


// utilizzo una paginazione e visualizzo 6 articoli alla volta
myCatalog.pageDim = 6;
myCatalog.rootFolder = "catalogData";
myCatalog.loadData();


pagedItems : array

Availability

Flash Player 6.

Usage

ECCatalog.pagedItems

Description

Array di oggetti ITEM paginati.
La paginazione del catalogo consente di osservare un numero limitato di articoli per volta, in modo da utilizzare lo schermo nel modo migliore.

Sostanzialmente l'array items contiene tutti gli items del catalogo filtrati dopo la chiamata a search(). L'array pagedItems contiene invece solo la pagina corrente della paginazione di items.

Il numero di items per pagina e' pageDim. Per muoversi all'interno delle pagine sufficiente utilizzare i metodi

myCatalog.nextPage() => avanza di una pagina
myCatalog.previousPage() => torna indietro di una pagina
myCatalog.firstPage() => retrocede alla prima pagina

Il contenuto di pagedItems riaggiornato ogni volta che uno di questo metodi viene invocato.

Example


// funzione che legge tutti gli items nella pagina
// successiva del catalogo
function viewNextPage(){
myCatalog.nextPage();
for(item in myCatalog.pagedItems){
treace("Item number " + item + " : " + myCatalog.pagedItems[item].description)
}
}


pubblicationType : boolean

Availability

Flash Player 6.

Usage

ECCatalog.pubblicationType

Description

Puo' essere CD o HTML.
Indica il tipo di pubblicazione e puo' essere sfruttata nei casi in cui si debbano adottare delle tecniche anti-caching: in questi casi doveroso sapere se il filmato in locale oppure visualizzato on-line.

Example


queryOnSelect : boolean

Availability

Flash Player 6.

Usage

ECCatalog.queryOnSelect

Description

Se vero richiama search() subito dopo aver impostato il valore di un filtro.

E' utile impostarlo su true qualora non si desideri utilizzare un pulsante "Cerca" nel proprio filmato da cliccare ogni volta che si sono impostati i criteri di ricerca. Infatti quando si imposta

queryOnSelect = true

e si utilizza un binding automatico delle combo utilizzate per la ricerca (tramite bindComboBoxes) la ricerca viene invocata automaticamente non appena una qualsiasi delle combo cambia selezione.

Example


myCatalog.queryOnSelect = true


rootFolder : string

Availability

Flash Player 6.

Usage

ECCatalog.rootFolder

Description

Cartella radice di pubblicazione dei file di EC ( la cartella che contiene le directory data, images, cards). Inserire il nome della cartella senza la slash finale.

Es 1. Se il filmato e' nella stessa cartella che contiene le cartelle data, images, cards usare:

myCatalog.rootFolder = ""
myCatalog.loadData();

oppure

myCatalog.loadData("");

Es 1. Se il filmato e' in una directory superiore a quella contenente data, images, cards che supponiamo chiamarsi "files", usare:

myCatalog.rootFolder = "files"
myCatalog.loadData();

oppure

myCatalog.loadData("files");



Example


serachFields : array

Availability

Flash Player 6.

Usage

ECCatalog.serachFields

Description

Array di 5 elementi contenete i nomi dei campi su cui possibile attivare una ricerca. I campi non utilizzati contengono una stringa vuota.

Example


// visualizzo tutti i campi di descrizione ricercabili
for(field in myCatlog.searchFileds)
trace("Campo numero " + filed + " : " + myCatlog.searchFileds[field])


ECCatalog Methods


bindComboboxes :

Availability

Flash Player 6.

Usage

ECCatalog.bindComboboxes(comboClip1[,comboClip2[,comboClip3[,comboClip4[,comboClip5]]]])

Parameters

comboClip1 Riferimento ad una comboBox (movieClip)

comboClip2 Riferimento ad una comboBox (opzionale) (movieClip)

comboClip3 Riferimento ad una comboBox (opzionale) (movieClip)

comboClip4 Riferimento ad una comboBox (opzionale) (movieClip)

comboClip5 Riferimento ad una comboBox (opzionale) (movieClip)

Returns

Nothing.

Description

Collega delle comboBox ai dati del catalogo.

Example


myCatalog.pageDim = 6;
myCatalog.rootFolder = "";
myCatalog.loadData();
myCatalog.onComplete = function(){
this.bindComboBoxes(_root.cb1,_root.cb2,_root.cb3)
this.queryOnSelect = true;
}


firstPage :

Availability

Flash Player 6.

Usage

ECCatalog.firstPage()

Parameters

None.

Returns

Nothing.

Description

Torna alla prima pagina. Viene utilizzato in associazione all'array ECCatalo.pagedItems, che contiene solo gli item della pagina corrente.

NOTA: dopo aver richiamato questa funzione viene automaticamente invocato l'evento

ECCatlog.onRefresh

che consente di definire una funzione all'interno della quale aggiornarevisualmente gli elementi grafici della pagina del catalogo.

Example


// al pulsante di navigazione first_btn viene associato
// il ritorno alla prima pagina del catalogo
first_btn.onPress=function () {
myCatalog.firstPage();
};


loadData :

Availability

Flash Player 6.

Usage

ECCatalog.loadData([rootFolder])

Parameters

rootFolder cartella di pubblicazione dei file di Easy Catalog (string)


E' opzionale: se omesso viene utilizzati il valore impostato per
ECCatalog.rootFolder. Il valore predefinito e' comunque "" ovvero la sessa cartella in cui risiede il file swf corrente.

Per indicare una cartella specifica e' possibile usare sintassi di questo tipo:

ECCatalog.loadData("catalogo/filesEasyCatalog/")

oppure

ECCatalog.loadData("../catalogo/")

L'importante e' specificare percorsi relativi e terminare il percorso con una slash (/)

Returns

Nothing.

Description

Carica i dati del catalogo.

Una volta lanciata questa procedura possibile rimanere in attesa del caricamento dei file di configurazione dl catalogo tramite l'evento

ECCatalog.onComplete()

che viene invocato quando tutti e tre i file xml di configurazione del catalogo sono stati caricati.

In alternativa e' possibile attendere il caricamento dei singoli files monitornadoli con, onFiltersLoad(), onItemsLoad(), onSettingsLoad()

L'evento onStatus() viene invocato nel caso in cui il caricamento dei dati non vada a buon fine.

Example


myCatalog.loadData("catalogFiles/");
myCatalog.onComplete = function(){
trace("Il catalogo stato caricato")
}
myCatalog.onStatus = function(error){
trace("Errore nel caricamento del catalogo :\n" + error)
}


nextPage :

Availability

Flash Player 6.

Usage

ECCatalog.nextPage()

Parameters

None.

Returns

Nothing.

Description

Avanza alla pagina seguente. Viene utilizzato in associazione all'array ECCatalo.pagedItems, che contiene solo gli item della pagina corrente.

NOTA: dopo aver richiamato questa funzione viene automaticamente invocato l'evento

ECCatlog.onRefresh

che consente di definire una funzione all'interno della quale aggiornarevisualmente gli elementi grafici della pagina del catalogo.

Example


// al pulsante di navigazione next_btn viene associato
// il ritorno alla prima pagina del catalogo
next_btn.onPress=function () {
myCatalog.nextPage();
};

>

previousPage :

Availability

Flash Player 6.

Usage

ECCatalog.previousPage()

Parameters

None.

Returns

Nothing.

Description

Ritorna alla pagina precedente. Viene utilizzato in associazione all'array ECCatalo.pagedItems, che contiene solo gli item della pagina corrente.

NOTA: dopo aver richiamato questa funzione viene automaticamente invocato l'evento

ECCatlog.onRefresh

che consente di definire una funzione all'interno della quale aggiornarevisualmente gli elementi grafici della pagina del catalogo.

Example


// al pulsante di navigazione previous_btn viene associato
// il ritorno alla prima pagina del catalogo
previous_btn.onPress=function () {
myCatalog.previousPage();
};


search :

Availability

Flash Player 6.

Usage

ECCatalog.search([filter1,filter2,filter3,filter4,filter5])

Parameters

filter1 Valore di filtraggio relativo al primo filtro (number)

filter2 Valore di filtraggio relativo al secondo filtro (number)

filter3 Valore di filtraggio relativo al terzo filtro (number)

filter4 Valore di filtraggio relativo al quarto filtro (number)

filter5 Valore di filtraggio relativo al quinto filtro (number)

Returns

Nothing.

Description

Screma gli items del catalogo in base ai criteri di ricerca impostati. I criteri di ricerca sorrispondono ai valori dei filtri, che possono essere passati come argomenti oppure impostati in precedenza tramite la il metodo setFilter().

Si noti che ogni filtro deve essere specificato come un numero:

0 significa "nessun filtro"

quindi

myCatalog.search(0,0,0,0,0)

restituisce tutti gli items del catalogo (navigabili attraverso myCatalog.items o myCatalog.pagedItems)

I valori numerici dei filtri sono memorizzati nella collection

ECCatalog._filters

Quest'array contiene al massimo 5 oggetto FILTER ognuno dei quali presenta questa forma...(TODO)

Example


myCatalog.setFilter(0,34);
myCatalog.setFilter(1,42);
myCatalog.search();


setFilter :

Availability

Flash Player 6.

Usage

ECCatalog.setFilter(index,value)

Parameters

index Indice del filtro da impostare (number)

value Valore del filtro da impostare (number)

Returns

Nothing.

Description

Imposta il valore dei filtri di ricerca. In generale, se il catalogo stato correttamente collegato a delle comboBox, non necessario avvalersi di tale metodo.

Per capire meglio come funziona questo metodo e' necessario capire in che modo Easy Catalog associa i valori di filtraggio agli articoli.

Si supponga di utilizzare un catalogo di automobili nel quale si utilizzano due "serachFileds" ovvero due campi descrizione sui quali possibile effettuare un filtraggio. Questi due campi siano "Cilindrata" e "Porte". Queste due stringhe costituiranno i due primi elementi dell'arrai searchFields. Gli altri tre saranno stringhe vuote. Il filtro "Cilindrata" potra' ad esempio contenere le coppie lable-id:

1600 cc --> 123
1020 cc --> 125
1290 cc --> 156
2600 cc --> 45

mentre il filtro "Porte"

5 --> 452
3 --> 9

Quindi se si vuole impostare il filtro "Potenza" su "2600 cc" in modo da effettuare una ricerca sulle sole automobili aventi tale cilindrata, si dovra' scrivere:

ECCatalog.setFilter(0,45)

E se si vuole cercare tutte le automobili a tre porte:

ECCatalog.setFilter(1,9)

La proprieta' ECCAtalog._filters contiene invece un array di 5 elementi contenenti delle strutture dati che descrivono i filtri e le associazioni tra label e id di un filtro particolare.

Per conoscere la struttura di questi oggetti si veda la struttura filter

Struttura filter:

filter.name = nome del filtro. ad esempio "Colore"

filter.labels = array associativo di coppie nome valore (label/ID).
Esempio:

filters.labels["Rosso"] // = 123
filters.labels["Verde"] // = 58
filters.labels["Marrone"] // = 12
filters.labels["Bianco"] // = 16

filters.selectedID = IDcorrentemente selezionato. Viene impostato in automatico dalla funzione setFilter()

Se si desidera collegare le combobox in modo manuale possibile farlo con un codice del tipo

combo.addItem({label:"Tutti",data:0});
for(var lab in myCatalog._filters[0].labels)
combo.addItem({label:lab,data:myCatalog._filters[0].labels[lab]);

combo.setChangeHandler("comboChange")

function comboChange(){
myCatalog.setFilter(0,combo.getValue().data)
}

Example


ECCatalog Events


onComplete :

Availability

Flash Player 6.

Usage

ECCatalog.onComplete()

Parameters

None.

Returns

Nothing.

Description

Callback richiamato al termine del caricamento del di tutti i file xml del catalogo.

Example


myCatalog.loadData("catalogFiles/");
myCatalog.onComplete = function(){
trace("Il catalogo stato caricato")
}
myCatalog.onStatus = function(error){
trace("Errore nel caricamento del catalogo :\n" + error)
}


onFiltersLoad :

Availability

Flash Player 6.

Usage

ECCatalog.onFiltersLoad()

Parameters

None.

Returns

Nothing.

Description

Callback richiamato al termine del caricamento del file di definizione dei filtri

Example

ECCatalog.onFiltersLoad = function(){
trace("File di definizione dei filtri caricato")
}


onItemsLoad :

Availability

Flash Player 6.

Usage

ECCatalog.onItemsLoad()

Parameters

None.

Returns

Nothing.

Description

Callback richiamato al termine del caricamento del file di definizione degli articoli

Example

ECCatalog.onItemsLoad = function(){
trace("File di definizione degli articoli caricato")
}


onRefresh :

Availability

Flash Player 6.

Usage

ECCatalog.onRefresh()

Parameters

None.

Returns

Nothing.

Description

Callback richiamato al termine di una ricerca o cambio di pagina.
Ogni volta che il contenuto dell'array ECCatalog.pagedItems e ECCatalog.items viene a cambiare questo evento richiamato in modo tale da consentire allo sviluppatore di definire una procedura per visualizzare i nuovi articoli.

onRefresh() viene richiamato dopo ogni spostamento tra le pagine (quindi chiamando i metodi ECCatalog.nextPage ecc...) oppure dopo ogni ricerca (chimando il metodo search() o in automatico se si utilizza queryOnSelect = true)

Example

catalogo.onRefresh = function () {
for(var i = 0 ;i<9;i++){
if (catalogo.pagedItems[i]!=null){
trace("Path thumbnail : " & catalogo.pagedItems[i].thumbSource)
trace("Description : " & catalogo.pagedItems[i].description)
}
}
trace("Pag " + catalogo.currentPage + "/" + catalogo.pageCount)
}


onSettingsLoad :

Availability

Flash Player 6.

Usage

ECCatalog.onSettingsLoad()

Parameters

None.

Returns

Nothing.

Description

Callback richiamato al termine del caricamento del file di definizione delle impostazioni.

Il file di definizione delle impostazioni contiene informazioni sulla societa' (TEL, indirizzo etc etc) e alcune impostazioni tipiche degli skin predefiniti di EasyCatalog. In genere queste impostazioni non sono necessarie allo sviluppatore.

Example

ECCatalog.onISettingsLoad = function(){
trace("File di definizione delle impostazioni del catalogo")
}


onStatus :

Availability

Flash Player 6.

Usage

ECCatalog.onStatus()

Parameters

None.

Returns

Nothing.

Description

Callback richiamato se si verificano errori di caricamento dei file del catalogo

Example

ECCatalog.onStatus = function(errorString){
trace("Errore: " + errorString)
}



Documentation Generated With gModeler.com
 

 

©1995-2012 TECH srl P.I. 03532980103 - Tutti i diritti riservati. Privacy | Copyright | Feedback