diff --git a/src/asset_manager/index.ts b/src/asset_manager/index.ts index ef6a6cdeb..12a02f5dd 100644 --- a/src/asset_manager/index.ts +++ b/src/asset_manager/index.ts @@ -34,13 +34,15 @@ import { debounce, isFunction } from 'underscore'; import { ItemManagerModule } from '../abstract/Module'; +import { AddOptions, RemoveOptions } from '../common'; import EditorModel from '../editor/model/Editor'; +import { ProjectData } from '../storage_manager'; import defaults, { AssetManagerConfig } from './config/config'; import Asset from './model/Asset'; import Assets from './model/Assets'; +import AssetsEvents, { AssetOpenOptions } from './types'; import AssetsView from './view/AssetsView'; import FileUploaderView from './view/FileUploader'; -import AssetsEvents, { AssetOpenOptions } from './types'; // TODO type AssetProps = Record; @@ -82,40 +84,6 @@ export default class AssetManager extends ItemManagerModule this.close(), - remove: (asset: string | Asset, opts?: Record) => this.remove(asset, opts), - select: (asset: Asset, complete: boolean) => { - const res = this.add(asset); - isFunction(bhv.select) && bhv.select(res, complete); - }, - // extra - options: bhv.options || {}, - }; - } - /** * Open the asset manager. * @param {Object} [options] Options for the asset manager. @@ -185,7 +153,7 @@ export default class AssetManager extends ItemManagerModule = {}) { + add(asset: string | AssetProps | (string | AssetProps)[], opts: AddOptions = {}) { // Put the model at the beginning if (typeof opts.at == 'undefined') { opts.at = 0; @@ -231,7 +199,7 @@ export default class AssetManager extends ItemManagerModule) { + remove(asset: string | Asset, opts?: RemoveOptions) { return this.__remove(asset, opts); } @@ -239,7 +207,7 @@ export default class AssetManager extends ItemManagerModule) { + load(data: ProjectData) { return this.loadProjectData(data); } @@ -401,6 +369,40 @@ export default class AssetManager extends ItemManagerModule this.close(), + remove: (asset: string | Asset, opts?: Record) => this.remove(asset, opts), + select: (asset: Asset, complete: boolean) => { + const res = this.add(asset); + isFunction(bhv.select) && bhv.select(res, complete); + }, + // extra + options: bhv.options || {}, + }; + } + __behaviour(opts = {}) { return (this._bhv = { ...(this._bhv || {}),