> For the complete documentation index, see [llms.txt](https://developer.eagle.cool/plugin-api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.eagle.cool/plugin-api/ja-jp/api/event.md).

# event（イベント）

## onPluginCreate(callback) <a href="#gylpl" id="gylpl"></a>

プラグインウィンドウが作成されたとき、Eagleはこのメソッドを自動的に呼び出します。このメソッドを使用して、プラグインが必要なモジュールを初期化できます。

* `callback` Function
  * `plugin` Object - プラグイン属性
    * `manifest` Object - プラグイン manifest.json の完全な設定。
    * `path` String - プラグインのパス

```javascript
eagle.onPluginCreate((plugin) => {
    console.log(plugin.manifest.name);
    console.log(plugin.manifest.version);
    console.log(plugin.manifest.logo);
    console.log(plugin.path);
});
```

{% hint style="info" %}
ヒント：プラグインが manifest 情報なしで実行できる場合、`window.onload` を使用して開発を進めることもできます。
{% endhint %}

## onPluginRun(callback) <a href="#gylpl" id="gylpl"></a>

ユーザーがプラグインパネルのプラグインをクリックすると、Eagleはこのメソッドを自動的に呼び出します。

* `callback` Function

```javascript
eagle.onPluginRun(() => {
    console.log('eagle.onPluginRun');
});
```

## onPluginBeforeExit(callback) <a href="#z1a5y" id="z1a5y"></a>

プラグインウィンドウが閉じる前に、Eagleはこのメソッドを自動的に呼び出します。

* `callback` Function

```javascript
eagle.onPluginBeforeExit(() => {
    console.log("プラグインが終了します");
});

// ウィンドウのクローズを阻止
window.onbeforeunload = (event) => {
    return event.returnValue = false;
};
```

{% hint style="info" %}
ヒント：ウィンドウのクローズを防ぎたい場合は、`window.onbeforeunload` メソッドを登録してウィンドウが閉じられないようにできます。
{% endhint %}

## onPluginShow(callback) <a href="#w2vxi" id="w2vxi"></a>

プラグインウィンドウが表示されるとき、Eagleはこのメソッドを自動的に呼び出します。

* `callback` Function

```javascript
eagle.onPluginShow(() => {
    console.log("プラグインウィンドウが表示されました");
});
```

## onPluginHide(callback) <a href="#zgvst" id="zgvst"></a>

プラグインウィンドウが隠れるとき、Eagleはこのメソッドを自動的に呼び出します。

* `callback` Function

```javascript
eagle.onPluginHide(() => {
    console.log("プラグインウィンドウが隠れました");
});
```

## onLibraryChanged(callback) <a href="#g3tny" id="g3tny"></a>

ユーザーがリソースライブラリを切り替えると、Eagleはこのメソッドを自動的に呼び出します。

* `callback` Function
  * `libraryPath` String - 現在のリソースライブラリのパス。

```javascript
eagle.onLibraryChanged((libraryPath) => {
    console.log(`リソースライブラリの切り替えが検出されました。新しいリソースライブラリのパス: ${libraryPath}`);
});
```

{% hint style="info" %}
ヒント：より完全なリソースライブラリ情報が必要な場合は、`eagle.library.info()` メソッドを使用できます。
{% endhint %}

{% hint style="warning" %}
**注意：** プラグインの実行過程で相対的なリソースライブラリパスに依存する場合、この方法を登録してリソースライブラリが切り替えられたときに対応する調整を行い、プログラムの実行過程でエラーが発生しないようにする必要があります。
{% endhint %}

## onThemeChanged(callback) <a href="#xlf6z" id="xlf6z"></a>

Eagle メインプログラムのテーマカラーが変更されると、Eagle はこのメソッドを自動的に呼び出します。プラグインが複数のカラーテーマに対応している場合、このメソッドを使用して対応する UI の調整を行うことができます。

* `callback` 関数
  * `theme` String - 現在のテーマカラーの名前。`Auto`、`LIGHT`、`LIGHTGRAY`、`GRAY`、`DARK`、`BLUE`、`PURPLE` など。

```javascript
eagle.onThemeChanged((theme) => {
    console.log(`配色テーマが次のように変更されました: ${theme}`);
});
```

### &#x20;<a href="#nptwx" id="nptwx"></a>
