The new event files reports has been cleaned up and more configurable.
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "osit-aether-app-svelte",
|
"name": "osit-aether-app-svelte",
|
||||||
"version": "3.5.0",
|
"version": "3.5.1",
|
||||||
"description": "One Sky IT's Aether App created with Svelte, SvelteKit, Tailwind CSS, Lucide, Font Awesome, and Skeleton UI. -Scott Idem",
|
"description": "One Sky IT's Aether App created with Svelte, SvelteKit, Tailwind CSS, Lucide, Font Awesome, and Skeleton UI. -Scott Idem",
|
||||||
"homepage": "https://oneskyit.com/",
|
"homepage": "https://oneskyit.com/",
|
||||||
"private": true,
|
"private": true,
|
||||||
|
|||||||
@@ -221,6 +221,7 @@ let events_local_data_struct: key_val = {
|
|||||||
qry_limit__sessions: 100,
|
qry_limit__sessions: 100,
|
||||||
qry_max: 500, // This is the max number the limit is allowed to be set to.
|
qry_max: 500, // This is the max number the limit is allowed to be set to.
|
||||||
qry__files_offset_seconds: null,
|
qry__files_offset_seconds: null,
|
||||||
|
qry__files_sort: 'created_on',
|
||||||
|
|
||||||
qry_and__file_count: true, // Essentially it should be greater than 0
|
qry_and__file_count: true, // Essentially it should be greater than 0
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import { browser } from '$app/environment';
|
|||||||
import { events_func } from '$lib/ae_events_functions';
|
import { events_func } from '$lib/ae_events_functions';
|
||||||
|
|
||||||
|
|
||||||
export async function load({ params, parent }) { // route
|
export async function load({ params, parent, url }) { // route
|
||||||
let log_lvl: number = 0;
|
let log_lvl: number = 0;
|
||||||
|
|
||||||
let data = await parent();
|
let data = await parent();
|
||||||
@@ -27,6 +27,9 @@ export async function load({ params, parent }) { // route
|
|||||||
ae_acct.slct.event_id = event_id;
|
ae_acct.slct.event_id = event_id;
|
||||||
|
|
||||||
if (browser) {
|
if (browser) {
|
||||||
|
// console.log(`TEST URL Params`, params);
|
||||||
|
// console.log(`TEST URL`, url);
|
||||||
|
|
||||||
let load_event_obj = await events_func.load_ae_obj_id__event({
|
let load_event_obj = await events_func.load_ae_obj_id__event({
|
||||||
api_cfg: ae_acct.api,
|
api_cfg: ae_acct.api,
|
||||||
event_id: event_id,
|
event_id: event_id,
|
||||||
|
|||||||
@@ -3,12 +3,13 @@ interface Props {
|
|||||||
/** @type {import('./$types').PageData} */
|
/** @type {import('./$types').PageData} */
|
||||||
data: any;
|
data: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
let { data }: Props = $props();
|
let { data }: Props = $props();
|
||||||
|
|
||||||
let log_lvl: number = $state(0);
|
let log_lvl: number = $state(0);
|
||||||
// console.log(`ae_events_pres_mgmt event [slug] +page.svelte data:`, data);
|
// console.log(`ae_events_pres_mgmt event [slug] +page.svelte data:`, data);
|
||||||
|
|
||||||
|
import { page } from '$app/stores';
|
||||||
|
|
||||||
import type { key_val } from '$lib/ae_stores';
|
import type { key_val } from '$lib/ae_stores';
|
||||||
import { ae_util } from '$lib/ae_utils/ae_utils';
|
import { ae_util } from '$lib/ae_utils/ae_utils';
|
||||||
|
|
||||||
@@ -32,6 +33,12 @@ console.log(`$slct.account_id = `, $slct.account_id);
|
|||||||
let ae_acct = data[$slct.account_id];
|
let ae_acct = data[$slct.account_id];
|
||||||
console.log(`ae_acct = `, ae_acct);
|
console.log(`ae_acct = `, ae_acct);
|
||||||
|
|
||||||
|
// console.log(`TEST data`, data);
|
||||||
|
// console.log(`TEST data.url`, data?.url);
|
||||||
|
// console.log(`TEST data.url.hash`, data?.url?.hash);
|
||||||
|
// console.log(`TEST $page.url`, $page?.url);
|
||||||
|
console.log(`TEST $page.url.hash`, $page?.url?.hash);
|
||||||
|
|
||||||
$events_slct.event_id = ae_acct.slct.event_id;
|
$events_slct.event_id = ae_acct.slct.event_id;
|
||||||
$events_slct.event_obj = ae_acct.slct.event_obj;
|
$events_slct.event_obj = ae_acct.slct.event_obj;
|
||||||
$events_slct.event_session_obj_li = ae_acct.slct.event_session_obj_li;
|
$events_slct.event_session_obj_li = ae_acct.slct.event_session_obj_li;
|
||||||
@@ -59,6 +66,18 @@ let ae_triggers: key_val = $state({
|
|||||||
rpt__event_presenters: true,
|
rpt__event_presenters: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let url_hash: string = $state($page?.url?.hash);
|
||||||
|
|
||||||
|
$effect(() => {
|
||||||
|
if (url_hash) {
|
||||||
|
url_hash = url_hash.replace('#', '');
|
||||||
|
if (log_lvl) {
|
||||||
|
console.log(`URL hash changed: ${url_hash}`);
|
||||||
|
}
|
||||||
|
$events_loc.pres_mgmt.show_report = url_hash;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// if ($events_loc.pres_mgmt.show_report == 'sessions_poc_agree') {
|
// if ($events_loc.pres_mgmt.show_report == 'sessions_poc_agree') {
|
||||||
// handle_qry__event_session({
|
// handle_qry__event_session({
|
||||||
// qry_poc_agree: $events_loc.pres_mgmt.rpt__session_poc_agree ?? false,
|
// qry_poc_agree: $events_loc.pres_mgmt.rpt__session_poc_agree ?? false,
|
||||||
@@ -734,7 +753,7 @@ async function handle_qry__event_session(
|
|||||||
|
|
||||||
<span class="border border-gray-200 rounded-md p-1">
|
<span class="border border-gray-200 rounded-md p-1">
|
||||||
|
|
||||||
<button
|
<!-- <button
|
||||||
type="button"
|
type="button"
|
||||||
disabled={!$ae_loc.trusted_access}
|
disabled={!$ae_loc.trusted_access}
|
||||||
onclick={() => {
|
onclick={() => {
|
||||||
@@ -751,9 +770,9 @@ async function handle_qry__event_session(
|
|||||||
<span class="fas fa-file m-1"></span>
|
<span class="fas fa-file m-1"></span>
|
||||||
{/if}
|
{/if}
|
||||||
Recent File Uploads
|
Recent File Uploads
|
||||||
</button>
|
</button> -->
|
||||||
|
|
||||||
<button
|
<!-- <button
|
||||||
type="button"
|
type="button"
|
||||||
disabled={!$ae_loc.trusted_access}
|
disabled={!$ae_loc.trusted_access}
|
||||||
onclick={() => {
|
onclick={() => {
|
||||||
@@ -769,6 +788,24 @@ async function handle_qry__event_session(
|
|||||||
{/if}
|
{/if}
|
||||||
<span class="fas fa-file m-1"></span>
|
<span class="fas fa-file m-1"></span>
|
||||||
Large File Uploads
|
Large File Uploads
|
||||||
|
</button> -->
|
||||||
|
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
disabled={!$ae_loc.trusted_access}
|
||||||
|
onclick={() => {
|
||||||
|
ae_triggers.rpt__event_files = true;
|
||||||
|
$events_loc.pres_mgmt.show_report = 'event_files';
|
||||||
|
}}
|
||||||
|
class:hidden={$lq__event_obj?.mod_pres_mgmt_json?.hide__report_kv.event_files}
|
||||||
|
class="btn btn-sm preset-tonal-success border border-success-500 hover:preset-filled-success-500 transition-all m-1"
|
||||||
|
title="Show large file uploads."
|
||||||
|
>
|
||||||
|
{#if $events_sess.pres_mgmt?.show_report == 'event_files' && $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt?.show_report] == 'loading'}
|
||||||
|
<span class="fas fa-spinner fa-spin"></span>
|
||||||
|
{/if}
|
||||||
|
<span class="fas fa-file m-1"></span>
|
||||||
|
Event Files
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
</span>
|
</span>
|
||||||
@@ -826,13 +863,13 @@ async function handle_qry__event_session(
|
|||||||
|
|
||||||
|
|
||||||
<!-- All Event File related reports -->
|
<!-- All Event File related reports -->
|
||||||
{#if $events_loc.pres_mgmt.show_report == 'recent_files' || $events_loc.pres_mgmt.show_report == 'large_files'}
|
{#if $events_loc.pres_mgmt.show_report == 'event_files' ||$events_loc.pres_mgmt.show_report == 'recent_files' || $events_loc.pres_mgmt.show_report == 'large_files'}
|
||||||
<Reports_files
|
<Reports_files
|
||||||
lq__event_obj={lq__event_obj}
|
lq__event_obj={lq__event_obj}
|
||||||
event_file_obj_li={$events_sess.event_file_obj_li}
|
event_file_obj_li={$events_sess.event_file_obj_li}
|
||||||
|
|
||||||
rpt__name={$events_loc.pres_mgmt.show_report}
|
rpt__name={$events_loc.pres_mgmt.show_report}
|
||||||
rpt__sort={$events_loc.pres_mgmt.qry__file_sort}
|
rpt__sort={$events_loc.pres_mgmt.qry__files_sort}
|
||||||
rpt__enabled={$events_loc.pres_mgmt.qry_enabled}
|
rpt__enabled={$events_loc.pres_mgmt.qry_enabled}
|
||||||
rpt__hidden={$events_loc.pres_mgmt.qry_hidden}
|
rpt__hidden={$events_loc.pres_mgmt.qry_hidden}
|
||||||
rpt__limit={$events_loc.pres_mgmt.qry_limit__files}
|
rpt__limit={$events_loc.pres_mgmt.qry_limit__files}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ interface Props {
|
|||||||
|
|
||||||
rpt__name?: string;
|
rpt__name?: string;
|
||||||
rpt__sort?: string;
|
rpt__sort?: string;
|
||||||
rpt__order_by_li?: any;
|
// rpt__order_by_li?: any;
|
||||||
rpt__enabled?: string;
|
rpt__enabled?: string;
|
||||||
rpt__hidden?: string;
|
rpt__hidden?: string;
|
||||||
rpt__limit?: number;
|
rpt__limit?: number;
|
||||||
@@ -28,9 +28,9 @@ let {
|
|||||||
|
|
||||||
event_file_obj_li = $bindable([]),
|
event_file_obj_li = $bindable([]),
|
||||||
|
|
||||||
rpt__name = $bindable('recent_files'), // recent_files, large_files
|
rpt__name = $bindable('event_files'), // event_files, recent_files, large_files
|
||||||
rpt__sort = $bindable('updated_on'), // updated_on, given_name, family_name, email, start_datetime
|
rpt__sort = $bindable('created_on'), // updated_on, start_datetime
|
||||||
rpt__order_by_li = $bindable({'priority': 'DESC', 'sort': 'DESC', 'created_on': 'DESC', 'updated_on': 'DESC', 'filename': 'ASC', 'extension': 'ASC', 'hosted_file_size': 'ASC'}),
|
// rpt__order_by_li = $bindable({'priority': 'DESC', 'sort': 'DESC', 'created_on': 'DESC', 'updated_on': 'DESC', 'filename': 'ASC', 'extension': 'ASC', 'hosted_file_size': 'ASC'}),
|
||||||
rpt__enabled = $bindable('enabled'), // enabled, disabled, all
|
rpt__enabled = $bindable('enabled'), // enabled, disabled, all
|
||||||
rpt__hidden = $bindable('not_hidden'), // hidden, not_hidden, all
|
rpt__hidden = $bindable('not_hidden'), // hidden, not_hidden, all
|
||||||
rpt__limit = $bindable(150),
|
rpt__limit = $bindable(150),
|
||||||
@@ -61,57 +61,105 @@ import Comp_event_file_obj_tbl from './../../ae_comp__event_file_obj_tbl_wrapper
|
|||||||
|
|
||||||
let ae_promises: key_val = $state({});
|
let ae_promises: key_val = $state({});
|
||||||
|
|
||||||
|
let rpt__order_by_li: key_val = $state({});
|
||||||
|
|
||||||
let sort_option_kv: key_val = {
|
let sort_option_kv: key_val = {
|
||||||
'created_on': {
|
'created_on': {
|
||||||
name: 'Created On',
|
name: 'Created On',
|
||||||
field_kv: {
|
field_kv: {
|
||||||
'email': 'ASC',
|
|
||||||
'given_name': 'ASC',
|
|
||||||
'family_name': 'ASC',
|
|
||||||
'updated_on': 'DESC',
|
|
||||||
'priority': 'DESC',
|
'priority': 'DESC',
|
||||||
'sort': 'DESC',
|
'sort': 'DESC',
|
||||||
'created_on': 'DESC',
|
'created_on': 'DESC',
|
||||||
|
'updated_on': 'DESC',
|
||||||
|
'filename': 'ASC',
|
||||||
|
'extension': 'ASC',
|
||||||
|
'hosted_file_size': 'ASC',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'updated_on': {
|
'updated_on': {
|
||||||
name: 'Updated On',
|
name: 'Updated On',
|
||||||
field_kv: {
|
field_kv: {
|
||||||
'event_presentation_start_datetime': 'ASC',
|
|
||||||
'priority': 'DESC',
|
'priority': 'DESC',
|
||||||
'sort': 'DESC',
|
'sort': 'DESC',
|
||||||
'given_name': 'ASC',
|
|
||||||
'family_name': 'ASC',
|
|
||||||
'email': 'ASC',
|
|
||||||
'updated_on': 'DESC',
|
'updated_on': 'DESC',
|
||||||
'created_on': 'DESC',
|
'created_on': 'DESC',
|
||||||
|
'filename': 'ASC',
|
||||||
|
'extension': 'ASC',
|
||||||
|
'hosted_file_size': 'ASC',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'filename': {
|
'filename_asc': {
|
||||||
name: 'Filename',
|
name: 'Filename',
|
||||||
field_kv: {
|
field_kv: {
|
||||||
'given_name': 'ASC',
|
'filename': 'ASC',
|
||||||
'family_name': 'ASC',
|
'extension': 'ASC',
|
||||||
'updated_on': 'DESC',
|
|
||||||
'priority': 'DESC',
|
'priority': 'DESC',
|
||||||
'sort': 'DESC',
|
'sort': 'DESC',
|
||||||
'email': 'ASC',
|
|
||||||
'created_on': 'DESC',
|
'created_on': 'DESC',
|
||||||
|
'updated_on': 'DESC',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'extension': {
|
'filename_desc': {
|
||||||
|
name: 'Filename',
|
||||||
|
field_kv: {
|
||||||
|
'filename': 'DESC',
|
||||||
|
'extension': 'ASC',
|
||||||
|
'priority': 'DESC',
|
||||||
|
'sort': 'DESC',
|
||||||
|
'created_on': 'DESC',
|
||||||
|
'updated_on': 'DESC',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'file_type': {
|
||||||
name: 'Extension/Type',
|
name: 'Extension/Type',
|
||||||
field_kv: {
|
field_kv: {
|
||||||
'family_name': 'ASC',
|
'extension': 'ASC',
|
||||||
'given_name': 'ASC',
|
'filename': 'ASC',
|
||||||
'updated_on': 'DESC',
|
|
||||||
'priority': 'DESC',
|
'priority': 'DESC',
|
||||||
'sort': 'DESC',
|
'sort': 'DESC',
|
||||||
'email': 'ASC',
|
|
||||||
'created_on': 'DESC',
|
'created_on': 'DESC',
|
||||||
|
'updated_on': 'DESC',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
'file_size': {
|
||||||
|
name: 'File Size',
|
||||||
|
field_kv: {
|
||||||
|
'hosted_file_size': 'DESC',
|
||||||
|
'filename': 'ASC',
|
||||||
|
'extension': 'ASC',
|
||||||
|
'priority': 'DESC',
|
||||||
|
'sort': 'DESC',
|
||||||
|
'created_on': 'DESC',
|
||||||
|
'updated_on': 'DESC',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'start_datetime_asc': {
|
||||||
|
name: 'Start Date Time',
|
||||||
|
field_kv: {
|
||||||
|
'event_session_start_datetime': 'ASC',
|
||||||
|
'event_session_name': 'ASC',
|
||||||
|
'filename': 'ASC',
|
||||||
|
'extension': 'ASC',
|
||||||
|
'priority': 'DESC',
|
||||||
|
'sort': 'DESC',
|
||||||
|
'created_on': 'DESC',
|
||||||
|
'updated_on': 'DESC',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'start_datetime_desc': {
|
||||||
|
name: 'Start Date Time',
|
||||||
|
field_kv: {
|
||||||
|
'event_session_start_datetime': 'DESC',
|
||||||
|
'event_session_name': 'ASC',
|
||||||
|
'filename': 'ASC',
|
||||||
|
'extension': 'ASC',
|
||||||
|
'priority': 'DESC',
|
||||||
|
'sort': 'DESC',
|
||||||
|
'created_on': 'DESC',
|
||||||
|
'updated_on': 'DESC',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
$effect(() => {
|
$effect(() => {
|
||||||
@@ -120,6 +168,9 @@ $effect(() => {
|
|||||||
console.log(`Report: ${rpt__name}; Triggered query for event files.`);
|
console.log(`Report: ${rpt__name}; Triggered query for event files.`);
|
||||||
}
|
}
|
||||||
qry__trigger = false;
|
qry__trigger = false;
|
||||||
|
|
||||||
|
rpt__order_by_li = sort_option_kv[$events_loc.pres_mgmt.qry__files_sort]?.field_kv ?? sort_option_kv['created_on'].field_kv;
|
||||||
|
|
||||||
if (rpt__name == 'recent_files') {
|
if (rpt__name == 'recent_files') {
|
||||||
handle_qry__event_file({
|
handle_qry__event_file({
|
||||||
created_on_offset: $events_loc.pres_mgmt.qry__files_offset_seconds,
|
created_on_offset: $events_loc.pres_mgmt.qry__files_offset_seconds,
|
||||||
@@ -141,6 +192,17 @@ $effect(() => {
|
|||||||
order_by_li: rpt__order_by_li,
|
order_by_li: rpt__order_by_li,
|
||||||
log_lvl: log_lvl,
|
log_lvl: log_lvl,
|
||||||
});
|
});
|
||||||
|
} else if (rpt__name == 'event_files') {
|
||||||
|
handle_qry__event_file({
|
||||||
|
created_on_offset: $events_loc.pres_mgmt.qry__files_offset_seconds,
|
||||||
|
min_file_size: $events_loc.pres_mgmt.qry__files_min_size,
|
||||||
|
file_purpose: $events_loc.pres_mgmt.qry__file_purpose ?? null,
|
||||||
|
limit: rpt__limit,
|
||||||
|
order_by_li: rpt__order_by_li,
|
||||||
|
log_lvl: log_lvl,
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.log(`Unknown report name: ${rpt__name}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -155,7 +217,7 @@ async function handle_qry__event_file(
|
|||||||
enabled = rpt__hidden,
|
enabled = rpt__hidden,
|
||||||
hidden = rpt__enabled,
|
hidden = rpt__enabled,
|
||||||
limit = rpt__limit,
|
limit = rpt__limit,
|
||||||
order_by_li = {'priority': 'DESC', 'sort': 'DESC', 'created_on': 'DESC', 'updated_on': 'DESC', 'filename': 'ASC', 'extension': 'ASC', 'hosted_file_size': 'ASC'},
|
order_by_li = rpt__order_by_li,
|
||||||
log_lvl = 0,
|
log_lvl = 0,
|
||||||
}: {
|
}: {
|
||||||
created_on_offset?: string | null,
|
created_on_offset?: string | null,
|
||||||
@@ -306,7 +368,7 @@ async function handle_qry__event_file(
|
|||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div class="flex flex-row items-center justify-center">
|
<div class="flex flex-row items-center justify-center">
|
||||||
<select
|
<select
|
||||||
class="inline-block select text-sm px-1 w-40 m-1 ae_btn_info"
|
class="inline-block select text-sm px-1 w-40 m-1 ae_btn_info"
|
||||||
bind:value={$events_loc.pres_mgmt.qry__files_offset_seconds}
|
bind:value={$events_loc.pres_mgmt.qry__files_offset_seconds}
|
||||||
onchange={() => {
|
onchange={() => {
|
||||||
@@ -388,29 +450,29 @@ async function handle_qry__event_file(
|
|||||||
|
|
||||||
<!-- Max files select options -->
|
<!-- Max files select options -->
|
||||||
|
|
||||||
<select
|
<select
|
||||||
id="qry_limit__files"
|
id="qry_limit__files"
|
||||||
bind:value={$events_loc.pres_mgmt.qry_limit__files}
|
bind:value={$events_loc.pres_mgmt.qry_limit__files}
|
||||||
class="inline-block select text-sm px-1 w-40 m-1 ae_btn_info"
|
class="inline-block select text-sm px-1 w-40 m-1 ae_btn_info"
|
||||||
onchange={() => {
|
onchange={() => {
|
||||||
// handle_qry__event_file({
|
// handle_qry__event_file({
|
||||||
// created_on_offset: $events_loc.pres_mgmt.qry__files_offset_seconds ?? 0,
|
// created_on_offset: $events_loc.pres_mgmt.qry__files_offset_seconds ?? 0,
|
||||||
// file_purpose: $events_loc.pres_mgmt.qry__file_purpose ?? null,
|
// file_purpose: $events_loc.pres_mgmt.qry__file_purpose ?? null,
|
||||||
// limit: $events_loc.pres_mgmt.qry_limit__files ?? 100,
|
// limit: $events_loc.pres_mgmt.qry_limit__files ?? 100,
|
||||||
// log_lvl: log_lvl,
|
// log_lvl: log_lvl,
|
||||||
// });
|
// });
|
||||||
qry__trigger = true;
|
qry__trigger = true;
|
||||||
$events_loc.pres_mgmt.show_report = 'recent_files';
|
$events_loc.pres_mgmt.show_report = 'recent_files';
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<option value={0}>-- max not set --</option>
|
<option value={0}>-- max not set --</option>
|
||||||
<option value={25}>25 files</option>
|
<option value={25}>25 files</option>
|
||||||
<option value={50}>50 files</option>
|
<option value={50}>50 files</option>
|
||||||
<option value={75}>75 files</option>
|
<option value={75}>75 files</option>
|
||||||
<option value={100}>100 files</option>
|
<option value={100}>100 files</option>
|
||||||
<option value={200}>200 files</option>
|
<option value={200}>200 files</option>
|
||||||
<option value={500}>500 files</option>
|
<option value={500}>500 files</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -419,7 +481,7 @@ async function handle_qry__event_file(
|
|||||||
|
|
||||||
|
|
||||||
<!-- Show large files -->
|
<!-- Show large files -->
|
||||||
{#if rpt__name == 'large_files'}
|
{#if rpt__name == 'event_files' || rpt__name == 'large_files'}
|
||||||
<header class="w-full flex flex-row flex-wrap items-center justify-center gap-1">
|
<header class="w-full flex flex-row flex-wrap items-center justify-center gap-1">
|
||||||
<h3 class="h4 text-center">
|
<h3 class="h4 text-center">
|
||||||
{#if qry__status == 'loading'}
|
{#if qry__status == 'loading'}
|
||||||
@@ -428,11 +490,57 @@ async function handle_qry__event_file(
|
|||||||
{:else}
|
{:else}
|
||||||
<span class="fas fa-list m-1"></span>
|
<span class="fas fa-list m-1"></span>
|
||||||
{/if}
|
{/if}
|
||||||
Large File Uploads
|
File Uploads
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
|
|
||||||
<div class="flex flex-row items-center justify-center">
|
<div class="flex flex-row items-center justify-center">
|
||||||
|
<select
|
||||||
|
class="inline-block select text-sm px-1 w-40 m-1 ae_btn_info"
|
||||||
|
bind:value={$events_loc.pres_mgmt.qry__files_offset_seconds}
|
||||||
|
onchange={() => {
|
||||||
|
if ($events_loc.pres_mgmt?.qry__files_offset_seconds) {
|
||||||
|
// Calculate the datetime to pass based on the selected offset.
|
||||||
|
// let offset = $events_loc.pres_mgmt.qry__files_offset_seconds ?? 0;
|
||||||
|
// let created_on = new Date()
|
||||||
|
// console.log(`Created on:`, created_on);
|
||||||
|
// created_on.setSeconds(created_on.getSeconds() - offset);
|
||||||
|
// handle_qry__event_file({
|
||||||
|
// created_on_offset: $events_loc.pres_mgmt.qry__files_offset_seconds ?? 0,
|
||||||
|
// file_purpose: $events_loc.pres_mgmt.qry__file_purpose ?? null,
|
||||||
|
// log_lvl: log_lvl,
|
||||||
|
// });
|
||||||
|
qry__trigger = true;
|
||||||
|
} else {
|
||||||
|
console.log('No offset is will be used.');
|
||||||
|
// handle_qry__event_file({
|
||||||
|
// log_lvl: log_lvl,
|
||||||
|
// });
|
||||||
|
qry__trigger = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
$events_loc.pres_mgmt.show_report = 'event_files';
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<option value="">-- offset not set --</option>
|
||||||
|
<option value="600">10 minutes</option>
|
||||||
|
<option value="1800">30 minutes</option>
|
||||||
|
<option value="3600">1 hour</option>
|
||||||
|
<option value="10800">2 hours</option>
|
||||||
|
<option value="21600">6 hours</option>
|
||||||
|
<option value="43200">12 hours</option>
|
||||||
|
<option value="86400">24 hours</option>
|
||||||
|
<option value="129600">36 hours</option>
|
||||||
|
<option value="172800">48 hours</option>
|
||||||
|
<option value="259200">72 hours</option>
|
||||||
|
<option value="604800">1 week</option>
|
||||||
|
<option value="1209600">2 weeks</option>
|
||||||
|
<option value="2419200">4 weeks</option>
|
||||||
|
<option value="7776000">12 weeks</option>
|
||||||
|
<option value="15552000">24 weeks</option>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<select
|
<select
|
||||||
class="inline-block select text-sm w-40 px-1 m-1 ae_btn_info"
|
class="inline-block select text-sm w-40 px-1 m-1 ae_btn_info"
|
||||||
bind:value={$events_loc.pres_mgmt.qry__files_min_size}
|
bind:value={$events_loc.pres_mgmt.qry__files_min_size}
|
||||||
@@ -443,7 +551,7 @@ async function handle_qry__event_file(
|
|||||||
// log_lvl: log_lvl,
|
// log_lvl: log_lvl,
|
||||||
// });
|
// });
|
||||||
qry__trigger = true;
|
qry__trigger = true;
|
||||||
$events_loc.pres_mgmt.show_report = 'large_files';
|
$events_loc.pres_mgmt.show_report = 'event_files';
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<option value="">-- size not set --</option>
|
<option value="">-- size not set --</option>
|
||||||
@@ -471,7 +579,7 @@ async function handle_qry__event_file(
|
|||||||
// log_lvl: 1,
|
// log_lvl: 1,
|
||||||
// });
|
// });
|
||||||
qry__trigger = true;
|
qry__trigger = true;
|
||||||
$events_loc.pres_mgmt.show_report = 'large_files';
|
$events_loc.pres_mgmt.show_report = 'event_files';
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<option
|
<option
|
||||||
@@ -493,6 +601,50 @@ async function handle_qry__event_file(
|
|||||||
{/each}
|
{/each}
|
||||||
{/if}
|
{/if}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<label class="label text-sm">
|
||||||
|
<span class="fas fa-sort m-1"></span>
|
||||||
|
Sort by:
|
||||||
|
|
||||||
|
<select
|
||||||
|
class="inline-block select text-sm w-44 px-1 m-1 ae_btn_info"
|
||||||
|
bind:value={$events_loc.pres_mgmt.qry__files_sort}
|
||||||
|
onchange={(event) => {
|
||||||
|
if (event.target.value) {
|
||||||
|
// rpt__sort = event.target.value;
|
||||||
|
$events_loc.pres_mgmt.qry__files_sort = event.target.value;
|
||||||
|
} else {
|
||||||
|
// rpt__sort = 'created_on';
|
||||||
|
$events_loc.pres_mgmt.qry__files_sort = 'created_on';
|
||||||
|
}
|
||||||
|
|
||||||
|
// rpt__order_by_li = sort_option_kv[rpt__sort]?.field_kv ?? sort_option_kv['created_on'].field_kv;
|
||||||
|
rpt__order_by_li = sort_option_kv[$events_loc.pres_mgmt.qry__files_sort]?.field_kv ?? sort_option_kv['created_on'].field_kv;
|
||||||
|
|
||||||
|
// ae_promises.handle_search__event_presenter = handle_search__event_presenter({
|
||||||
|
// // ft_search_str: '',
|
||||||
|
// // lk_search_str: '',
|
||||||
|
// order_by_li: $events_loc.pres_mgmt.qry__presenter_order_by_li,
|
||||||
|
// log_lvl: log_lvl,
|
||||||
|
// });
|
||||||
|
qry__trigger = true;
|
||||||
|
$events_loc.pres_mgmt.show_report = 'event_files';
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<option value="created_on">Add/Uploaded On</option>
|
||||||
|
<option value="filename_asc">Filename ASC</option>
|
||||||
|
<option value="filename_desc">Filename DESC</option>
|
||||||
|
<option value="file_type">File Type/Ext</option>
|
||||||
|
<option value="file_size">File Size</option>
|
||||||
|
<option value="updated_on" class:hidden={!$ae_loc.administrator_access}>Updated On</option>
|
||||||
|
<option value="start_datetime_asc">Start Date Time ASC</option>
|
||||||
|
<option value="start_datetime_desc">Start Date Time DESC</option>
|
||||||
|
<!-- <option value="created_on">Created On</option> -->
|
||||||
|
<!-- <option value="sort">Sort</option> -->
|
||||||
|
<!-- <option value="priority">Priority</option> -->
|
||||||
|
</select>
|
||||||
|
</label>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
{/if}
|
{/if}
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ async function handle_search__event_presenter(
|
|||||||
enabled = rpt__hidden,
|
enabled = rpt__hidden,
|
||||||
hidden = rpt__enabled,
|
hidden = rpt__enabled,
|
||||||
limit = rpt__limit,
|
limit = rpt__limit,
|
||||||
order_by_li = {'updated_on': 'DESC', 'priority': 'DESC', 'sort': 'DESC', 'given_name': 'ASC', 'family_name': 'ASC', 'email': 'ASC', 'created_on': 'DESC'},
|
order_by_li = rpt__order_by_li,
|
||||||
// params = {
|
// params = {
|
||||||
// 'qry__enabled': $events_loc.pres_mgmt.qry_enabled ?? 'enabled',
|
// 'qry__enabled': $events_loc.pres_mgmt.qry_enabled ?? 'enabled',
|
||||||
// 'qry__hidden': $events_loc.pres_mgmt.qry_hidden ?? 'not_hidden',
|
// 'qry__hidden': $events_loc.pres_mgmt.qry_hidden ?? 'not_hidden',
|
||||||
|
|||||||
Reference in New Issue
Block a user