Done for the day
This commit is contained in:
@@ -28,37 +28,49 @@ let event_exhibit_obj = liveQuery(
|
||||
// .where('event_exhibit_id_random')
|
||||
// .equals($events_slct.exhibit_id)
|
||||
// // .above(0)
|
||||
// .sortBy('created_on') // Use sortBy() instead of orderBy(). toArray() is also not needed???
|
||||
// .sortBy('created_on')
|
||||
// // .orderBy('name')
|
||||
// // .offset(10).limit(5)
|
||||
// // .toArray()
|
||||
// );
|
||||
|
||||
|
||||
// Testing examples:
|
||||
// Use sortBy() instead of orderBy()
|
||||
// toArray() is also not needed???
|
||||
|
||||
// .where({event_exhibit_id_random: $events_slct.exhibit_id, enable: true, hide: false})
|
||||
// .where({event_exhibit_id_random: $events_slct.exhibit_id})
|
||||
// .where('event_exhibit_id_random').equals($events_slct.exhibit_id)
|
||||
// .and('enable').equals(true)
|
||||
// .reverse()
|
||||
// .sortBy('updated_on') // Use sortBy() instead of orderBy().
|
||||
|
||||
// .sortBy('updated_on')
|
||||
// .reverse()
|
||||
// .sortBy('created_on') // Use sortBy() instead of orderBy(). toArray() is also not needed???
|
||||
// .sortBy('created_on')
|
||||
// .toArray()
|
||||
// .sortBy('created_on')
|
||||
// .reverse()
|
||||
// .sortBy('priority') // , 'sort', 'created_on', 'updated_on')
|
||||
|
||||
// () => db_events.exhibits.toArray()
|
||||
|
||||
// Version 2: This needs work...
|
||||
// This is using Dexie JS as a wrapper for IndexedDB
|
||||
// This should only show exhibit_tracking objects that are enabled and not hidden.
|
||||
// The final results should be sorted by priority, sort, created_on DESC, updated_on DESC
|
||||
let event_exhibit_tracking_obj_li = liveQuery(
|
||||
// () => db_events.exhibits.toArray()
|
||||
// The final results should be sorted by: priority DESC, sort ASC, created_on DESC, updated_on DESC
|
||||
$: event_exhibit_tracking_obj_li = liveQuery(
|
||||
() => db_events.exhibit_tracking
|
||||
.where({event_exhibit_id_random: $events_slct.exhibit_id})
|
||||
// .and('enable').equals(true)
|
||||
.and((x) => (x.enable === true && x.hide === false))
|
||||
.reverse()
|
||||
.sortBy('created_on') // Use sortBy() instead of orderBy().
|
||||
.sortBy('priority')
|
||||
// .orderBy("priority")
|
||||
// .orderBy("sort")
|
||||
// .orderBy("created_on", "desc")
|
||||
// .orderBy("updated_on", "desc")
|
||||
// .sortBy('priority') // Initial sort
|
||||
// .thenBy('created_on', 'desc')
|
||||
// .thenBy('sort') // Secondary sort
|
||||
// .thenBy('updated_on', 'desc')
|
||||
);
|
||||
|
||||
|
||||
|
||||
@@ -1,19 +1,32 @@
|
||||
<script lang="ts">
|
||||
// export let data;
|
||||
// console.log(`ae_events_leads exhibit [slug] leads_manage.svelte data:`, data);
|
||||
console.log(`ae_events_leads exhibit [slug] leads_manage.svelte`);
|
||||
|
||||
import type { key_val } from '$lib/ae_stores';
|
||||
import { ae_util } from '$lib/ae_utils';
|
||||
import { liveQuery } from "dexie";
|
||||
import { db_events } from "$lib/db_events";
|
||||
import { ae_loc, ae_sess, ae_api, slct, slct_trigger } from '$lib/ae_stores';
|
||||
import { events_loc, events_sess, events_slct, events_trigger } from '$lib/ae_events_stores';
|
||||
import { events_func } from '$lib/ae_events_functions';
|
||||
|
||||
// let param_slug_event_exhibit_id = data.params.slug;
|
||||
import Element_ae_crud from '$lib/element_ae_crud.svelte';
|
||||
|
||||
let event_exhibit_obj = liveQuery(
|
||||
// These will likely be used for patch/update triggers. Maybe delete?
|
||||
let ae_triggers: key_val = {};
|
||||
|
||||
$: event_exhibit_obj = liveQuery(
|
||||
() => db_events.exhibits.get($events_slct.exhibit_id)
|
||||
);
|
||||
|
||||
// Quickly reload the data for this AE object from the API/DB
|
||||
// WARNING: This is triggered with every change to the parent object: $events_slct. This needs to be dealt with here and in other locations.
|
||||
$: if ($events_slct.exhibit_id) {
|
||||
console.log(`Reloading exhibit object:`, $events_slct.exhibit_id);
|
||||
events_func.handle_load_ae_obj_id__exhibit({api_cfg: $ae_api, exhibit_id: $events_slct.exhibit_id});
|
||||
|
||||
// $events_slct.exhibit_obj = $event_exhibit_obj;
|
||||
}
|
||||
|
||||
|
||||
// Updated 2022-04-22
|
||||
export let get_event_exhibit_tracking_export = async function get_event_exhibit_tracking_export({event_exhibit_id, file_type='CSV', return_file=true, filename=null, auto_download=false, params={}, log_lvl=0}) {
|
||||
@@ -111,6 +124,165 @@ export let get_event_exhibit_tracking_export = async function get_event_exhibit_
|
||||
{/if}
|
||||
|
||||
|
||||
{#if $ae_loc.administrator_access}
|
||||
<!-- Priority (paid) means this exhibit has paid for their license(s). They will also appear at the top of lists. -->
|
||||
<Element_ae_crud
|
||||
trigger_patch={ae_triggers.priority}
|
||||
api_cfg={$ae_api}
|
||||
object_type={'event_exhibit'}
|
||||
object_id={$event_exhibit_obj?.event_exhibit_id_random}
|
||||
field_name={'priority'}
|
||||
field_type={'button'}
|
||||
field_value={$events_slct.exhibit_obj.priority}
|
||||
allow_null={false}
|
||||
hide_edit_btn={true}
|
||||
outline_element={false}
|
||||
show_crud={false}
|
||||
display_inline={true}
|
||||
class_li={'m-1'}
|
||||
on:ae_crud_updated={e => {
|
||||
console.log(`ae_crud_updated event:`, e.detail);
|
||||
events_func.handle_load_ae_obj_id__exhibit({api_cfg: $ae_api, exhibit_id: $events_slct.exhibit_id});
|
||||
}}
|
||||
>
|
||||
{@html ($event_exhibit_obj?.priority ? '<span class="fas fa-hand-holding-usd m-1"></span> Paid' : '<span class="fas fa-search-dollar m-1"></span> Not Paid')}
|
||||
<button
|
||||
type="button"
|
||||
on:click={() => {
|
||||
$events_slct.exhibit_obj.priority = !$event_exhibit_obj?.priority;
|
||||
ae_triggers.priority = true;
|
||||
}}
|
||||
class="btn btn-sm variant-soft-warning"
|
||||
>
|
||||
{@html ($event_exhibit_obj?.priority ? '<span class="fas fa-sync m-1"></span> Not paid?' : '<span class="fa fa-sync m-1"></span> Mark as paid?')}
|
||||
</button>
|
||||
</Element_ae_crud>
|
||||
|
||||
|
||||
<!-- Field for license_max. A number between 0 and 10. -->
|
||||
<Element_ae_crud
|
||||
trigger_patch={ae_triggers.license_max}
|
||||
api_cfg={$ae_api}
|
||||
object_type={'event_exhibit'}
|
||||
object_id={$event_exhibit_obj?.event_exhibit_id_random}
|
||||
field_name={'license_max'}
|
||||
field_type={'text'}
|
||||
field_value={$events_slct.exhibit_obj.license_max}
|
||||
allow_null={false}
|
||||
hide_edit_btn={true}
|
||||
outline_element={false}
|
||||
show_crud={false}
|
||||
display_inline={true}
|
||||
class_li={'m-1'}
|
||||
on:ae_crud_updated={e => {
|
||||
console.log(`ae_crud_updated event:`, e.detail);
|
||||
events_func.handle_load_ae_obj_id__exhibit({api_cfg: $ae_api, exhibit_id: $events_slct.exhibit_id});
|
||||
}}
|
||||
>
|
||||
Max licenses:
|
||||
{@html ($events_slct.exhibit_obj?.license_max ? `<span class="fas fa-users m-1"></span> ${$events_slct.exhibit_obj.license_max}` : '<span class="fas fa-users m-1"></span> 0')}
|
||||
<input
|
||||
type="number" min="0" max="10" step="1"
|
||||
bind:value={$events_slct.exhibit_obj.license_max}
|
||||
|
||||
class="input w-16 m-1"
|
||||
/>
|
||||
<button
|
||||
type="button"
|
||||
on:click={() => {
|
||||
// $events_slct.exhibit_obj.license_max = 0;
|
||||
ae_triggers.license_max = true;
|
||||
}}
|
||||
class="btn btn-sm variant-soft-warning"
|
||||
>
|
||||
<span class="fas fa-save m-1"></span>
|
||||
Save
|
||||
</Element_ae_crud>
|
||||
|
||||
<!-- Field for leads_device_sm_qty. A number between 0 and 10. -->
|
||||
<Element_ae_crud
|
||||
trigger_patch={ae_triggers.leads_device_sm_qty}
|
||||
api_cfg={$ae_api}
|
||||
object_type={'event_exhibit'}
|
||||
object_id={$event_exhibit_obj?.event_exhibit_id_random}
|
||||
field_name={'leads_device_sm_qty'}
|
||||
field_type={'text'}
|
||||
field_value={$events_slct.exhibit_obj.leads_device_sm_qty}
|
||||
allow_null={false}
|
||||
hide_edit_btn={true}
|
||||
outline_element={false}
|
||||
show_crud={false}
|
||||
display_inline={true}
|
||||
class_li={'m-1'}
|
||||
on:ae_crud_updated={e => {
|
||||
console.log(`ae_crud_updated event:`, e.detail);
|
||||
events_func.handle_load_ae_obj_id__exhibit({api_cfg: $ae_api, exhibit_id: $events_slct.exhibit_id});
|
||||
}}
|
||||
>
|
||||
Small devices:
|
||||
{@html ($events_slct.exhibit_obj?.leads_device_sm_qty ? `<span class="fas fa-mobile-alt m-1"></span> ${$events_slct.exhibit_obj.leads_device_sm_qty}` : '<span class="fas fa-mobile-alt m-1"></span> 0')}
|
||||
<input
|
||||
type="number" min="0" max="10" step="1"
|
||||
bind:value={$events_slct.exhibit_obj.leads_device_sm_qty}
|
||||
|
||||
class="input w-16 m-1"
|
||||
/>
|
||||
<button
|
||||
type="button"
|
||||
on:click={() => {
|
||||
// $events_slct.exhibit_obj.leads_device_sm_qty = 0;
|
||||
ae_triggers.leads_device_sm_qty = true;
|
||||
}}
|
||||
class="btn btn-sm variant-soft-warning"
|
||||
>
|
||||
<span class="fas fa-save m-1"></span>
|
||||
Save
|
||||
</Element_ae_crud>
|
||||
|
||||
<!-- Field for leads_device_lg_qty. A number between 0 and 10. -->
|
||||
<Element_ae_crud
|
||||
trigger_patch={ae_triggers.leads_device_lg_qty}
|
||||
api_cfg={$ae_api}
|
||||
object_type={'event_exhibit'}
|
||||
object_id={$event_exhibit_obj?.event_exhibit_id_random}
|
||||
field_name={'leads_device_lg_qty'}
|
||||
field_type={'text'}
|
||||
field_value={$events_slct.exhibit_obj.leads_device_lg_qty}
|
||||
allow_null={false}
|
||||
hide_edit_btn={true}
|
||||
outline_element={false}
|
||||
show_crud={false}
|
||||
display_inline={true}
|
||||
class_li={'m-1'}
|
||||
on:ae_crud_updated={e => {
|
||||
console.log(`ae_crud_updated event:`, e.detail);
|
||||
events_func.handle_load_ae_obj_id__exhibit({api_cfg: $ae_api, exhibit_id: $events_slct.exhibit_id});
|
||||
}}
|
||||
>
|
||||
Large devices:
|
||||
{@html ($events_slct.exhibit_obj?.leads_device_lg_qty ? `<span class="fas fa-tablet-alt m-1"></span> ${$events_slct.exhibit_obj.leads_device_lg_qty}` : '<span class="fas fa-tablet-alt m-1"></span> 0')}
|
||||
<input
|
||||
type="number" min="0" max="10" step="1"
|
||||
bind:value={$events_slct.exhibit_obj.leads_device_lg_qty}
|
||||
|
||||
class="input w-16 m-1"
|
||||
/>
|
||||
<button
|
||||
type="button"
|
||||
on:click={() => {
|
||||
// $events_slct.exhibit_obj.leads_device_lg_qty = 0;
|
||||
ae_triggers.leads_device_lg_qty = true;
|
||||
}}
|
||||
class="btn btn-sm variant-soft-warning"
|
||||
>
|
||||
<span class="fas fa-save m-1"></span>
|
||||
Save
|
||||
</Element_ae_crud>
|
||||
|
||||
|
||||
{/if}
|
||||
|
||||
|
||||
{#if $events_loc?.leads.auth_exhibit_kv[$events_slct.exhibit_id].key}
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<script lang="ts">
|
||||
console.log(`ae_events_leads exhibit [slug] leads_view.svelte`);
|
||||
|
||||
import type { key_val } from '$lib/ae_stores';
|
||||
import { ae_util } from '$lib/ae_utils';
|
||||
import { liveQuery } from "dexie";
|
||||
import { db_events } from "$lib/db_events";
|
||||
@@ -8,6 +9,10 @@ import { ae_loc, ae_sess, ae_api, slct, slct_trigger } from '$lib/ae_stores';
|
||||
import { events_loc, events_sess, events_slct, events_trigger } from '$lib/ae_events_stores';
|
||||
import { events_func } from '$lib/ae_events_functions';
|
||||
|
||||
import Element_ae_crud from '$lib/element_ae_crud.svelte';
|
||||
|
||||
// These will likely be used for patch/update triggers. Maybe delete?
|
||||
let ae_triggers: key_val = {};
|
||||
|
||||
$: event_exhibit_obj = liveQuery(
|
||||
() => db_events.exhibits.get($events_slct.exhibit_id)
|
||||
@@ -17,6 +22,12 @@ $: event_exhibit_tracking_obj = liveQuery(
|
||||
() => db_events.exhibit_tracking.get($events_slct.exhibit_tracking_id)
|
||||
);
|
||||
|
||||
// Quickly reload the data for this AE object from the API/DB
|
||||
$: if ($events_slct.exhibit_tracking_id) {
|
||||
console.log(`Reloading exhibit_tracking object:`, $events_slct.exhibit_tracking_id);
|
||||
events_func.handle_load_ae_obj_id__exhibit_tracking({api_cfg: $ae_api, exhibit_tracking_id: $events_slct.exhibit_tracking_id});
|
||||
}
|
||||
|
||||
|
||||
function handle_submit_form_lead_update() {
|
||||
|
||||
@@ -45,7 +56,15 @@ function handle_submit_form_lead_update() {
|
||||
"
|
||||
>
|
||||
<header class="popover__header flex gap-1 justify-between items-center p-1 border-b">
|
||||
<h2 class="h3">Lead: {$event_exhibit_tracking_obj?.event_badge_full_name} ({$event_exhibit_tracking_obj?.event_exhibit_tracking_id_random})</h2>
|
||||
<h2 class="h3">Lead:
|
||||
{@html ($event_exhibit_tracking_obj?.priority ? '<span class="fas fa-star m-1"></span>' : '<span class="far fa-star m-1 hidden"></span>')}
|
||||
|
||||
{$event_exhibit_tracking_obj?.event_badge_full_name}
|
||||
<span class="text-xs text-slate-500">
|
||||
ID:
|
||||
{$event_exhibit_tracking_obj?.event_exhibit_tracking_id_random}
|
||||
</span>
|
||||
</h2>
|
||||
|
||||
<div class="popover__actions">
|
||||
<button
|
||||
@@ -110,6 +129,94 @@ function handle_submit_form_lead_update() {
|
||||
{/if}
|
||||
</div> <!-- .readonly_values -->
|
||||
|
||||
|
||||
<div class="
|
||||
flex flex-row wrap gap-1
|
||||
items-center justify-evenly
|
||||
content-evenly
|
||||
w-full
|
||||
"
|
||||
>
|
||||
|
||||
<!-- Priority (star) means this should be sorted at the top of lists. -->
|
||||
<Element_ae_crud
|
||||
trigger_patch={ae_triggers.priority}
|
||||
api_cfg={$ae_api}
|
||||
object_type={'event_exhibit_tracking'}
|
||||
object_id={$event_exhibit_tracking_obj?.event_exhibit_tracking_id_random}
|
||||
field_name={'priority'}
|
||||
field_type={'button'}
|
||||
field_value={$events_slct.exhibit_tracking_obj.priority}
|
||||
allow_null={false}
|
||||
hide_edit_btn={true}
|
||||
outline_element={false}
|
||||
show_crud={false}
|
||||
display_inline={true}
|
||||
class_li={'m-1'}
|
||||
on:ae_crud_updated={e => {
|
||||
console.log(`ae_crud_updated event:`, e.detail);
|
||||
events_func.handle_load_ae_obj_id__exhibit_tracking({api_cfg: $ae_api, exhibit_tracking_id: $events_slct.exhibit_tracking_id});
|
||||
}}
|
||||
>
|
||||
{@html ($event_exhibit_tracking_obj?.priority ? '<span class="fas fa-star m-1"></span> Stared' : '<span class="far fa-star m-1"></span> Not Stared')}
|
||||
<button
|
||||
type="button"
|
||||
on:click={() => {
|
||||
$events_slct.exhibit_tracking_obj.priority = !$event_exhibit_tracking_obj?.priority;
|
||||
ae_triggers.priority = true;
|
||||
}}
|
||||
class="btn btn-sm variant-soft-warning"
|
||||
>
|
||||
{@html ($event_exhibit_tracking_obj?.priority ? '<span class="fas fa-sync m-1"></span> Remove?' : '<span class="fa fa-sync m-1"></span> Star?')}
|
||||
</button>
|
||||
</Element_ae_crud>
|
||||
|
||||
<!-- Sort (rank) is a rank from 1 to 5 with 1 being the highest ranked. This should be a group of 5 buttons in a row. Use Tailwind CSS. -->
|
||||
<Element_ae_crud
|
||||
trigger_patch={ae_triggers.sort}
|
||||
api_cfg={$ae_api}
|
||||
object_type={'event_exhibit_tracking'}
|
||||
object_id={$event_exhibit_tracking_obj?.event_exhibit_tracking_id_random}
|
||||
field_name={'sort'}
|
||||
field_type={'button'}
|
||||
field_value={$events_slct.exhibit_tracking_obj.sort}
|
||||
allow_null={false}
|
||||
hide_edit_btn={true}
|
||||
outline_element={false}
|
||||
show_crud={false}
|
||||
display_inline={true}
|
||||
class_li={'m-1'}
|
||||
on:ae_crud_updated={e => {
|
||||
console.log(`ae_crud_updated event:`, e.detail);
|
||||
events_func.handle_load_ae_obj_id__exhibit_tracking({api_cfg: $ae_api, exhibit_tracking_id: $events_slct.exhibit_tracking_id});
|
||||
}}
|
||||
>
|
||||
{@html ($event_exhibit_tracking_obj?.sort ? '<span class="fas fa-sort-numeric-up m-1"></span> Ranked' : '<span class="fas fa-sort-numeric-down m-1"></span> Not Ranked')}
|
||||
<select
|
||||
name="sort"
|
||||
class="select max-w-48 m-1"
|
||||
bind:value={$events_slct.exhibit_tracking_obj.sort}
|
||||
on:change={() => {
|
||||
// Not using the Dexie liveQuery for this. It's not working as expected. When you bind to the value it is sometimes undefined.
|
||||
// $event_exhibit_tracking_obj.sort = $events_slct.exhibit_tracking_obj.sort;
|
||||
// console.log(`Sort changed:`, $events_slct.exhibit_tracking_obj?.sort);
|
||||
ae_triggers.sort = true;
|
||||
}}
|
||||
>
|
||||
<option value="">-- Not Selected --</option>
|
||||
<option value={1}>1 - Highest</option>
|
||||
<option value={2}>2</option>
|
||||
<option value={3}>3 - Neutral</option>
|
||||
<option value={4}>4</option>
|
||||
<option value={5}>5 - Lowest</option>
|
||||
</select>
|
||||
|
||||
|
||||
</Element_ae_crud>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<form
|
||||
id="form__lead_update"
|
||||
class="form"
|
||||
@@ -135,7 +242,7 @@ function handle_submit_form_lead_update() {
|
||||
/> -->
|
||||
|
||||
<!-- This checkbox is to mark this lead as priority/important. -->
|
||||
<div class="event_lead__priority">
|
||||
<!-- <div class="event_lead__priority">
|
||||
<label for="event_lead__priority" class="label">Priority:
|
||||
<input
|
||||
id="event_lead__priority"
|
||||
@@ -146,24 +253,25 @@ function handle_submit_form_lead_update() {
|
||||
class="checkbox m-1"
|
||||
/>
|
||||
</label>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<!-- This is a selection list for ranking options from "-- Not Selected --", "1 - Highest", "2", "3- Neutral", "4", "5 - Lowest". -->
|
||||
<div class="event_lead__sort">
|
||||
<!-- <div class="event_lead__sort">
|
||||
<label for="event_lead__sort" class="label">Rank:
|
||||
<select
|
||||
id="event_lead__sort"
|
||||
name="sort"
|
||||
class="select max-w-48 m-1"
|
||||
value={$event_exhibit_tracking_obj?.sort}
|
||||
>
|
||||
<option value="" selected>-- Not Selected --</option>
|
||||
<option value="1">1 - Highest</option>
|
||||
<option value="2">2</option>
|
||||
<option value="3">3 - Neutral</option>
|
||||
<option value="4">4</option>
|
||||
<option value="5">5 - Lowest</option>
|
||||
<option value={1}>1 - Highest</option>
|
||||
<option value={2}>2</option>
|
||||
<option value={3}>3 - Neutral</option>
|
||||
<option value={4}>4</option>
|
||||
<option value={5}>5 - Lowest</option>
|
||||
</select>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<!-- These are notes by the exhibit staff about this lead -->
|
||||
<div class="event_lead__exhibitor_notes">
|
||||
@@ -171,8 +279,10 @@ function handle_submit_form_lead_update() {
|
||||
<textarea
|
||||
id="exhibitor_notes"
|
||||
name="exhibitor_notes"
|
||||
cols="70"
|
||||
rows="10"
|
||||
placeholder="Staff notes"
|
||||
class="textarea min-w-96 m-1"
|
||||
class="textarea my-1"
|
||||
>{$event_exhibit_tracking_obj?.exhibitor_notes}</textarea>
|
||||
</label>
|
||||
</div>
|
||||
@@ -186,7 +296,7 @@ function handle_submit_form_lead_update() {
|
||||
|
||||
<div class="custom_questions">
|
||||
<fieldset id="custom_questions">
|
||||
<label for="custom_questions">Custom Questions:</label>
|
||||
<legend class="legend">Custom Questions:</legend>
|
||||
|
||||
{#each $event_exhibit_obj?.leads_custom_questions_json as leads_custom_question, question_index}
|
||||
<div>
|
||||
@@ -255,6 +365,70 @@ function handle_submit_form_lead_update() {
|
||||
<span class="fas fa-save mx-1"></span>
|
||||
Save
|
||||
</button>
|
||||
|
||||
<Element_ae_crud
|
||||
trigger_patch={ae_triggers.hide}
|
||||
api_cfg={$ae_api}
|
||||
object_type={'event_exhibit_tracking'}
|
||||
object_id={$event_exhibit_tracking_obj?.event_exhibit_tracking_id_random}
|
||||
field_name={'hide'}
|
||||
field_type={'button'}
|
||||
field_value={$events_slct.exhibit_tracking_obj.hide}
|
||||
allow_null={false}
|
||||
hide_edit_btn={true}
|
||||
outline_element={false}
|
||||
show_crud={false}
|
||||
display_inline={true}
|
||||
class_li={'m-1'}
|
||||
on:ae_crud_updated={e => {
|
||||
console.log(`ae_crud_updated event:`, e.detail);
|
||||
events_func.handle_load_ae_obj_id__exhibit_tracking({api_cfg: $ae_api, exhibit_tracking_id: $events_slct.exhibit_tracking_id});
|
||||
}}
|
||||
>
|
||||
{($event_exhibit_tracking_obj?.hide ? 'Hidden' : 'Not Hidden')}
|
||||
<button
|
||||
on:click={() => {
|
||||
$events_slct.exhibit_tracking_obj.hide = !$event_exhibit_tracking_obj?.hide;
|
||||
ae_triggers.hide = true;
|
||||
}}
|
||||
class="btn btn-sm variant-soft-warning"
|
||||
>
|
||||
{@html ($event_exhibit_tracking_obj?.hide ? '<span class="fas fa-eye m-1"></span> Unhide' : '<span class="fas fa-eye-slash m-1"></span> Hide')}
|
||||
</button>
|
||||
</Element_ae_crud>
|
||||
|
||||
<Element_ae_crud
|
||||
trigger_patch={ae_triggers.enable}
|
||||
api_cfg={$ae_api}
|
||||
object_type={'event_exhibit_tracking'}
|
||||
object_id={$event_exhibit_tracking_obj?.event_exhibit_tracking_id_random}
|
||||
field_name={'enable'}
|
||||
field_type={'button'}
|
||||
field_value={$events_slct.exhibit_tracking_obj.enable}
|
||||
allow_null={false}
|
||||
hide_edit_btn={true}
|
||||
outline_element={false}
|
||||
show_crud={false}
|
||||
display_inline={true}
|
||||
class_li={'m-1'}
|
||||
on:ae_crud_updated={e => {
|
||||
console.log(`ae_crud_updated event:`, e.detail);
|
||||
events_func.handle_load_ae_obj_id__exhibit_tracking({api_cfg: $ae_api, exhibit_tracking_id: $events_slct.exhibit_tracking_id});
|
||||
}}
|
||||
>
|
||||
{($event_exhibit_tracking_obj?.enable ? 'Enabled' : 'Not Enabled')}
|
||||
<button
|
||||
on:click={() => {
|
||||
$events_slct.exhibit_tracking_obj.enable = !$event_exhibit_tracking_obj?.enable;
|
||||
ae_triggers.enable = true;
|
||||
}}
|
||||
class="btn btn-sm variant-soft-success"
|
||||
>
|
||||
{@html ($event_exhibit_tracking_obj?.enable ? '<span class="fas fa-toggle-on m-1"></span> Disable' : '<span class="fas fa-toggle-off m-1"></span> Enable')}
|
||||
</button>
|
||||
</Element_ae_crud>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user