web/admin: show stage binding form when creating stage in bound list
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
@ -141,14 +141,18 @@ export class BoundStagesList extends Table<FlowStageBinding> {
|
||||
|
||||
renderToolbar(): TemplateResult {
|
||||
return html`
|
||||
<ak-stage-wizard
|
||||
createText=${t`Create & bind Stage`}
|
||||
?showBindingPage=${true}
|
||||
bindingTarget=${ifDefined(this.target)}
|
||||
></ak-stage-wizard>
|
||||
<ak-forms-modal>
|
||||
<span slot="submit"> ${t`Create`} </span>
|
||||
<span slot="header"> ${t`Create Stage binding`} </span>
|
||||
<ak-stage-binding-form slot="form" targetPk=${ifDefined(this.target)}>
|
||||
</ak-stage-binding-form>
|
||||
<button slot="trigger" class="pf-c-button pf-m-primary">${t`Bind stage`}</button>
|
||||
<button slot="trigger" class="pf-c-button pf-m-primary">${t`Bind existing stage`}</button>
|
||||
</ak-forms-modal>
|
||||
<ak-stage-wizard createText=${t`Create Stage`}></ak-stage-wizard>
|
||||
${super.renderToolbar()}
|
||||
`;
|
||||
}
|
||||
|
||||
@ -31,7 +31,7 @@ export class StageBindingForm extends ModelForm<FlowStageBinding, string> {
|
||||
targetPk?: string;
|
||||
|
||||
getSuccessMessage(): string {
|
||||
if (this.instance) {
|
||||
if (this.instance?.pk) {
|
||||
return t`Successfully updated binding.`;
|
||||
} else {
|
||||
return t`Successfully created binding.`;
|
||||
@ -39,9 +39,9 @@ export class StageBindingForm extends ModelForm<FlowStageBinding, string> {
|
||||
}
|
||||
|
||||
send = (data: FlowStageBinding): Promise<FlowStageBinding> => {
|
||||
if (this.instance) {
|
||||
if (this.instance?.pk) {
|
||||
return new FlowsApi(DEFAULT_CONFIG).flowsBindingsUpdate({
|
||||
fsbUuid: this.instance.pk || "",
|
||||
fsbUuid: this.instance.pk,
|
||||
flowStageBindingRequest: data,
|
||||
});
|
||||
} else {
|
||||
@ -67,21 +67,18 @@ export class StageBindingForm extends ModelForm<FlowStageBinding, string> {
|
||||
`;
|
||||
}
|
||||
|
||||
getOrder(): Promise<number> {
|
||||
if (this.instance) {
|
||||
return Promise.resolve(this.instance.order);
|
||||
async getOrder(): Promise<number> {
|
||||
if (this.instance?.pk) {
|
||||
return this.instance.order;
|
||||
}
|
||||
return new FlowsApi(DEFAULT_CONFIG)
|
||||
.flowsBindingsList({
|
||||
target: this.targetPk || "",
|
||||
})
|
||||
.then((bindings) => {
|
||||
const orders = bindings.results.map((binding) => binding.order);
|
||||
if (orders.length < 1) {
|
||||
return 0;
|
||||
}
|
||||
return Math.max(...orders) + 1;
|
||||
});
|
||||
const bindings = await new FlowsApi(DEFAULT_CONFIG).flowsBindingsList({
|
||||
target: this.targetPk || "",
|
||||
});
|
||||
const orders = bindings.results.map((binding) => binding.order);
|
||||
if (orders.length < 1) {
|
||||
return 0;
|
||||
}
|
||||
return Math.max(...orders) + 1;
|
||||
}
|
||||
|
||||
renderTarget(): TemplateResult {
|
||||
|
||||
Reference in New Issue
Block a user