web: fix lists not being paginated

This commit is contained in:
Jens Langhammer 2021-03-02 15:12:26 +01:00
parent 792fa45dca
commit 5c0ec7554b
23 changed files with 47 additions and 2 deletions

View file

@ -4,7 +4,9 @@ import { NotFoundError, RequestError } from "./Error";
export const VERSION = "v2beta"; export const VERSION = "v2beta";
export interface QueryArguments { export interface QueryArguments {
[key: string]: number | string | boolean | null; page?: number;
page_size?: number;
[key: string]: number | string | boolean | undefined | null;
} }
export interface BaseInheritanceModel { export interface BaseInheritanceModel {

View file

@ -4,3 +4,4 @@ export const ERROR_CLASS = "pf-m-danger";
export const PROGRESS_CLASS = "pf-m-in-progress"; export const PROGRESS_CLASS = "pf-m-in-progress";
export const CURRENT_CLASS = "pf-m-current"; export const CURRENT_CLASS = "pf-m-current";
export const VERSION = "2021.2.6-stable"; export const VERSION = "2021.2.6-stable";
export const PAGE_SIZE = 20;

View file

@ -11,6 +11,7 @@ import "../../elements/buttons/SpinnerButton";
import "../../elements/buttons/Dropdown"; import "../../elements/buttons/Dropdown";
import { Policy } from "../../api/Policies"; import { Policy } from "../../api/Policies";
import { until } from "lit-html/directives/until"; import { until } from "lit-html/directives/until";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-bound-policies-list") @customElement("ak-bound-policies-list")
export class BoundPoliciesList extends Table<PolicyBinding> { export class BoundPoliciesList extends Table<PolicyBinding> {
@ -22,6 +23,7 @@ export class BoundPoliciesList extends Table<PolicyBinding> {
target: this.target || "", target: this.target || "",
ordering: "order", ordering: "order",
page: page, page: page,
page_size: PAGE_SIZE,
}); });
} }

View file

@ -7,6 +7,7 @@ import { TablePage } from "../../elements/table/TablePage";
import "../../elements/buttons/ModalButton"; import "../../elements/buttons/ModalButton";
import "../../elements/buttons/SpinnerButton"; import "../../elements/buttons/SpinnerButton";
import { TableColumn } from "../../elements/table/Table"; import { TableColumn } from "../../elements/table/Table";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-application-list") @customElement("ak-application-list")
export class ApplicationListPage extends TablePage<Application> { export class ApplicationListPage extends TablePage<Application> {
@ -30,6 +31,7 @@ export class ApplicationListPage extends TablePage<Application> {
return Application.list({ return Application.list({
ordering: this.order, ordering: this.order,
page: page, page: page,
page_size: PAGE_SIZE,
search: this.search || "", search: this.search || "",
}); });
} }

View file

@ -7,6 +7,7 @@ import "../../elements/buttons/ModalButton";
import "../../elements/buttons/SpinnerButton"; import "../../elements/buttons/SpinnerButton";
import { TableColumn } from "../../elements/table/Table"; import { TableColumn } from "../../elements/table/Table";
import { CertificateKeyPair } from "../../api/CertificateKeyPair"; import { CertificateKeyPair } from "../../api/CertificateKeyPair";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-crypto-certificatekeypair-list") @customElement("ak-crypto-certificatekeypair-list")
export class CertificateKeyPairListPage extends TablePage<CertificateKeyPair> { export class CertificateKeyPairListPage extends TablePage<CertificateKeyPair> {
@ -32,6 +33,7 @@ export class CertificateKeyPairListPage extends TablePage<CertificateKeyPair> {
return CertificateKeyPair.list({ return CertificateKeyPair.list({
ordering: this.order, ordering: this.order,
page: page, page: page,
page_size: PAGE_SIZE,
search: this.search || "", search: this.search || "",
}); });
} }

View file

@ -2,6 +2,7 @@ import { gettext } from "django";
import { customElement, html, property, TemplateResult } from "lit-element"; import { customElement, html, property, TemplateResult } from "lit-element";
import { AKResponse } from "../../api/Client"; import { AKResponse } from "../../api/Client";
import { Event } from "../../api/Events"; import { Event } from "../../api/Events";
import { PAGE_SIZE } from "../../constants";
import { TableColumn } from "../../elements/table/Table"; import { TableColumn } from "../../elements/table/Table";
import { TablePage } from "../../elements/table/TablePage"; import { TablePage } from "../../elements/table/TablePage";
import { time } from "../../utils"; import { time } from "../../utils";
@ -31,6 +32,7 @@ export class EventListPage extends TablePage<Event> {
return Event.list({ return Event.list({
ordering: this.order, ordering: this.order,
page: page, page: page,
page_size: PAGE_SIZE * 3,
search: this.search || "", search: this.search || "",
}); });
} }

View file

@ -8,6 +8,7 @@ import "../../elements/buttons/ModalButton";
import "../../elements/buttons/SpinnerButton"; import "../../elements/buttons/SpinnerButton";
import { TableColumn } from "../../elements/table/Table"; import { TableColumn } from "../../elements/table/Table";
import { Rule } from "../../api/EventRules"; import { Rule } from "../../api/EventRules";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-event-rule-list") @customElement("ak-event-rule-list")
export class RuleListPage extends TablePage<Rule> { export class RuleListPage extends TablePage<Rule> {
@ -33,6 +34,7 @@ export class RuleListPage extends TablePage<Rule> {
return Rule.list({ return Rule.list({
ordering: this.order, ordering: this.order,
page: page, page: page,
page_size: PAGE_SIZE,
search: this.search || "", search: this.search || "",
}); });
} }

View file

@ -8,6 +8,7 @@ import "../../elements/buttons/ModalButton";
import "../../elements/buttons/SpinnerButton"; import "../../elements/buttons/SpinnerButton";
import { TableColumn } from "../../elements/table/Table"; import { TableColumn } from "../../elements/table/Table";
import { Transport } from "../../api/EventTransports"; import { Transport } from "../../api/EventTransports";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-event-transport-list") @customElement("ak-event-transport-list")
export class TransportListPage extends TablePage<Transport> { export class TransportListPage extends TablePage<Transport> {
@ -31,6 +32,7 @@ export class TransportListPage extends TablePage<Transport> {
return Transport.list({ return Transport.list({
ordering: this.order, ordering: this.order,
page: page, page: page,
page_size: PAGE_SIZE,
search: this.search || "", search: this.search || "",
}); });
} }

View file

@ -11,6 +11,7 @@ import "../../elements/buttons/Dropdown";
import "../../elements/policies/BoundPoliciesList"; import "../../elements/policies/BoundPoliciesList";
import { FlowStageBinding, Stage } from "../../api/Flows"; import { FlowStageBinding, Stage } from "../../api/Flows";
import { until } from "lit-html/directives/until"; import { until } from "lit-html/directives/until";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-bound-stages-list") @customElement("ak-bound-stages-list")
export class BoundStagesList extends Table<FlowStageBinding> { export class BoundStagesList extends Table<FlowStageBinding> {
@ -24,6 +25,7 @@ export class BoundStagesList extends Table<FlowStageBinding> {
target: this.target || "", target: this.target || "",
ordering: "order", ordering: "order",
page: page, page: page,
page_size: PAGE_SIZE,
}); });
} }

View file

@ -7,6 +7,7 @@ import { TablePage } from "../../elements/table/TablePage";
import "../../elements/buttons/ModalButton"; import "../../elements/buttons/ModalButton";
import "../../elements/buttons/SpinnerButton"; import "../../elements/buttons/SpinnerButton";
import { TableColumn } from "../../elements/table/Table"; import { TableColumn } from "../../elements/table/Table";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-flow-list") @customElement("ak-flow-list")
export class FlowListPage extends TablePage<Flow> { export class FlowListPage extends TablePage<Flow> {
@ -30,6 +31,7 @@ export class FlowListPage extends TablePage<Flow> {
return Flow.list({ return Flow.list({
ordering: this.order, ordering: this.order,
page: page, page: page,
page_size: PAGE_SIZE,
search: this.search || "", search: this.search || "",
}); });
} }

View file

@ -7,6 +7,7 @@ import "../../elements/buttons/ModalButton";
import "../../elements/buttons/SpinnerButton"; import "../../elements/buttons/SpinnerButton";
import { TableColumn } from "../../elements/table/Table"; import { TableColumn } from "../../elements/table/Table";
import { Group } from "../../api/Groups"; import { Group } from "../../api/Groups";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-group-list") @customElement("ak-group-list")
export class GroupListPage extends TablePage<Group> { export class GroupListPage extends TablePage<Group> {
@ -30,6 +31,7 @@ export class GroupListPage extends TablePage<Group> {
return Group.list({ return Group.list({
ordering: this.order, ordering: this.order,
page: page, page: page,
page_size: PAGE_SIZE,
search: this.search || "", search: this.search || "",
}); });
} }

View file

@ -10,6 +10,7 @@ import "./OutpostHealth";
import "../../elements/buttons/SpinnerButton"; import "../../elements/buttons/SpinnerButton";
import "../../elements/buttons/ModalButton"; import "../../elements/buttons/ModalButton";
import "../../elements/buttons/TokenCopyButton"; import "../../elements/buttons/TokenCopyButton";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-outpost-list") @customElement("ak-outpost-list")
export class OutpostListPage extends TablePage<Outpost> { export class OutpostListPage extends TablePage<Outpost> {
@ -29,6 +30,7 @@ export class OutpostListPage extends TablePage<Outpost> {
return Outpost.list({ return Outpost.list({
ordering: this.order, ordering: this.order,
page: page, page: page,
page_size: PAGE_SIZE,
search: this.search || "", search: this.search || "",
}); });
} }

View file

@ -11,6 +11,7 @@ import "../../elements/buttons/SpinnerButton";
import "../../elements/buttons/ModalButton"; import "../../elements/buttons/ModalButton";
import "../../elements/buttons/Dropdown"; import "../../elements/buttons/Dropdown";
import { until } from "lit-html/directives/until"; import { until } from "lit-html/directives/until";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-outpost-service-connection-list") @customElement("ak-outpost-service-connection-list")
export class OutpostServiceConnectionListPage extends TablePage<OutpostServiceConnection> { export class OutpostServiceConnectionListPage extends TablePage<OutpostServiceConnection> {
@ -31,6 +32,7 @@ export class OutpostServiceConnectionListPage extends TablePage<OutpostServiceCo
return OutpostServiceConnection.list({ return OutpostServiceConnection.list({
ordering: this.order, ordering: this.order,
page: page, page: page,
page_size: PAGE_SIZE,
search: this.search || "", search: this.search || "",
}); });
} }

View file

@ -9,6 +9,7 @@ import "../../elements/buttons/SpinnerButton";
import { TableColumn } from "../../elements/table/Table"; import { TableColumn } from "../../elements/table/Table";
import { Policy } from "../../api/Policies"; import { Policy } from "../../api/Policies";
import { until } from "lit-html/directives/until"; import { until } from "lit-html/directives/until";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-policy-list") @customElement("ak-policy-list")
export class PolicyListPage extends TablePage<Policy> { export class PolicyListPage extends TablePage<Policy> {
@ -31,7 +32,8 @@ export class PolicyListPage extends TablePage<Policy> {
apiEndpoint(page: number): Promise<AKResponse<Policy>> { apiEndpoint(page: number): Promise<AKResponse<Policy>> {
return Policy.list({ return Policy.list({
ordering: this.order, ordering: this.order,
page: page, page: page,
page_size: PAGE_SIZE,
search: this.search || "", search: this.search || "",
}); });
} }

View file

@ -9,6 +9,7 @@ import "../../elements/buttons/Dropdown";
import "../../elements/buttons/SpinnerButton"; import "../../elements/buttons/SpinnerButton";
import { TableColumn } from "../../elements/table/Table"; import { TableColumn } from "../../elements/table/Table";
import { until } from "lit-html/directives/until"; import { until } from "lit-html/directives/until";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-property-mapping-list") @customElement("ak-property-mapping-list")
export class PropertyMappingListPage extends TablePage<PropertyMapping> { export class PropertyMappingListPage extends TablePage<PropertyMapping> {
@ -35,6 +36,7 @@ export class PropertyMappingListPage extends TablePage<PropertyMapping> {
return PropertyMapping.list({ return PropertyMapping.list({
ordering: this.order, ordering: this.order,
page: page, page: page,
page_size: PAGE_SIZE,
search: this.search || "", search: this.search || "",
managed__isnull: this.hideManaged, managed__isnull: this.hideManaged,
}); });

View file

@ -9,6 +9,7 @@ import "../../elements/buttons/SpinnerButton";
import "../../elements/buttons/Dropdown"; import "../../elements/buttons/Dropdown";
import { TableColumn } from "../../elements/table/Table"; import { TableColumn } from "../../elements/table/Table";
import { until } from "lit-html/directives/until"; import { until } from "lit-html/directives/until";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-provider-list") @customElement("ak-provider-list")
export class ProviderListPage extends TablePage<Provider> { export class ProviderListPage extends TablePage<Provider> {
@ -32,6 +33,7 @@ export class ProviderListPage extends TablePage<Provider> {
return Provider.list({ return Provider.list({
ordering: this.order, ordering: this.order,
page: page, page: page,
page_size: PAGE_SIZE,
search: this.search || "", search: this.search || "",
}); });
} }

View file

@ -9,6 +9,7 @@ import "../../elements/buttons/ModalButton";
import "../../elements/buttons/SpinnerButton"; import "../../elements/buttons/SpinnerButton";
import "../../elements/buttons/Dropdown"; import "../../elements/buttons/Dropdown";
import { until } from "lit-html/directives/until"; import { until } from "lit-html/directives/until";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-source-list") @customElement("ak-source-list")
export class SourceListPage extends TablePage<Source> { export class SourceListPage extends TablePage<Source> {
@ -32,6 +33,7 @@ export class SourceListPage extends TablePage<Source> {
return Source.list({ return Source.list({
ordering: this.order, ordering: this.order,
page: page, page: page,
page_size: PAGE_SIZE,
search: this.search || "", search: this.search || "",
}); });
} }

View file

@ -7,6 +7,7 @@ import "../../elements/buttons/ModalButton";
import "../../elements/buttons/SpinnerButton"; import "../../elements/buttons/SpinnerButton";
import { TableColumn } from "../../elements/table/Table"; import { TableColumn } from "../../elements/table/Table";
import { Invitation } from "../../api/Invitations"; import { Invitation } from "../../api/Invitations";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-stage-invitation-list") @customElement("ak-stage-invitation-list")
export class InvitationListPage extends TablePage<Invitation> { export class InvitationListPage extends TablePage<Invitation> {
@ -30,6 +31,7 @@ export class InvitationListPage extends TablePage<Invitation> {
return Invitation.list({ return Invitation.list({
ordering: this.order, ordering: this.order,
page: page, page: page,
page_size: PAGE_SIZE,
search: this.search || "", search: this.search || "",
}); });
} }

View file

@ -7,6 +7,7 @@ import "../../elements/buttons/ModalButton";
import "../../elements/buttons/SpinnerButton"; import "../../elements/buttons/SpinnerButton";
import { TableColumn } from "../../elements/table/Table"; import { TableColumn } from "../../elements/table/Table";
import { Prompt } from "../../api/Prompts"; import { Prompt } from "../../api/Prompts";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-stage-prompt-list") @customElement("ak-stage-prompt-list")
export class PromptListPage extends TablePage<Prompt> { export class PromptListPage extends TablePage<Prompt> {
@ -30,6 +31,7 @@ export class PromptListPage extends TablePage<Prompt> {
return Prompt.list({ return Prompt.list({
ordering: this.order, ordering: this.order,
page: page, page: page,
page_size: PAGE_SIZE,
search: this.search || "", search: this.search || "",
}); });
} }

View file

@ -9,6 +9,7 @@ import "../../elements/buttons/SpinnerButton";
import "../../elements/buttons/Dropdown"; import "../../elements/buttons/Dropdown";
import { until } from "lit-html/directives/until"; import { until } from "lit-html/directives/until";
import { Stage } from "../../api/Flows"; import { Stage } from "../../api/Flows";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-stage-list") @customElement("ak-stage-list")
export class StageListPage extends TablePage<Stage> { export class StageListPage extends TablePage<Stage> {
@ -32,6 +33,7 @@ export class StageListPage extends TablePage<Stage> {
return Stage.list({ return Stage.list({
ordering: this.order, ordering: this.order,
page: page, page: page,
page_size: PAGE_SIZE,
search: this.search || "", search: this.search || "",
}); });
} }

View file

@ -8,6 +8,7 @@ import "../../elements/buttons/Dropdown";
import "../../elements/buttons/TokenCopyButton"; import "../../elements/buttons/TokenCopyButton";
import { TableColumn } from "../../elements/table/Table"; import { TableColumn } from "../../elements/table/Table";
import { Token } from "../../api/Tokens"; import { Token } from "../../api/Tokens";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-token-list") @customElement("ak-token-list")
export class TokenListPage extends TablePage<Token> { export class TokenListPage extends TablePage<Token> {
@ -31,6 +32,7 @@ export class TokenListPage extends TablePage<Token> {
return Token.list({ return Token.list({
ordering: this.order, ordering: this.order,
page: page, page: page,
page_size: PAGE_SIZE,
search: this.search || "", search: this.search || "",
}); });
} }

View file

@ -7,6 +7,7 @@ import "../../elements/buttons/Dropdown";
import "../../elements/buttons/TokenCopyButton"; import "../../elements/buttons/TokenCopyButton";
import { Table, TableColumn } from "../../elements/table/Table"; import { Table, TableColumn } from "../../elements/table/Table";
import { Token } from "../../api/Tokens"; import { Token } from "../../api/Tokens";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-token-user-list") @customElement("ak-token-user-list")
export class UserTokenList extends Table<Token> { export class UserTokenList extends Table<Token> {
@ -21,6 +22,7 @@ export class UserTokenList extends Table<Token> {
return Token.list({ return Token.list({
ordering: this.order, ordering: this.order,
page: page, page: page,
page_size: PAGE_SIZE,
search: this.search || "", search: this.search || "",
}); });
} }

View file

@ -8,6 +8,7 @@ import "../../elements/buttons/Dropdown";
import "../../elements/buttons/ActionButton"; import "../../elements/buttons/ActionButton";
import { TableColumn } from "../../elements/table/Table"; import { TableColumn } from "../../elements/table/Table";
import { User } from "../../api/Users"; import { User } from "../../api/Users";
import { PAGE_SIZE } from "../../constants";
@customElement("ak-user-list") @customElement("ak-user-list")
export class UserListPage extends TablePage<User> { export class UserListPage extends TablePage<User> {
@ -31,6 +32,7 @@ export class UserListPage extends TablePage<User> {
return User.list({ return User.list({
ordering: this.order, ordering: this.order,
page: page, page: page,
page_size: PAGE_SIZE,
search: this.search || "", search: this.search || "",
}); });
} }