refactor(crud): migrate v2 component usages to field-editor-v3

Replaces all active Element_ae_crud_v2 usages with Element_ae_obj_field_editor_v3,
and direct core_func.update_ae_obj_id_crud_v2 calls with api.update_ae_obj_v3.
Adds 'number' field_type to v3 editor. All on_success callbacks trigger SWR
refresh via events_func load functions so liveQuery updates Dexie correctly.

- element_ae_obj_field_editor_v3: add 'number' input type
- ae_comp__event_session_obj_li: replace core_func v2 API calls + dead import
- ae_comp__event_location_obj_li: migrate 2x Element_ae_crud_v2 (name, description)
- ae_tab__manage: migrate 7x Element_ae_crud_v2 (priority/checkbox, numbers, text, tiptap)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Scott Idem
2026-03-05 16:39:29 -05:00
parent c3ec0f88ee
commit cdf56aadcd
4 changed files with 76 additions and 89 deletions

View File

@@ -50,12 +50,12 @@
Clock
} from 'lucide-svelte';
import Element_ae_crud_v2 from '$lib/elements/element_ae_crud_v2.svelte';
import { api } from '$lib/api/api';
import Comp_event_presenter_obj_li from './[event_id]/(pres_mgmt)/presenter/ae_comp__event_presenter_obj_li_wrapper.svelte';
import Element_manage_event_file_li from '$lib/elements/element_manage_event_file_li_direct.svelte';
import Comp_event_session_alert from './[event_id]/(pres_mgmt)/session/ae_comp__event_session_alert.svelte';
import { core_func } from '$lib/ae_core/ae_core_functions';
import { events_func } from '$lib/ae_events_functions';
import { ae_loc, ae_api, ae_snip } from '$lib/stores/ae_stores';
import {
events_loc,
@@ -330,16 +330,19 @@
class="btn btn-icon btn-xs {session_obj?.hide
? 'preset-tonal-error'
: 'preset-tonal-secondary'}"
onclick={() =>
core_func.update_ae_obj_id_crud_v2({
onclick={async () => {
await api.update_ae_obj_v3({
api_cfg: $ae_api,
object_type: 'event_session',
object_id:
session_obj.event_session_id,
field_name: 'hide',
new_field_value: !session_obj.hide,
obj_type: 'event_session',
obj_id: session_obj.event_session_id,
fields: { hide: !session_obj.hide },
log_lvl: 1
})}
});
events_func.load_ae_obj_id__event_session({
api_cfg: $ae_api,
event_session_id: session_obj.event_session_id
});
}}
>
{#if session_obj?.hide}<EyeOff
size="1.2em"
@@ -351,16 +354,19 @@
class="btn btn-icon btn-xs {session_obj?.alert
? 'preset-tonal-warning'
: 'preset-tonal-surface'}"
onclick={() =>
core_func.update_ae_obj_id_crud_v2({
onclick={async () => {
await api.update_ae_obj_v3({
api_cfg: $ae_api,
object_type: 'event_session',
object_id:
session_obj.event_session_id,
field_name: 'alert',
new_field_value: !session_obj.alert,
obj_type: 'event_session',
obj_id: session_obj.event_session_id,
fields: { alert: !session_obj.alert },
log_lvl: 1
})}
});
events_func.load_ae_obj_id__event_session({
api_cfg: $ae_api,
event_session_id: session_obj.event_session_id
});
}}
>
{#if session_obj?.alert}<Bell
size="1.2em"