Adjust API for properties metadata
This commit is contained in:
@@ -100,8 +100,10 @@ class Metadata implements Flo.ElementMetadata {
|
||||
return Promise.resolve(this.rawData.properties.find(p => p.id === property));
|
||||
}
|
||||
|
||||
properties() : Promise<Array<Flo.PropertyMetadata>> {
|
||||
return Promise.resolve(this.rawData.properties);
|
||||
properties() : Promise<Map<string,Flo.PropertyMetadata>> {
|
||||
let propertiesMap = new Map<string, Flo.PropertyMetadata>();
|
||||
this.rawData.properties.forEach(p => propertiesMap.set(p.id, p));
|
||||
return Promise.resolve(propertiesMap);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ export namespace Flo {
|
||||
readonly group : string;
|
||||
description?() : Promise<string>;
|
||||
get(property : String) : Promise<PropertyMetadata>;
|
||||
properties() : Promise<Array<PropertyMetadata>>;
|
||||
properties() : Promise<Map<string, PropertyMetadata>>;
|
||||
readonly metadata? : ExtraMetadata;
|
||||
readonly [propName : string] : any;
|
||||
}
|
||||
@@ -218,7 +218,7 @@ export namespace Flo {
|
||||
group: group,
|
||||
unresolved: true,
|
||||
get: (property : String) => new Promise(resolve => resolve()),
|
||||
properties: () => Promise.resolve([])
|
||||
properties: () => Promise.resolve(new Map<string, PropertyMetadata>())
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ export namespace Properties {
|
||||
|
||||
protected createProperties() : Promise<Array<Property>> {
|
||||
let metadata : Flo.ElementMetadata = this.cell.attr('metadata');
|
||||
return Promise.resolve(metadata.properties().then(propsMetadata => propsMetadata.map(m => this.createProperty(m))));
|
||||
return Promise.resolve(metadata.properties().then(propsMetadata => Array.from(propsMetadata.values()).map(m => this.createProperty(m))));
|
||||
}
|
||||
|
||||
protected createProperty(metadata : Flo.PropertyMetadata) : Property {
|
||||
|
||||
Reference in New Issue
Block a user