Comments (9)
delitemwithatt/src/modules/examples.ts
Lines 538 to 555 in 2ae9894
是源代码,你可以再找相应的具体执行的函数,结合 Zotero Action & Tags插件设置快捷键。
from delitemwithatt.
感谢,不过我没明白找对应具体的执行函数是怎么找?
我将以下代码设置为script,然后结合action&tags设置快捷键,会报错"unexpected token async
"
`// 仅删除附件
static async delAtt() {
var zoteroPane = Zotero.getActiveZoteroPane();
var items = zoteroPane.getSelectedItems();
// var daoInfo = items.length > 1 ? 'delete-attachment-only-mul' : 'delete-attachment-only-sig';
// var truthBeTold = ztoolkit.getGlobal("confirm")(getString(daoInfo));
var truthBeTold = ztoolkit.getGlobal("confirm")(getString("delete-attachment-only", { args: { count: items.length } }));
if (truthBeTold) {
HelperExampleFactory.delAttDo(items); // 调用仅删除附件的函数
BasicExampleFactory.delAttSucess(); // 附件删除成功提示;
}
}
// 仅删除附件执行的函数
static async delAttDo(items: Zotero.Item[]) {
for (let item of items) {
if (item && !item.isNote()) { //2 if
if (item.isRegularItem()) { // Regular Item 一般条目//3 if
let attachmentIDs = item.getAttachments();
for (let id of attachmentIDs) { //4 for
let attachment = Zotero.Items.get(id);
let ifLinks = (attachment.attachmentLinkMode == Zotero.Attachments.LINK_MODE_LINKED_FILE); // 检测是否为链接模式
var file = await attachment.getFilePathAsync();
if (file && ifLinks) { // 如果文件存在(文件可能已经被删除)且为链接模式删除文件
try {
// await OS.File.remove(file); // 尝试删除文件
await Zotero.File.removeIfExists(file);
//await trash.remove(file);
} catch (error) { // 弹出错误
alert(getString("file-is-open"));
return; // 弹出错误后终止执行
}
}
// if (attachment.attachmentContentType == 'text/html' ) { // 可以筛选删除的附件类型
attachment.deleted = true; // 删除附件(快照)
await attachment.saveTx();
// }
} //4 for
} // 3 if
if (item.isAttachment()) { //附件条目 5 if
var ifLinksAtt = (item.attachmentLinkMode == Zotero.Attachments.LINK_MODE_LINKED_FILE); //检测是否为链接模式
var file = await item.getFilePathAsync();
if (file && ifLinksAtt) { // 如果文件存在(文件可能已经被删除)且为链接模式删除文件
try {
// await OS.File.remove(file); // 尝试删除文件
await Zotero.File.removeIfExists(file);
} catch (error) { // 弹出错误
alert(getString("file-is-open"));
return; // 弹出错误后终止执行
}
}
item.deleted = true;
await item.saveTx();
}//5if
} //2 if
}
}`
from delitemwithatt.
可以搜索函数名delAttDo
(https://github.com/redleafnew/delitemwithatt/blob/2ae98943777301de98cb5c1d67bc89f0c4642b52/src/modules/examples.ts#L593-L641)
from delitemwithatt.
有些用了工具箱的函数,可能需要改造。
from delitemwithatt.
我估计是看不懂,不太会改造了😭
from delitemwithatt.
from delitemwithatt.
或者,现在是不是可以结合action &tags测试出修饰键是什么,如果可以通过run javascript测试出来的话,我帮助测试一下
from delitemwithatt.
if (data.keyboard === control,${key_del_att}
) {
HelperExampleFactory.delAtt();
console.log("control+" + key_del_att + " pressed");
}
询问gpt后的一些结果
from delitemwithatt.
https://github.com/redleafnew/delitemwithatt/releases/tag/0.1.05 老的版本你找找,看看,
from delitemwithatt.
Related Issues (20)
- Files remain on the harddrive HOT 11
- delete bug HOT 12
- [unexpected issue] 插件启用后无法正常退订订阅 HOT 1
- Shortcuts are not working HOT 2
- 语言设置bug HOT 9
- 本插件和style插件冲突 HOT 11
- 删除条目时同时删除PDF HOT 3
- 找不到0.2.0的下载链接 HOT 1
- 插件不工作问题 HOT 9
- mac下快捷键失效 HOT 5
- 求一个简化版本 HOT 4
- 本插件导致zotero条目显示空白 HOT 1
- 无法安装插件“%S”。它可能无法与该版本的 Zotero 兼容。 HOT 1
- 6版本 HOT 1
- 可以在添加每一个条目的时候自动设置 language 域吗? HOT 4
- 无法导出PDF文件 HOT 1
- 如何修改删除附件的快捷键(Alt+A和微信截图冲突了) HOT 2
- 不兼容6.0.36 HOT 2
- 该插件右下角通知能否关闭?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from delitemwithatt.