mirror of
https://github.com/discourse/discourse.git
synced 2025-06-06 13:06:56 +08:00
FEATURE: Add pagination to API keys page (#14777)
This commit is contained in:
@ -1,14 +1,39 @@
|
||||
import Controller from "@ember/controller";
|
||||
import { action } from "@ember/object";
|
||||
import { popupAjaxError } from "discourse/lib/ajax-error";
|
||||
|
||||
export default Controller.extend({
|
||||
actions: {
|
||||
revokeKey(key) {
|
||||
key.revoke().catch(popupAjaxError);
|
||||
},
|
||||
loading: false,
|
||||
|
||||
undoRevokeKey(key) {
|
||||
key.undoRevoke().catch(popupAjaxError);
|
||||
},
|
||||
@action
|
||||
revokeKey(key) {
|
||||
key.revoke().catch(popupAjaxError);
|
||||
},
|
||||
|
||||
@action
|
||||
undoRevokeKey(key) {
|
||||
key.undoRevoke().catch(popupAjaxError);
|
||||
},
|
||||
|
||||
@action
|
||||
loadMore() {
|
||||
if (this.loading || this.model.loaded) {
|
||||
return;
|
||||
}
|
||||
|
||||
const limit = 50;
|
||||
|
||||
this.set("loading", true);
|
||||
this.store
|
||||
.findAll("api-key", { offset: this.model.length, limit })
|
||||
.then((keys) => {
|
||||
this.model.addObjects(keys);
|
||||
if (keys.length < limit) {
|
||||
this.model.set("loaded", true);
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
this.set("loading", false);
|
||||
});
|
||||
},
|
||||
});
|
||||
|
Reference in New Issue
Block a user