mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Keyboard shortcuts improvements (#70)
This commit is contained in:
parent
05f455c34e
commit
deffb81888
4 changed files with 198 additions and 92 deletions
|
|
@ -507,6 +507,68 @@ MailBoxMessageListViewModel.prototype.listUnsetFlags = function ()
|
||||||
this.setAction(RL.data().currentFolderFullNameRaw(), Enums.MessageSetAction.UnsetFlag, RL.data().messageListCheckedOrSelected());
|
this.setAction(RL.data().currentFolderFullNameRaw(), Enums.MessageSetAction.UnsetFlag, RL.data().messageListCheckedOrSelected());
|
||||||
};
|
};
|
||||||
|
|
||||||
|
MailBoxMessageListViewModel.prototype.flagMessages = function (oCurrentMessage)
|
||||||
|
{
|
||||||
|
var
|
||||||
|
aChecked = this.messageListCheckedOrSelected(),
|
||||||
|
aCheckedUids = []
|
||||||
|
;
|
||||||
|
|
||||||
|
if (oCurrentMessage)
|
||||||
|
{
|
||||||
|
if (0 < aChecked.length)
|
||||||
|
{
|
||||||
|
aCheckedUids = _.map(aChecked, function (oMessage) {
|
||||||
|
return oMessage.uid;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (0 < aCheckedUids.length && -1 < Utils.inArray(oCurrentMessage.uid, aCheckedUids))
|
||||||
|
{
|
||||||
|
this.setAction(oCurrentMessage.folderFullNameRaw, oCurrentMessage.flagged() ?
|
||||||
|
Enums.MessageSetAction.UnsetFlag : Enums.MessageSetAction.SetFlag, aChecked);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.setAction(oCurrentMessage.folderFullNameRaw, oCurrentMessage.flagged() ?
|
||||||
|
Enums.MessageSetAction.UnsetFlag : Enums.MessageSetAction.SetFlag, [oCurrentMessage]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
MailBoxMessageListViewModel.prototype.flagMessagesFast = function ()
|
||||||
|
{
|
||||||
|
var
|
||||||
|
aChecked = this.messageListCheckedOrSelected(),
|
||||||
|
aFlagged = []
|
||||||
|
;
|
||||||
|
|
||||||
|
if (0 < aChecked.length)
|
||||||
|
{
|
||||||
|
aFlagged = _.filter(aChecked, function (oMessage) {
|
||||||
|
return oMessage.flagged();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.setAction(aChecked[0].folderFullNameRaw,
|
||||||
|
aChecked.length === aFlagged.length ? Enums.MessageSetAction.UnsetFlag : Enums.MessageSetAction.SetFlag, aChecked);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
MailBoxMessageListViewModel.prototype.seenMessagesFast = function ()
|
||||||
|
{
|
||||||
|
var
|
||||||
|
aChecked = this.messageListCheckedOrSelected(),
|
||||||
|
aUnseen = []
|
||||||
|
;
|
||||||
|
|
||||||
|
aUnseen = _.filter(aChecked, function (oMessage) {
|
||||||
|
return oMessage.unseen();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.setAction(aChecked[0].folderFullNameRaw,
|
||||||
|
0 < aUnseen.length ? Enums.MessageSetAction.SetSeen : Enums.MessageSetAction.UnsetSeen, aChecked);
|
||||||
|
};
|
||||||
|
|
||||||
MailBoxMessageListViewModel.prototype.onBuild = function (oDom)
|
MailBoxMessageListViewModel.prototype.onBuild = function (oDom)
|
||||||
{
|
{
|
||||||
var
|
var
|
||||||
|
|
@ -572,33 +634,7 @@ MailBoxMessageListViewModel.prototype.onBuild = function (oDom)
|
||||||
self.checkAll(!self.checkAll());
|
self.checkAll(!self.checkAll());
|
||||||
})
|
})
|
||||||
.on('click', '.messageList .messageListItem .flagParent', function () {
|
.on('click', '.messageList .messageListItem .flagParent', function () {
|
||||||
|
self.flagMessages(ko.dataFor(this));
|
||||||
var
|
|
||||||
oMessage = ko.dataFor(this),
|
|
||||||
aChecked = oData.messageListCheckedOrSelected(),
|
|
||||||
aCheckedUids = []
|
|
||||||
;
|
|
||||||
|
|
||||||
if (oMessage)
|
|
||||||
{
|
|
||||||
if (0 < aChecked.length)
|
|
||||||
{
|
|
||||||
aCheckedUids = _.map(aChecked, function (oMessage) {
|
|
||||||
return oMessage.uid;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (0 < aCheckedUids.length && -1 < Utils.inArray(oMessage.uid, aCheckedUids))
|
|
||||||
{
|
|
||||||
self.setAction(oMessage.folderFullNameRaw, oMessage.flagged() ?
|
|
||||||
Enums.MessageSetAction.UnsetFlag : Enums.MessageSetAction.SetFlag, aChecked);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
self.setAction(oMessage.folderFullNameRaw, oMessage.flagged() ?
|
|
||||||
Enums.MessageSetAction.UnsetFlag : Enums.MessageSetAction.SetFlag, [oMessage]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
@ -668,6 +704,24 @@ MailBoxMessageListViewModel.prototype.initShortcuts = function ()
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// star/flag messages
|
||||||
|
key('s', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
|
if (oData.useKeyboardShortcuts())
|
||||||
|
{
|
||||||
|
self.flagMessagesFast();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// mark as read/unread
|
||||||
|
key('m', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
|
if (oData.useKeyboardShortcuts())
|
||||||
|
{
|
||||||
|
self.seenMessagesFast();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// shortcuts help
|
// shortcuts help
|
||||||
key('shift+/', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
key('shift+/', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
if (oData.useKeyboardShortcuts())
|
if (oData.useKeyboardShortcuts())
|
||||||
|
|
@ -677,6 +731,14 @@ MailBoxMessageListViewModel.prototype.initShortcuts = function ()
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
key('shift+f', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
|
if (oData.useKeyboardShortcuts())
|
||||||
|
{
|
||||||
|
self.multyForwardCommand();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// search input focus
|
// search input focus
|
||||||
key('/', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
key('/', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
if (oData.useKeyboardShortcuts())
|
if (oData.useKeyboardShortcuts())
|
||||||
|
|
|
||||||
|
|
@ -415,8 +415,8 @@ MailBoxMessageViewViewModel.prototype.initShortcuts = function ()
|
||||||
});
|
});
|
||||||
|
|
||||||
// reply
|
// reply
|
||||||
key('r', Enums.KeyState.MessageView, function () {
|
key('r', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
if (oData.useKeyboardShortcuts())
|
if (oData.useKeyboardShortcuts() && oData.message())
|
||||||
{
|
{
|
||||||
self.replyCommand();
|
self.replyCommand();
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -424,8 +424,8 @@ MailBoxMessageViewViewModel.prototype.initShortcuts = function ()
|
||||||
});
|
});
|
||||||
|
|
||||||
// replaAll
|
// replaAll
|
||||||
key('a', Enums.KeyState.MessageView, function () {
|
key('a', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
if (oData.useKeyboardShortcuts())
|
if (oData.useKeyboardShortcuts() && oData.message())
|
||||||
{
|
{
|
||||||
self.replyAllCommand();
|
self.replyAllCommand();
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -433,8 +433,8 @@ MailBoxMessageViewViewModel.prototype.initShortcuts = function ()
|
||||||
});
|
});
|
||||||
|
|
||||||
// forward
|
// forward
|
||||||
key('f', Enums.KeyState.MessageView, function () {
|
key('f', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
if (oData.useKeyboardShortcuts())
|
if (oData.useKeyboardShortcuts() && oData.message())
|
||||||
{
|
{
|
||||||
self.forwardCommand();
|
self.forwardCommand();
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -442,7 +442,7 @@ MailBoxMessageViewViewModel.prototype.initShortcuts = function ()
|
||||||
});
|
});
|
||||||
|
|
||||||
// message information
|
// message information
|
||||||
key('i', Enums.KeyState.MessageView, function () {
|
key('i', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
if (oData.useKeyboardShortcuts())
|
if (oData.useKeyboardShortcuts())
|
||||||
{
|
{
|
||||||
self.showFullInfo(!self.showFullInfo());
|
self.showFullInfo(!self.showFullInfo());
|
||||||
|
|
@ -451,7 +451,7 @@ MailBoxMessageViewViewModel.prototype.initShortcuts = function ()
|
||||||
});
|
});
|
||||||
|
|
||||||
// toggle message blockquotes
|
// toggle message blockquotes
|
||||||
key('b', Enums.KeyState.MessageView, function () {
|
key('b', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
if (oData.useKeyboardShortcuts() && oData.message() && oData.message().body)
|
if (oData.useKeyboardShortcuts() && oData.message() && oData.message().body)
|
||||||
{
|
{
|
||||||
Utils.toggleMessageBlockquote(oData.message().body);
|
Utils.toggleMessageBlockquote(oData.message().body);
|
||||||
|
|
@ -488,15 +488,6 @@ MailBoxMessageViewViewModel.prototype.initShortcuts = function ()
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// archive
|
|
||||||
// key('delete', Enums.KeyState.MessageView, function () {
|
|
||||||
// if (oData.useKeyboardShortcuts())
|
|
||||||
// {
|
|
||||||
// self.archiveCommand();
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
|
|
||||||
// delete
|
// delete
|
||||||
key('delete, shift+delete', Enums.KeyState.MessageView, function (event, handler) {
|
key('delete, shift+delete', Enums.KeyState.MessageView, function (event, handler) {
|
||||||
if (oData.useKeyboardShortcuts() && event)
|
if (oData.useKeyboardShortcuts() && event)
|
||||||
|
|
|
||||||
|
|
@ -12273,6 +12273,68 @@ MailBoxMessageListViewModel.prototype.listUnsetFlags = function ()
|
||||||
this.setAction(RL.data().currentFolderFullNameRaw(), Enums.MessageSetAction.UnsetFlag, RL.data().messageListCheckedOrSelected());
|
this.setAction(RL.data().currentFolderFullNameRaw(), Enums.MessageSetAction.UnsetFlag, RL.data().messageListCheckedOrSelected());
|
||||||
};
|
};
|
||||||
|
|
||||||
|
MailBoxMessageListViewModel.prototype.flagMessages = function (oCurrentMessage)
|
||||||
|
{
|
||||||
|
var
|
||||||
|
aChecked = this.messageListCheckedOrSelected(),
|
||||||
|
aCheckedUids = []
|
||||||
|
;
|
||||||
|
|
||||||
|
if (oCurrentMessage)
|
||||||
|
{
|
||||||
|
if (0 < aChecked.length)
|
||||||
|
{
|
||||||
|
aCheckedUids = _.map(aChecked, function (oMessage) {
|
||||||
|
return oMessage.uid;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (0 < aCheckedUids.length && -1 < Utils.inArray(oCurrentMessage.uid, aCheckedUids))
|
||||||
|
{
|
||||||
|
this.setAction(oCurrentMessage.folderFullNameRaw, oCurrentMessage.flagged() ?
|
||||||
|
Enums.MessageSetAction.UnsetFlag : Enums.MessageSetAction.SetFlag, aChecked);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.setAction(oCurrentMessage.folderFullNameRaw, oCurrentMessage.flagged() ?
|
||||||
|
Enums.MessageSetAction.UnsetFlag : Enums.MessageSetAction.SetFlag, [oCurrentMessage]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
MailBoxMessageListViewModel.prototype.flagMessagesFast = function ()
|
||||||
|
{
|
||||||
|
var
|
||||||
|
aChecked = this.messageListCheckedOrSelected(),
|
||||||
|
aFlagged = []
|
||||||
|
;
|
||||||
|
|
||||||
|
if (0 < aChecked.length)
|
||||||
|
{
|
||||||
|
aFlagged = _.filter(aChecked, function (oMessage) {
|
||||||
|
return oMessage.flagged();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.setAction(aChecked[0].folderFullNameRaw,
|
||||||
|
aChecked.length === aFlagged.length ? Enums.MessageSetAction.UnsetFlag : Enums.MessageSetAction.SetFlag, aChecked);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
MailBoxMessageListViewModel.prototype.seenMessagesFast = function ()
|
||||||
|
{
|
||||||
|
var
|
||||||
|
aChecked = this.messageListCheckedOrSelected(),
|
||||||
|
aUnseen = []
|
||||||
|
;
|
||||||
|
|
||||||
|
aUnseen = _.filter(aChecked, function (oMessage) {
|
||||||
|
return oMessage.unseen();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.setAction(aChecked[0].folderFullNameRaw,
|
||||||
|
0 < aUnseen.length ? Enums.MessageSetAction.SetSeen : Enums.MessageSetAction.UnsetSeen, aChecked);
|
||||||
|
};
|
||||||
|
|
||||||
MailBoxMessageListViewModel.prototype.onBuild = function (oDom)
|
MailBoxMessageListViewModel.prototype.onBuild = function (oDom)
|
||||||
{
|
{
|
||||||
var
|
var
|
||||||
|
|
@ -12338,33 +12400,7 @@ MailBoxMessageListViewModel.prototype.onBuild = function (oDom)
|
||||||
self.checkAll(!self.checkAll());
|
self.checkAll(!self.checkAll());
|
||||||
})
|
})
|
||||||
.on('click', '.messageList .messageListItem .flagParent', function () {
|
.on('click', '.messageList .messageListItem .flagParent', function () {
|
||||||
|
self.flagMessages(ko.dataFor(this));
|
||||||
var
|
|
||||||
oMessage = ko.dataFor(this),
|
|
||||||
aChecked = oData.messageListCheckedOrSelected(),
|
|
||||||
aCheckedUids = []
|
|
||||||
;
|
|
||||||
|
|
||||||
if (oMessage)
|
|
||||||
{
|
|
||||||
if (0 < aChecked.length)
|
|
||||||
{
|
|
||||||
aCheckedUids = _.map(aChecked, function (oMessage) {
|
|
||||||
return oMessage.uid;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (0 < aCheckedUids.length && -1 < Utils.inArray(oMessage.uid, aCheckedUids))
|
|
||||||
{
|
|
||||||
self.setAction(oMessage.folderFullNameRaw, oMessage.flagged() ?
|
|
||||||
Enums.MessageSetAction.UnsetFlag : Enums.MessageSetAction.SetFlag, aChecked);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
self.setAction(oMessage.folderFullNameRaw, oMessage.flagged() ?
|
|
||||||
Enums.MessageSetAction.UnsetFlag : Enums.MessageSetAction.SetFlag, [oMessage]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
@ -12434,6 +12470,24 @@ MailBoxMessageListViewModel.prototype.initShortcuts = function ()
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// star/flag messages
|
||||||
|
key('s', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
|
if (oData.useKeyboardShortcuts())
|
||||||
|
{
|
||||||
|
self.flagMessagesFast();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// mark as read/unread
|
||||||
|
key('m', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
|
if (oData.useKeyboardShortcuts())
|
||||||
|
{
|
||||||
|
self.seenMessagesFast();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// shortcuts help
|
// shortcuts help
|
||||||
key('shift+/', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
key('shift+/', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
if (oData.useKeyboardShortcuts())
|
if (oData.useKeyboardShortcuts())
|
||||||
|
|
@ -12443,6 +12497,14 @@ MailBoxMessageListViewModel.prototype.initShortcuts = function ()
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
key('shift+f', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
|
if (oData.useKeyboardShortcuts())
|
||||||
|
{
|
||||||
|
self.multyForwardCommand();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// search input focus
|
// search input focus
|
||||||
key('/', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
key('/', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
if (oData.useKeyboardShortcuts())
|
if (oData.useKeyboardShortcuts())
|
||||||
|
|
@ -13017,8 +13079,8 @@ MailBoxMessageViewViewModel.prototype.initShortcuts = function ()
|
||||||
});
|
});
|
||||||
|
|
||||||
// reply
|
// reply
|
||||||
key('r', Enums.KeyState.MessageView, function () {
|
key('r', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
if (oData.useKeyboardShortcuts())
|
if (oData.useKeyboardShortcuts() && oData.message())
|
||||||
{
|
{
|
||||||
self.replyCommand();
|
self.replyCommand();
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -13026,8 +13088,8 @@ MailBoxMessageViewViewModel.prototype.initShortcuts = function ()
|
||||||
});
|
});
|
||||||
|
|
||||||
// replaAll
|
// replaAll
|
||||||
key('a', Enums.KeyState.MessageView, function () {
|
key('a', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
if (oData.useKeyboardShortcuts())
|
if (oData.useKeyboardShortcuts() && oData.message())
|
||||||
{
|
{
|
||||||
self.replyAllCommand();
|
self.replyAllCommand();
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -13035,8 +13097,8 @@ MailBoxMessageViewViewModel.prototype.initShortcuts = function ()
|
||||||
});
|
});
|
||||||
|
|
||||||
// forward
|
// forward
|
||||||
key('f', Enums.KeyState.MessageView, function () {
|
key('f', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
if (oData.useKeyboardShortcuts())
|
if (oData.useKeyboardShortcuts() && oData.message())
|
||||||
{
|
{
|
||||||
self.forwardCommand();
|
self.forwardCommand();
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -13044,7 +13106,7 @@ MailBoxMessageViewViewModel.prototype.initShortcuts = function ()
|
||||||
});
|
});
|
||||||
|
|
||||||
// message information
|
// message information
|
||||||
key('i', Enums.KeyState.MessageView, function () {
|
key('i', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
if (oData.useKeyboardShortcuts())
|
if (oData.useKeyboardShortcuts())
|
||||||
{
|
{
|
||||||
self.showFullInfo(!self.showFullInfo());
|
self.showFullInfo(!self.showFullInfo());
|
||||||
|
|
@ -13053,7 +13115,7 @@ MailBoxMessageViewViewModel.prototype.initShortcuts = function ()
|
||||||
});
|
});
|
||||||
|
|
||||||
// toggle message blockquotes
|
// toggle message blockquotes
|
||||||
key('b', Enums.KeyState.MessageView, function () {
|
key('b', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
|
||||||
if (oData.useKeyboardShortcuts() && oData.message() && oData.message().body)
|
if (oData.useKeyboardShortcuts() && oData.message() && oData.message().body)
|
||||||
{
|
{
|
||||||
Utils.toggleMessageBlockquote(oData.message().body);
|
Utils.toggleMessageBlockquote(oData.message().body);
|
||||||
|
|
@ -13090,15 +13152,6 @@ MailBoxMessageViewViewModel.prototype.initShortcuts = function ()
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// archive
|
|
||||||
// key('delete', Enums.KeyState.MessageView, function () {
|
|
||||||
// if (oData.useKeyboardShortcuts())
|
|
||||||
// {
|
|
||||||
// self.archiveCommand();
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
|
|
||||||
// delete
|
// delete
|
||||||
key('delete, shift+delete', Enums.KeyState.MessageView, function (event, handler) {
|
key('delete, shift+delete', Enums.KeyState.MessageView, function (event, handler) {
|
||||||
if (oData.useKeyboardShortcuts() && event)
|
if (oData.useKeyboardShortcuts() && event)
|
||||||
|
|
|
||||||
8
rainloop/v/0.0.0/static/js/app.min.js
vendored
8
rainloop/v/0.0.0/static/js/app.min.js
vendored
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue