item(項目)
eagle.item APIを使用すると、現在のリソースリポジトリの内容を簡単に検索したり、新しい内容をリソースリポジトリに追加することができます。
eagle.onPluginCreate(async (plugin) => {
// Eagle アプリで現在選択されているファイルを取得
let items = await eagle.item.getSelected();
let item = items[0];
// 属性を変更する
item.name = 'New Name';
item.tags = ['tag1', 'tag2'];
// 変更を保存する
await item.save();
});
🦄 ベストプラクティス: データの安全性を確保するために、item
APIが提供する save()
メソッドを使用してデータの取得と変更を行い、Eagle リソースリポジトリの metadata.json
や任意のファイルを直接変更することを避けてください。
メソッド
get(options)
万能検索メソッド。指定条件のファイルを取得できます。
options
Object - 検索条件id
string (オプション) - ファイル idids
string[] (オプション) - ファイル id の配列isSelected
boolean (オプション) - 現在選択されているファイルisUntagged
boolean (オプション) - 未タグ付けisUnfiled
boolean (オプション) - 未分類keywords
string[] (オプション) - キーワードを含むtags
string[] (オプション) - タグを含むfolders
string[] (オプション) - フォルダを含むext
string (オプション) - 形式annotation
string (オプション) - 注釈rating
Integer (オプション) - 評価,0〜5
url
string (オプション) - ソースリンクshape
string (オプション) - 形状,square
、portrait
、panoramic-portrait
、landscape
、panoramic-landscape
返り値
Promise<items: Item[]>
-items
検索結果
let items = await eagle.item.get({
ids: [],
isSelected: true,
isUnfiled: true,
isUntagged: true,
keywords: [""],
ext: "",
tags: [],
folders: [],
shape: "square",
rating: 5,
annotation: "",
url: ""
});
let selected = await eagle.item.get({
isSelected: true
});
let jpgs = await eagle.item.get({
ext: "jpg"
});
getAll()
全てのファイルを返す
返り値
Promise<items: Item[]>
-items
全てのファイル
let items = await eagle.item.getAll();
console.log(items);
🦄 ベストプラクティス: リソースリポジトリのファイル数が非常に多い場合(例:20万件以上)、無制限にこのメソッドを呼び出さないでください。アプリケーションのパフォーマンスが低下する可能性があります。
getById(itemId)
指定のIDのファイルを返す
itemId
string返り値
Promise<item: Item>
-item
該当IDのファイル
let item = await eagle.item.getById('item_id');
console.log(item);
getByIds(itemIds)
指定されたIDのファイルを返す
itemIds
string[]返り値
Promise<items: Item[]>
-items
該当IDのファイル
let items = await eagle.item.getByIds(['item_id_1', 'item_id_2']);
console.log(items);
getSelected()
アプリで現在選択されているファイルを返す
返り値
Promise<items: Item[]>
-items
選択されたファイル
let selected = await eagle.item.getSelected();
console.log(selected);
addFromURL(url, options)
画像リンクを Eagle に追加する
url
string - 追加したい画像リンク。http
、https
、base64
に対応。options
Objectname
string (オプション) - ファイル名website
string (オプション) - 送信元のサイトtags
string[] (オプション) - タグfolders
string[] (オプション) - 所属フォルダの IDsannotation
string (オプション) - 注釈
返り値
Promise<itemId: string>
-itemId
正常に作成されたプロジェクトのID
const imgURL = 'https://cdn.dribbble.com/userupload/3885520/file/original-ee68b80a6e10edab6f192e1e542da6ed.jpg';
const itemId = await eagle.item.addFromURL(imgURL, {
name: 'Camping',
website: 'https://dribbble.com/shots/19744134-Camping-2',
tags: ["Dribbble", "Illustration"],
folders: [],
annotation: 'add from eagle api',
});
addFromBase64(base64, options)
base64 画像を Eagle に追加する
base64
string - base64形式の画像options
Objectname
string (オプション) - ファイル名website
string (オプション) - 送信元のサイトtags
string[] (オプション) - タグfolders
string[] (オプション) - 所属フォルダの IDsannotation
string (オプション) - 注釈
返り値
Promise<itemId: string>
-itemId
正常に作成されたプロジェクトのID
const base64 = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNDAgMjM0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNDAgMjM0Ij48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbD0iIzI2MTMwMCIgZD0iTTEwIDEwaDIyMHYyMTMuOTk5aC0yMjB6Ii8+PHBhdGggZD0iTTAgMHYyMzRoMjQwLjAwMXYtMjM0aC0yNDAuMDAxem0xMCAxMGgyMjAuMDAxdjIxNGgtMjIwLjAwMXYtMjE0em03My4yNTIgMTIyLjUwMWwtNy45MiAyOS45ODJjLS4xNjUuODI0LS40OTUgMS4wMTgtMS40ODUgMS4wMThoLTE0LjY4N2MtLjk4OCAwLTEuMTUyLS4zMy0uOTg4LTEuNDg1bDI4LjM4LTk5LjQ0OGMuNDk1LTEuODE1LjgyNS0zLjM3Ny45OS04LjMyOCAwLS42Ni4zMy0uOTkuODI1LS45OWgyMC45NTVjLjY2IDAgLjk5LjE2NSAxLjE1NS45OWwzMS44NDUgMTA3Ljk0Yy4xNjUuODI0IDAgMS4zMi0uODI1IDEuMzJoLTE2LjVjLS44MjQgMC0xLjMxOS0uMTkzLTEuNDg0LS44NTRsLTguMjUtMzAuMTQ2aC0zMi4wMTF6bTI3Ljg4NS0xNi4yNWMtMi44MDUtMTEuMDU2LTkuNDA1LTM1LjI4Ni0xMS44OC00N2gtLjE2NWMtMi4xNDYgMTEuNzE1LTcuNDI1IDMxLjQ5LTExLjU1IDQ3aDIzLjU5NXptNDQuOTkzLTU1LjU3OGMwLTYuNDM1IDQuNDU1LTEwLjIzIDEwLjIzLTEwLjIzIDYuMTA1IDAgMTAuMjMgNC4xMjUgMTAuMjMgMTAuMjMgMCA2LjYtNC4yOSAxMC4yMy0xMC4zOTUgMTAuMjMtNS45NCAwLTEwLjA2NS0zLjYzLTEwLjA2NS0xMC4yM3ptMS4xMiAyMi43MzJjMC0uODI1LjMzLTEuMTU1IDEuMTU1LTEuMTU1aDE1LjY4OWMuODI1IDAgMS4xNTUuMzMgMS4xNTUgMS4xNTV2NzguOTM5YzAgLjgyNi0uMTY1IDEuMTU2LTEuMTU1IDEuMTU2aC0xNS41MjRjLS45OSAwLTEuMzItLjQ5Ni0xLjMyLTEuMzJ2LTc4Ljc3NXoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsPSIjRkY3QzAwIi8+PC9zdmc+';
const itemId = await eagle.item.addFromBase64(base64, {
name: 'Illustation Logo',
website: 'https://www.eagle.cool/',
tags: ["Adobe", "Logo"],
folders: [],
annotation: 'ai logo form api',
});
addFromPath(path, options)
从本地文件路径添加文件至 Eagle
path
string - 欲添加文件路径options
Objectname
string (可选) - 文件名website
string (可选) - 来源网址tags
string[] (可选) - 标签folders
string[] (可选) - 所属文件夹 IDsannotation
string (可选) - 注释
返回
Promise<itemId: string>
-itemId
成功创建的项目 ID
const filePath = 'C:\\Users\\User\\Downloads\\ai.svg';
const itemId = await eagle.item.addFromPath(filePath, {
name: 'Illustation Logo',
website: 'https://www.eagle.cool/',
tags: ["Adobe", "Logo"],
folders: [],
annotation: 'ai logo form api',
});
addBookmark(url, options)
添加书签链接至 Eagle
url
string - 欲添加书签链接options
Objectname
string (可选) - 书签名base64
string (可选) - 自订缩图 base64 格式tags
string[] (可选) - 标签folders
string[] (可选) - 所属文件夹 IDsannotation
string (可选) - 注释
返回
Promise<itemId: string>
-itemId
成功创建的项目 ID
const bookmarkURL = 'https://www.google.com/';
const itemId = await eagle.item.addBookmark(bookmarkURL, {
name: 'Eagle',
tags: ["Eagle", "Site"],
folders: [],
annotation: 'bookmark form api',
});
const bookmarkURL = 'https://www.google.com/';
const base64 = 'data:image/png;base64,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';
const itemId = await eagle.item.addBookmark(bookmarkURL, {
name: 'Eagle',
base64: base64,
tags: ["Eagle", "Site"],
folders: [],
annotation: 'bookmark form api',
});
open(itemId)
すべてのリストに itemId
に対応するファイルを表示する
itemId
string - 表示するファイルID戻り値
Promise<result:boolean>
await eagle.item.open("item_id");
クラス:Item
Eagle API get
によって返されるObjectタイプで、変更および保存機能を提供します。
🦄 ベストプラクティス: データの安全性を確保するために、Itemインスタンスが提供する save()
メソッドを使用してデータの読み書きと変更を行ってください。Eagle リソースリポジトリの下の metadata.json
や任意のファイルを直接変更しないでください。
インスタンスメソッド
save()
すべての変更を保存
戻り値
Promise<result:boolean>
-result
変更が成功したかどうか
let item = await eagle.item.getById('item_id');
item.name = 'New Name';
item.tags = ['tag_1', 'tag_2'];
// 変更を保存
await item.save();
moveToTrash()
ファイルをゴミ箱に移動します。
戻り値
Promise<result:boolean>
-result
削除が成功したかどうかを示します。
await item.moveToTrash();
replaceFile(filePath)
指定されたファイルで元のファイルを置き換えます。サムネイルが自動的に更新されるため、refreshThumbnail()
を再度呼び出す必要はありません。
🦄 ベストプラクティス: 直接変更するファイルに対して操作を行うことはリスクが伴います。エラーや例外が発生した場合、ファイルが破損して復元不可能になる可能性があります。したがって、新しいバージョンのファイルをコンピュータの他のパスに保存し、確認が取れた後で replaceFile()
メソッドを使用して置き換えることが、より確実な方法です。
filePath
string - 履歴置換ファイルのパス戻り値
Promise<result:boolean>
-result
置換が成功したかどうか
let item = await eagle.item.getById('item_id');
let result = await item.replaceFile('new_file_path');
console.log(result);
refreshThumbnail()
ファイルのサムネイルを更新し、ファイルサイズ、色分析、寸法などの属性も再取得します。
戻り値
Promise<result:boolean>
-result
成功したかどうか
let item = await eagle.item.getById('item_id');
let result = await item.refreshThumbnail();
console.log(result);
setCustomThumbnail(thumbnailPath)
ファイルにカスタムサムネイルを設定します。
thumbnailPath
string - サムネイルのパスを設定します。戻り値
Promise<result:boolean>
-result
置換が成功したかどうか
let item = await eagle.item.getById('item_id');
let result = await item.setCustomThumbnail('thumbnail_path');
console.log(result);
open()
このファイルをすべてのリストに表示する
戻り値
Promise<void>
let item = await eagle.item.getById('item_id');
await item.open();
// 等価
await eagle.item.open('item_id');
インスタンス属性
id
string
id
string読み取り専用、ファイルID。
name
string
name
stringファイル名。
ext
string
ext
string読み取り専用、ファイル拡張子。
width
Interger
width
Interger画像の幅。
height
Interger
height
Interger画像の高さ。
url
string
url
string出典リンク。
isDeleted
boolean
isDeleted
boolean読み取り専用、ファイルがゴミ箱に入っているかどうか。
annotation
string
annotation
stringファイルの注釈。
tags
string[]
tags
string[]ファイルのタグ。
folders
string[]
folders
string[]所属フォルダの ids。
palettes
Object[]
palettes
Object[]読み取り専用、カラーパレット情報。
size
Interger
size
Interger読み取り専用、ファイルサイズ。
star
Interger
star
Interger評価情報、0 ~ 5
。
importedAt
Interger
importedAt
Interger読み取り専用、追加された時間。
let date = new Date(item.importedAt);
noThumbnail
boolean
noThumbnail
boolean読み取り専用、ファイルにサムネイルがないかどうか。サムネイルがないファイルは、元のファイルでのプレビューになります。
noPreview
boolean
noPreview
boolean読み取り専用、ファイルがダブルクリックでプレビューに対応しているかどうか。
filePath
string
filePath
string読み取り専用、ファイルのパスを返します。
fileURL
string
fileURL
string読み取り専用、ファイルのパスのリンク(file:///
)を返します。
thumbnailPath
string
thumbnailPath
string読み取り専用、サムネイルのパスを返します。
thumbnailURL
string
thumbnailURL
string読み取り専用、サムネイルのリンク(file:///
)を返します。HTMLでこのファイルを表示するには、この属性を使用します。
metadataFilePath
string
metadataFilePath
string読み取り専用、このファイルの metadata.json
の場所。
🦄 ベストプラクティス: データの安全性を確保するために、item
APIが提供する save()
メソッドを使用してデータの読み書きと変更を行ってください。metadata.json
を直接変更しないでください。
最終更新