2016-05-11 03:33:58 +08:00
|
|
|
export enum DatabaseType{
|
2016-06-17 06:05:31 +08:00
|
|
|
memory
|
2016-05-11 03:33:58 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
interface ServerConfig {
|
|
|
|
port:number;
|
|
|
|
imagesFolder:string;
|
|
|
|
thumbnailFolder:string;
|
|
|
|
databaseType:DatabaseType;
|
|
|
|
}
|
|
|
|
|
|
|
|
interface SearchConfig {
|
|
|
|
searchEnabled:boolean
|
|
|
|
instantSearchEnabled:boolean
|
|
|
|
autocompleteEnabled:boolean
|
|
|
|
}
|
|
|
|
|
|
|
|
interface ClientConfig {
|
2016-05-12 17:00:46 +08:00
|
|
|
thumbnailSizes:Array<number>;
|
2016-05-11 03:33:58 +08:00
|
|
|
Search:SearchConfig;
|
2016-06-17 17:25:15 +08:00
|
|
|
concurrentThumbnailGenerations:number;
|
2016-06-26 21:53:48 +08:00
|
|
|
enableCache:boolean;
|
|
|
|
enableOnScrollRendering:boolean;
|
|
|
|
enableOnScrollThumbnailPrioritising:boolean;
|
2016-07-07 18:19:08 +08:00
|
|
|
authenticationRequired:boolean;
|
2016-05-11 03:33:58 +08:00
|
|
|
}
|
|
|
|
export class ConfigClass {
|
|
|
|
|
|
|
|
public Server:ServerConfig = null;
|
|
|
|
|
|
|
|
public Client:ClientConfig = {
|
2016-05-12 17:00:46 +08:00
|
|
|
thumbnailSizes: [200, 400, 600],
|
2016-05-11 03:33:58 +08:00
|
|
|
Search: {
|
2016-06-22 22:34:44 +08:00
|
|
|
searchEnabled: false,
|
|
|
|
instantSearchEnabled: false,
|
|
|
|
autocompleteEnabled: false
|
2016-06-17 17:25:15 +08:00
|
|
|
},
|
2016-06-26 21:53:48 +08:00
|
|
|
concurrentThumbnailGenerations: 1,
|
|
|
|
enableCache: false,
|
|
|
|
enableOnScrollRendering: true,
|
2016-07-07 18:19:08 +08:00
|
|
|
enableOnScrollThumbnailPrioritising: true,
|
|
|
|
authenticationRequired: true
|
2016-05-11 03:33:58 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
public setDatabaseType(type:DatabaseType) {
|
|
|
|
this.Server.databaseType = type;
|
|
|
|
if (type === DatabaseType.memory) {
|
|
|
|
this.Client.Search.searchEnabled = false;
|
|
|
|
this.Client.Search.instantSearchEnabled = false;
|
|
|
|
this.Client.Search.autocompleteEnabled = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|