Enhance person creation workflow: Add onPersonCreated event handling in Create, CreateModal, and AddPersons. Update type definitions and integrate event emission for streamlined person management.

This commit is contained in:
2025-09-16 13:02:17 +02:00
parent e845f8266b
commit 7d79ffa136
3 changed files with 23 additions and 6 deletions

View File

@@ -36,6 +36,7 @@
action="create"
:query="query"
ref="castPerson"
@onPersonCreated="(payload) => emit('onPersonCreated', payload)"
/>
<on-the-fly-thirdparty
@@ -55,16 +56,19 @@ import {
ONTHEFLY_CREATE_THIRDPARTY,
trans,
} from "translator";
import { CreatableEntityType } from "ChillPersonAssets/types";
import {CreatableEntityType, Person} from "ChillPersonAssets/types";
import { CreateComponentConfig } from "ChillMainAssets/types";
import PersonEdit from "ChillPersonAssets/vuejs/_components/OnTheFly/PersonEdit.vue";
const props = withDefaults(defineProps<CreateComponentConfig>(), {
allowedTypes: ["person", "thirdparty"],
allowedTypes: ["person"],
action: "create",
query: "",
});
const emit = defineEmits<{
(e: "onPersonCreated", payload: { person: Person }): void;
}>();
const type = ref<CreatableEntityType | null>(null);

View File

@@ -4,8 +4,12 @@ import Create from "ChillMainAssets/vuejs/OnTheFly/components/Create.vue";
import { CreateComponentConfig } from "ChillMainAssets/types";
import {trans, SAVE} from "translator";
import {useTemplateRef} from "vue";
import {Person} from "ChillPersonAssets/types";
const emit = defineEmits<(e: "close") => void>();
const emit = defineEmits<{
(e: "onPersonCreated", payload: { person: Person }): void;
(e: "close"): void;
}>();
const props = defineProps<CreateComponentConfig>();
const modalDialogClass = { "modal-xl": true, "modal-scrollable": true };
@@ -40,6 +44,7 @@ defineExpose({save})
:allowedTypes="props.allowedTypes"
:action="props.action"
:query="props.query"
@onPersonCreated="(payload) => emit('onPersonCreated', payload)"
></Create>
</div>
</template>