## DuLibrary()

For use with `DuScriptUI`.
A complete library interface.
This is not a real class, and cannot be instanciated.
Use `DuScriptUI.library` to create a Library.
The Library inherits the `Group` object from ScriptUI and has all of its properties and methods.
Constructor

#### # new DuLibrary()

##### Properties:

Name | Type | Description
--- | --- | ---
`list` | `ListBox` | The Listbox with the current items for the library. Items are extended with new properties, see `DuListItem` for more details.
`library` | `DuLibraryItem` | The associated library data. Use setLibrary to change it.
`onRun` | `DuLibrary~onRun` | The function used to run the selected item.
`onAltRun` | `DuLibrary~onAltRun` | The function used to run the selected item with alt click.
`onCtrlRun` | `DuLibrary~onCtrlRun` | The function used to run the selected item with ctrl click.
`onCtrlAltRun` | `DuLibrary~onCtrlAltRun` | The function used to run the selected item with ctrl alt click.
`onEditData` | `DuLibrary~onEditData` | The function to execute to edit data.
`onFolderOpened` | `DuLibrary~onFolderOpened` | The function to open a containing folder
`onFolderEdited` | `DuLibrary~onFolderEdited` | The function to edit the folder
`onAddItem` | `DuLibrary~onAddItem` | The function to execute when adding a new item.
`onEditItem` | `DuLibrary~onEditItem` | The function to execute when editing an item.
`onRemoveItem` | `DuLibrary~onRemoveItem` | The function to execute when removing an item.
`onRefresh` | `DuLibrary~onRefresh` | The function to execute to refresh the library.
`setLibrary` | `DuLibrary~setLibrary` | Sets a new library. May be called from onRefresh to replace the lib by a new one.
`runItem` | `DuLibrary~setLibrary` | Runs the selected item. Tied to the apply/run button by default.

View Source DuAEF_Duik_api.jsxinc, line 13756

### Extends

- Group

# Type Definitions

#### # onAddItem(category)

The function to execute when adding a new item.

##### Parameters:

Name | Type | Description
--- | --- | ---
`category` | `Object` | The current category.

View Source DuAEF_Duik_api.jsxinc, line 13849

#### # onAddItem(item, category)

The function to execute when editing an item.

##### Parameters:

Name | Type | Description
--- | --- | ---
`item` | `DuListItem` | The item to edit.
`category` | `Object` | The current category.

View Source DuAEF_Duik_api.jsxinc, line 13856

#### # onAltRun(item)

The function used to run the selected item.

##### Parameters:

Name | Type | Description
--- | --- | ---
`item` | `DuListItem` | The item to run/apply.

View Source DuAEF_Duik_api.jsxinc, line 13805

#### # onCtrlAltRun(item)

The function used to run the selected item.

##### Parameters:

Name | Type | Description
--- | --- | ---
`item` | `DuListItem` | The item to run/apply.

View Source DuAEF_Duik_api.jsxinc, line 13819

#### # onCtrlRun(item)

The function used to run the selected item.

##### Parameters:

Name | Type | Description
--- | --- | ---
`item` | `DuListItem` | The item to run/apply.

View Source DuAEF_Duik_api.jsxinc, line 13812

#### # onEditData(item)

The function used to edit an item data.

##### Parameters:

Name | Type | Description
--- | --- | ---
`item` | `DuListItem` | The item to edit.

View Source DuAEF_Duik_api.jsxinc, line 13826

#### # onFolderEdited(item, category)

The function to edit the folder.

##### Parameters:

Name | Type | Description
--- | --- | ---
`item` | `DuListItem` | The item to edit.
`category` | `Object` | The current category.

View Source DuAEF_Duik_api.jsxinc, line 13841

#### # onFolderOpened(item, category)

The function to open a containing folder.

##### Parameters:

Name | Type | Description
--- | --- | ---
`item` | `DuListItem` | The item to edit.
`category` | `Object` | The current category.

View Source DuAEF_Duik_api.jsxinc, line 13833

#### # onRefresh(category)

The function to execute to refresh the library.

##### Parameters:

Name | Type | Description
--- | --- | ---
`category` | `DuLibraryItem` | The category to refresh.

View Source DuAEF_Duik_api.jsxinc, line 13784

#### # onRemoveItem(item, category)

The function to execute when removing an item.

##### Parameters:

Name | Type | Description
--- | --- | ---
`item` | `DuListItem` | The item to remove.
`category` | `Object` | The current category.

View Source DuAEF_Duik_api.jsxinc, line 13864

#### # onRun(item)

The function used to run the selected item.

##### Parameters:

Name | Type | Description
--- | --- | ---
`item` | `DuListItem` | The item to run/apply.

View Source DuAEF_Duik_api.jsxinc, line 13798

#### # setLibrary(newLib)

Sets a new library. May be called from onRefresh to replace the lib by a new one.

##### Parameters:

Name | Type | Description
--- | --- | ---
`newLib` | `DuLibraryItem` | The new library.

View Source DuAEF_Duik_api.jsxinc, line 13791