SchemaInitializerManager

Instance Methods

schemaInitializerManager.add()

Add SchemaInitializer instance.

  • Type
class SchemaInitializerManager {
    add(...schemaInitializerList: SchemaInitializer[]): void
}
  • Example
const mySchemaInitializer = new SchemaInitializer({
  name: 'MySchemaInitializer',
  title: 'Add Block',
  items: [
    {
      name: 'demo',
      type: 'item',
      useComponentProps(){
          title: 'Demo'
      }
    }
  ],
});

class MyPlugin extends Plugin {
    async load() {
        this.app.schemaInitializerManager.add(mySchemaInitializer);
    }
}

schemaInitializerManager.get()

Get a SchemaInitializer instance.

  • Type
class SchemaInitializerManager {
    get<T = any>(name: string): SchemaInitializer<T> | undefined
}
  • Example
class MyPlugin extends Plugin {
    async load() {
       const mySchemaInitializer = this.app.schemaInitializerManager.get('MySchemaInitializer');
    }
}

schemaInitializerManager.getAll()

Get all SchemaInitializer instances.

  • Type
class SchemaInitializerManager {
    getAll(): Record<string, SchemaInitializer<any, any>>
}
  • Example
class MyPlugin extends Plugin {
    async load() {
        const list = this.app.schemaInitializerManager.getAll();
    }
}

app.schemaInitializerManager.has()

Determine if a certain SchemaInitializer instance exists.

  • Type
class SchemaInitializerManager {
    has(name: string): boolean
}
  • Example
class MyPlugin extends Plugin {
    async load() {
        const hasMySchemaInitializer = this.app.schemaInitializerManager.has('MySchemaInitializer');
    }
}

schemaInitializerManager.remove()

Remove SchemaInitializer instance.

  • Type
class SchemaInitializerManager {
    remove(name: string): void
}
  • Example
class MyPlugin extends Plugin {
    async load() {
        this.app.schemaInitializerManager.remove('MySchemaInitializer');
    }
}

schemaInitializerManager.addItem()

Add Item of SchemaInitializer instance. The difference from directly calling schemaInitializer.add() method is that it can ensure addition only when the instance exists.

  • Type
class SchemaInitializerManager {
    addItem(schemaInitializerName: string, itemName: string, data: Omit<SchemaInitializerItemType, 'name'>): void
}
  • Example
class MyPlugin extends Plugin {
    async load() {
        // Method 1: First get, then add child item, need to ensure already registered
        const mySchemaInitializer = this.app.schemaInitializerManager.get('MySchemaInitializer');
        if (mySchemaInitializer) {
            mySchemaInitializer.add('b', { type: 'item', useComponentProps:{ title: 'B' } })
        }

        // Method 2: Through addItem, internally ensures addition only when mySchemaInitializer is registered
        this.app.schemaInitializerManager.addItem('MySchemaInitializer', 'b', {
            type: 'item',
            useComponentProps:{ title: 'B' }
        })
    }
}

schemaInitializerManager.removeItem()

Remove Item of instance. The difference from directly calling schemaInitializer.remove() method is that it can ensure removal only when the instance exists.

  • Type
class SchemaInitializerManager {
    removeItem(schemaInitializerName: string, itemName: string): void
}
  • Example
class MyPlugin extends Plugin {
    async load() {
        // Method 1: First get, then delete child item, need to ensure already registered
        const mySchemaInitializer = this.app.schemaInitializerManager.get('MySchemaInitializer');
        if (mySchemaInitializer) {
            mySchemaInitializer.remove('a')
        }

        // Method 2: Through addItem, internally ensures removal only when mySchemaInitializer is registered
        this.app.schemaInitializerManager.remove('MySchemaInitializer', 'a')
    }
}
Total visits  times     Total visitors  times     Total reading  times.   Powered by Tego Team