folder(フォルダー)

eagle.folder API を使って、新しいフォルダを簡単に作成したり、現在のアプリケーション内のフォルダにアクセスすることができます。

// Eagle アプリで現在選択されているフォルダを取得
let folder = (await eagle.folder.getSelected())[0];

// 属性を変更
folder.name = '新しいフォルダ名';
folder.description = '新しい説明...';

// 変更を保存
await folder.save();

メソッド

create(options)

フォルダを作成します。

  • options Object

    • name string - フォルダ名

    • description string (任意) - フォルダの説明

    • parent string (任意) - 親フォルダの ID。このパラメーター付きだと createSubfolder(parentId, options) と同じです。

  • 戻り値 Promise<folder: Folder> - 成功した folder を返します。

let newFolder = await eagle.folder.create({
    name: '新しいフォルダ',
    description: 'フォルダの説明。',
});

createSubfolder(parentId, options)

サブフォルダを作成します。

  • parentId string - 親フォルダの ID

  • options Object

    • name string - フォルダ名

    • description string (任意) - フォルダの説明

  • 戻り値 Promise<folder: Folder> - 成功した folder を返します。

let parentFolder = await eagle.folder.getById('folder_id');
let subFolder = await eagle.folder.createSubfolder(parentFolder.id, {
    name: 'サブフォルダ',
    description: 'サブフォルダの説明。',
});

get(options)

指定条件のフォルダを取得。

  • options Object - 検索条件

    • id string (任意) - フォルダの id

    • ids string[] (任意) - フォルダ id の配列

    • isSelected boolean (任意) - 現在選択されているフォルダ

    • isRecent boolean (任意) - 最近利用したフォルダ

  • 戻り値 Promise<folders: Folder[]> - 検索結果の folders

// 指定された id のフォルダを取得
let folders = await eagle.folder.get({
    ids: ['folder_id1', 'folder_id2']
});

// 現在のアプリで選択されているフォルダを取得
let folders = await eagle.folder.get({
    isSelected: true
});

getAll()

すべてのフォルダを取得します。

  • 戻り値 Promise<folders: Folder[]> - folders を返します。

let folders = await eagle.folder.getAll();

getById(folderId)

対応する folderId のフォルダーを取得します。

  • folderId string - フォルダの id

  • 返り値 Promise<folder: Folder> - folder の検索結果

let folder = await eagle.folder.getById('folder_id');

getByIds(folderIds)

対応する folderIds のフォルダーアレイを取得します。

  • folderIds string[] - フォルダー id のアレイ

  • 返り値 Promise<folders: Folder[]> - folders の検索結果

let folders = await eagle.folder.getByIds(['folder_id1', 'folder_id2']);

getSelected()

現在のアプリケーションで選択されているフォルダーを取得します。

  • 返り値 Promise<folders: Folder[]> - folders

let folders = await eagle.folder.getSelected();

getRecents()

最近使用されたフォルダーを取得します。

  • 返り値 Promise<folders: Folder[]> - folders

let folders = await eagle.folder.getRecents();

open(folderId)

Eagle は対応する folderId のフォルダーを開きます。

  • 返り値 Promise<void>

await eagle.folder.open('folder_id');

// 以下と同等
let folder = await eagle.folder.getById('folder_id');
await folder.open();

ヒント:フォルダーを開くために、フォルダーのインスタンスの open() メソッドを直接呼び出すこともできます。


クラス:Folder

Folder API get から返される Object タイプで、変更および保存機能を提供します。

let folder = await eagle.folder.getById('folder_id');

console.log(folder.id);
console.log(folder.name);

folder.name = 'new name';
console.log(folder.name);

await folder.save();

インスタンスメソッド

save()

すべての変更を保存します。

  • 返り値 Promise<void>

let folder = await eagle.folder.getById('folder_id');
folder.name = 'New Fodler Name';

// 変更を保存
await folder.save();

open()

Eagle はこのフォルダーを開きます。

  • 返り値 Promise<void>

let folder = await eagle.folder.getById('folder_id');
await folder.open();

// これと等価
await eagle.folder.open('folder_id');

ヒント:フォルダを開くために、eagle.folder.open(folderId) メソッドを直接呼び出すこともできます。


インスタンス属性

Folder インスタンスには以下の属性が含まれます:

id string

読み取り専用、フォルダー id。

name string

フォルダー名。

description string

フォルダーの説明、紹介。

icon string

読み取り専用、フォルダーのアイコン。

iconColor string

フォルダーのアイコンの色。

let folder = await eagle.folder.getById('folder_id');

// フォルダーの色を赤に設定
folder.iconColor = eagle.folder.IconColor.Red;

// または文字列値を直接使用
folder.iconColor = 'red';

// 変更を保存
await folder.save();

注意:このプロパティは Eagle 4.0 build12 より前は読み取り専用で、変更をサポートしていませんでした。Eagle 4.0 build12 以降、このプロパティを変更できるようになりました。

createdAt Integer

読み取り専用、フォルダーの作成時間(タイムスタンプ)。

let date = new Date(folder.createdAt);

parent string

親フォルダー ID。

let folder = await eagle.folder.getById('folder_id');

// 親フォルダー ID を取得
console.log(folder.parent);

// 親フォルダーを変更(フォルダーを別の親フォルダーに移動)
folder.parent = 'parent_folder_id';
await folder.save();

// ルートディレクトリに移動(null または undefined に設定)
folder.parent = null;
await folder.save();

注意:このプロパティは Eagle 4.0 build12 より前は読み取り専用で、変更をサポートしていませんでした。Eagle 4.0 build12 以降、このプロパティを変更できるようになり、このプロパティを変更することでフォルダーを異なる親フォルダーに移動できるようになりました。

children Folder[]

読み取り専用、子フォルダーの配列。

let children = folder.children;

console.log(children[0]);
await children[0].open();

静的プロパティ

IconColor Object

フォルダーの iconColor プロパティを設定するための事前定義されたフォルダーアイコンの色定数を提供します。

// 利用可能な色定数
eagle.folder.IconColor.Red      // 'red'
eagle.folder.IconColor.Orange   // 'orange' 
eagle.folder.IconColor.Yellow   // 'yellow'
eagle.folder.IconColor.Green    // 'green'
eagle.folder.IconColor.Aqua     // 'aqua'
eagle.folder.IconColor.Blue     // 'blue'
eagle.folder.IconColor.Purple   // 'purple'
eagle.folder.IconColor.Pink     // 'pink'

使用例:

let folder = await eagle.folder.getById('folder_id');

// 色定数を使用してフォルダーの色を設定
folder.iconColor = eagle.folder.IconColor.Blue;
await folder.save();

// 複数のフォルダーの色を一括設定
let folders = await eagle.folder.getAll();
for (let i = 0; i < folders.length; i++) {
    if (i % 2 === 0) {
        folders[i].iconColor = eagle.folder.IconColor.Green;
    } else {
        folders[i].iconColor = eagle.folder.IconColor.Purple;
    }
    await folders[i].save();
}

最終更新