1(()=>{function return_day_range(start_date,end_date){const start=new Date(start_date);const end=new Date(end_date);start.setHours(0,0,0,0);end.setHours(23,59,59,999);return[start,end]}function return_week_start(){const date=new Date;date.setDate(date.getDate()-(date.getDay()||7));return date}function return_week_range(week_start){const end=new Date(week_start);end.setDate(end.getDate()+7);return return_day_range(week_start,end)}function return_quarter_start(date){const first_month_of_quarter=Math.floor(date.getMonth()/3)*3;return new Date(date.getFullYear(),first_month_of_quarter,1)}function return_quarter_end(date){const first_month_after_quarter=Math.floor(date.getMonth()/3)*3+3;return new Date(date.getFullYear(),first_month_after_quarter,0)}function return_future_range(date_scale){const today=new Date;const end_date=new Date;if(date_scale==="today"){return return_day_range(today,end_date)}if(date_scale==="1w"){end_date.setDate(end_date.getDate()+7);return return_day_range(today,end_date)}if(date_scale==="1m"){end_date.setMonth(end_date.getMonth()+1);return return_day_range(today,end_date)}if(date_scale==="eom"){return return_day_range(today,new Date(today.getFullYear(),today.getMonth()+1,0))}if(date_scale==="eoq"){return return_day_range(today,return_quarter_end(today))}if(date_scale==="eoy"){return return_day_range(today,new Date(today.getFullYear(),12,0))}return null}function return_past_range(date_scale){const today=new Date;const start_date=new Date;if(date_scale==="1w"){start_date.setDate(start_date.getDate()-7);return return_day_range(start_date,today)}if(date_scale==="4w"){start_date.setDate(start_date.getDate()-28);return return_day_range(start_date,today)}if(date_scale==="1y"){start_date.setFullYear(start_date.getFullYear()-1);return return_day_range(start_date,today)}if(date_scale==="mtd"){start_date.setDate(1);return return_day_range(start_date,today)}if(date_scale==="qtd"){return return_day_range(return_quarter_start(today),today)}if(date_scale==="ytd"){return return_day_range(new Date(today.getFullYear(),0,1),today)}if(date_scale==="all"){return return_day_range(returnDefaultStartDateForLitePicker(),today)}if(date_scale==="this week"){return return_week_range(return_week_start())}if(date_scale==="last week"){const week_start=return_week_start();week_start.setDate(week_start.getDate()-7);return return_week_range(week_start)}if(date_scale==="next week"){const week_start=return_week_start();week_start.setDate(week_start.getDate()+7);return return_week_range(week_start)}return null}function return_date_range_for_scale(params){const{date_scale:date_scale,future_presets:future_presets}=params;if(!date_scale){return null}const preset_name=String(date_scale).toLowerCase();if(future_presets){return return_future_range(preset_name)}return return_past_range(preset_name)}window.return_date_range_for_scale=return_date_range_for_scale})();const dismissable_popup_mixin={data(){return{popup_open:false}},mounted(){this._handle_outside_pointer_down=event=>{if(!this.popup_open){return}let pressed_inside=this.return_dismiss_boundaries().some(boundary=>boundary.contains(event.target));if(pressed_inside){return}this.close_popup()};this._handle_popup_key_down=event=>{if(!this.popup_open){return}if(event.key!=="Escape"){return}this.close_popup()};document.addEventListener("mousedown",this._handle_outside_pointer_down,true);document.addEventListener("touchstart",this._handle_outside_pointer_down,true);document.addEventListener("keydown",this._handle_popup_key_down,true)},beforeUnmount(){document.removeEventListener("mousedown",this._handle_outside_pointer_down,true);document.removeEventListener("touchstart",this._handle_outside_pointer_down,true);document.removeEventListener("keydown",this._handle_popup_key_down,true)},methods:{return_element_for_ref(popup_ref){if(!popup_ref){return null}if(popup_ref.$el){return popup_ref.$el}return popup_ref},return_dismiss_boundaries(){let trigger_element=this.return_element_for_ref(this.$refs.popup_trigger);let panel_element=this.return_element_for_ref(this.$refs.popup_panel);if(trigger_element||panel_element){return[trigger_element,panel_element].filter(boundary=>boundary)}let root_element=this.return_element_for_ref(this.$refs.popup_root);if(root_element){return[root_element]}return[this.$el]},open_popup(){this.popup_open=true},close_popup(){this.popup_open=false},toggle_popup(){this.popup_open=!this.popup_open}}};function apply_sentry_context(scope){try{if(typeof Parse!=="undefined"&&Parse.User&&Parse.User.current()){let current_user=Parse.User.current();scope.setUser({id:current_user.id,username:current_user.get("displayName")||current_user.get("username")||undefined})}if(typeof store!=="undefined"&&store){if(store.clubObject){scope.setTag("club_id",store.clubObject.id);scope.setTag("club_name",store.clubObject.get("name"))}if(store.session_id){scope.setTag("session_id",store.session_id)}}}catch(context_error){console.warn("[Sentry] failed to apply context",context_error)}}window.apply_sentry_context=apply_sentry_context;(function(){if(!window.Vue||!window.Vue.createApp){return}if(window.Vue.__sentry_patched){return}window.Vue.__sentry_patched=true;let original_create_app=window.Vue.createApp.bind(window.Vue);window.Vue.createApp=function(){let vue_app=original_create_app.apply(null,arguments);let previous_error_handler=vue_app.config.errorHandler;vue_app.config.errorHandler=function(error,instance,info){let cooldown_ms=5e3;let now=(new Date).getTime();if(typeof store!=="undefined"&&store&&store.last_error_flagged_at&&store.last_error_flagged_at>now-cooldown_ms){return}if(typeof store!=="undefined"&&store){store.last_error_flagged_at=now}if(typeof Sentry!=="undefined"&&Sentry.withScope&&Sentry.captureException){Sentry.withScope(scope=>{apply_sentry_context(scope);scope.setTag("source","vue_error_handler");if(info){scope.setTag("vue_lifecycle_hook",info)}Sentry.captureException(error)})}if(typeof previous_error_handler==="function"){previous_error_handler(error,instance,info)}else{console.error("[Vue errorHandler]",error,info)}};return vue_app}})();const{createApp:createApp,reactive:reactive,markRaw:markRaw,isProxy:isProxy,defineComponent:defineComponent,toRaw:toRaw,nextTick:nextTick,ref:ref}=Vue;let first_of_month=new Date;first_of_month.setDate(1);first_of_month.setHours(0,0,0,0);let end_of_today=new Date;end_of_today.setHours(23,59,59,999);let start_of_today=new Date;start_of_today.setHours(0,0,0,0);let start_time={hours:0,minutes:0,seconds:0,milliseconds:0};let end_time={hours:23,minutes:59,seconds:59,milliseconds:999};let single_day_time={hours:0,minutes:0,seconds:0,milliseconds:0};let is_react_native_member_app=window.navigator&&["clubspot-react-native","clubspot-react-native-ios","clubspot-react-native-android"].includes(window.navigator.userAgent);let react_native_platform=is_react_native_member_app?window.navigator.userAgent==="clubspot-react-native-ios"?"ios":window.navigator.userAgent==="clubspot-react-native-android"?"android":null:null;let is_on_reader_native_app=window.navigator&&window.navigator.userAgent==="clubspot-react-native-pos-stripe-android";let is_pos_native_app=window.navigator&&["clubspot-react-native-pos-ios","clubspot-react-native-pos-android"].includes(window.navigator.userAgent);const store=reactive({clubObject:null,primary_view:"",secondary_view:"",tertiary_view:"",prev_primary_view:"",prev_secondary_view:"",page_title_entity:"",components:{},overlays:{}
1,search_interval_ms:300,payment_refresh_key:null,dateScale:"mtd",date_refresh_key:null,date_scale_start:first_of_month,date_scale_end:end_of_today,time_scale_start:start_time,time_scale_end:end_time,time_scale_single_day:single_day_time,global_date_range:[first_of_month,end_of_today],global_date_single_day:start_of_today,comparison_dates:{options:["day","month","year"],selected:"month"},comparison_period:"none",comparison_custom_date_range:[first_of_month,end_of_today],comparison_custom_date_single_day:start_of_today,is_react_native_member_app:is_react_native_member_app,react_native_platform:react_native_platform,is_on_reader_native_app:is_on_reader_native_app,is_pos_native_app:is_pos_native_app,native_app_props:{},last_error_flagged_at:null,scrolled:false});function should_close_overlay(last_touch){if(!last_touch){return false}let timestamp=(new Date).getTime();let cutoff=timestamp-300;if(last_touch<cutoff){return false}return true}function auto_gratuity_label(){let auto_gratuity_label="Auto-gratuity";if(store.clubObject&&store.clubObject.get("auto_gratuity_label")){auto_gratuity_label=store.clubObject.get("auto_gratuity_label")}return auto_gratuity_label}const vueGlobalProperties={$utils:{sanitize_string:str=>{if(typeof str!=="string"){return str}const div=document.createElement("div");div.textContent=str;let cleaned=div.textContent||"";cleaned=cleaned.replace(/[\u0000-\u001f\u007f]+/g,"");cleaned=cleaned.replace(/[<>]/g,"");const lowered=cleaned.toLowerCase().replace(/\s+/g,"");if(lowered.includes("javascript:")){return""}if(lowered.includes("vbscript:")){return""}if(lowered.includes("data:")){return""}return cleaned}}};const page_title_mixin={computed:{page_title_entity(){return""}},watch:{page_title_entity:{immediate:true,handler(entity_label){store.page_title_entity=entity_label||""}}},beforeUnmount(){store.page_title_entity=""}};window.page_title_mixin=page_title_mixin;(()=>{function copy_items(items){return items.map(item=>({...item}))}function has_value(value){return value!==null&&value!==undefined&&value!==""}function parse_array(value){if(Array.isArray(value)){return value}if(!value){return[]}try{const parsed=JSON.parse(value);return Array.isArray(parsed)?parsed:[]}catch(parse_error){return[]}}function parse_object(value){try{const parsed=JSON.parse(value);if(!parsed||typeof parsed!=="object"||Array.isArray(parsed)){return{}}return parsed}catch(parse_error){return{}}}function serialize_filter(value){if(typeof value==="string"||typeof value==="number"||typeof value==="boolean"||value instanceof Date){return value}if(Array.isArray(value)){const entries=value.map(serialize_filter);return entries.includes(undefined)?undefined:entries}if(!value||Object.getPrototypeOf(value)!==Object.prototype){return undefined}return Object.keys(value).sort().reduce((serialized,field)=>{const serialized_value=serialize_filter(value[field]);if(serialized_value!==undefined){serialized[field]=serialized_value}return serialized},{})}function parse_filters(filters){return parse_array(filters).map(option=>{const revived={...option};if(revived.start){revived.start=new Date(revived.start)}if(revived.end){revived.end=new Date(revived.end)}return revived})}function return_sorted_filters(filters){return filters.map(serialize_filter).sort((first_option,second_option)=>JSON.stringify(first_option).localeCompare(JSON.stringify(second_option)))}function return_normalized_filters(config,filters,source){const options=Array.isArray(filters)?filters:[];if(!config.hooks.normalize_filters){return copy_items(options)}const normalized=config.hooks.normalize_filters(copy_items(options),source);return copy_items(Array.isArray(normalized)?normalized:[])}function normalize_columns(columns){if(!Array.isArray(columns)){return[]}return columns.filter(column=>column&&column.key).map(column=>({key:column.key,label:column.label}))}function parse_columns(columns){return normalize_columns(parse_array(columns))}function read_column_preference(dashboard_key){if(!store.clubObject||!dashboard_key){return null}const storage_key="table_preferences"+store.clubObject.id;const table_preferences=parse_object(localStorage.getItem(storage_key));const stored_columns=table_preferences[dashboard_key];if(!Array.isArray(stored_columns)){return null}return normalize_columns(stored_columns)}function write_column_preference(dashboard_key,columns){if(!store.clubObject||!dashboard_key){return}const storage_key="table_preferences"+store.clubObject.id;const table_preferences=parse_object(localStorage.getItem(storage_key));table_preferences[dashboard_key]=normalize_columns(columns);localStorage.setItem(storage_key,JSON.stringify(table_preferences))}function return_sort_key(sort_key){if(!sort_key){return null}return Array.isArray(sort_key)?sort_key.join(","):sort_key}function return_default_sort(default_sort){if(!default_sort){return{key:null,order:"descending"}}return{...default_sort}}function parse_number(value){const parsed=Number(value);if(!parsed||isNaN(parsed)||parsed<0){return 0}return Math.floor(parsed)}function return_skip_for_page(page,page_size){const parsed=parse_number(page);return parsed>1?(parsed-1)*page_size:0}function return_page_for_skip(skip,page_size){return skip?Math.floor(skip/page_size)+1:null}function parse_timestamp(timestamp){if(!timestamp){return null}const date=new Date(Number(timestamp));if(isNaN(date.getTime())){return null}return date}function return_timestamps(dates){return(dates||[]).map(date=>new Date(date).getTime())}function parse_date_range(start_timestamp,end_timestamp){const start=parse_timestamp(start_timestamp);const end=parse_timestamp(end_timestamp);return start&&end?[start,end]:[]}function return_store_dates(){return{date_scale:store.dateScale,date_range:return_timestamps(store.global_date_range)}}function scale_carries_range(date_scale){return Boolean(date_scale)&&date_scale!=="custom"}function apply_date_params(config,url_params){const date_range=parse_date_range(url_params.date_start,url_params.date_end);const date_scale=String(url_params.date_scale||"").toLowerCase();if(date_range.length===2){store.global_date_range=date_range;store.dateScale=date_scale||"custom";return}const preset_range=return_date_range_for_scale({date_scale:date_scale,future_presets:config.date_presets==="future"});if(!preset_range){return}store.global_date_range=preset_range;store.dateScale=date_scale}function return_param_keys(params){const{date_picker:date_picker,owns_sort:owns_sort,custom_layout:custom_layout,pagination:pagination,owns_search:owns_search,extra_param_keys:extra_param_keys=[]}=params;const view_param_keys=[];if(date_picker){view_param_keys.push("date_scale","date_start","date_end")}if(owns_sort){view_param_keys.push("sort_key","sort_order")}view_param_keys.push("filters");if(custom_layout){view_param_keys.push("columns")}extra_param_keys.forEach(key=>{view_param_keys.push(key)});const url_param_keys=view_param_keys.slice();if(owns_search){url_param_keys.push("search")}if(pagination){url_param_keys.push("page")}return{view_param_keys:view_param_keys,url_param_keys:url_param_keys}}const param_group_names={date_scale:"dates",date_start:"dates",date_end:"dates",sort_key:"sort",sort_order:"sort",filters:"filters",columns:"columns"};function return_ordered_params(param_keys,url_params){return param_keys.reduce((ordered_params,key)=>{ordered_params[key]=has_value(url_params[key])?url_params[key]:null;return ordered_params},{})}function return_blank_params(view_param_keys){return return_ordered_params(view_param_keys,{})}function assign_range_params(url_params,timestamps,start_key,end_key){if(timestamps.length!==2){return}url_params[start_key]=timestamps[0];url_params[end_key]=timestamps[1]}function build_params(params){const{config:config,filters:filters,sort:sort,columns:columns,has_default_filters:has_default_filters,dates:dates,extra:extra={}}=params;const url_params=return_blank_params(config.view_param_keys);if(filters.length){url_params.filters=JSON.stringify(filters.map(serialize_filter))}else if(has_default_filters){url_params.filters="[]"}if(config.date_picker){if(dates.date_scale){url_params.date_scale=dates.date_scale}if(!scale_carries_range(dates.date_scale)){assign_range_params(url_params,dates.date_range,"date_start","date_end")}}if(config.owns_sort&&sort&&sort.key){url_params.sort_key=return_sort_key(sort.key);
1url_params.sort_order=sort.order||"descending"}if(config.custom_layout){url_params.columns=JSON.stringify(normalize_columns(columns))}config.extra_param_keys.forEach(key=>{if(has_value(extra[key])){url_params[key]=extra[key]}});return url_params}function return_store_signatures(config){const dates=return_store_dates();const signatures={dates:""};if(config.date_picker){signatures.dates=JSON.stringify({date_scale:dates.date_scale||null,date_range:dates.date_range,reporting_hours:config.reporting_hours?getReportingHoursRange():null})}return signatures}function return_state_signatures(config,state){return{filters:JSON.stringify(state.filters.map(serialize_filter)),sort:JSON.stringify(state.sort),columns:JSON.stringify(state.columns),skip:String(state.skip),search:state.search,extra:config.extra_param_keys.length?JSON.stringify(state.extra):"",...return_store_signatures(config)}}function return_normalized_params(config,url_params,baseline_columns){return config.view_param_keys.reduce((normalized,key)=>{if(key==="filters"){normalized[key]=return_sorted_filters(parse_filters(url_params.filters))}else if(key==="columns"){const columns=parse_columns(url_params.columns);normalized[key]=columns.length?columns:copy_items(baseline_columns)}else if(key==="date_scale"&&url_params.date_scale){normalized[key]=url_params.date_scale.toLowerCase()}else if((key==="date_start"||key==="date_end")&&scale_carries_range(url_params.date_scale)){normalized[key]=null}else{normalized[key]=url_params[key]||null}return normalized},{})}function return_params_signature(config,url_params,baseline_columns){if(!url_params){return""}return JSON.stringify(return_normalized_params(config,url_params,baseline_columns))}function return_snapshot(state){return{filters:copy_items(state.filters),sort:{...state.sort},columns:copy_items(state.columns),skip:state.skip,search:state.search}}function warn_unowned(config,capability,option){console.warn("table state for "+(config.dashboard_key||"this table")+" cannot "+capability+": add "+option+" to create_table_state().")}function create_change_queue(){let change_handler=null;let is_queued=false;let pending_fields=[];let pending_source="user";let pending_previous=null;return{set_handler(on_change){change_handler=on_change||null},queue(fields,source,previous){fields.forEach(field=>{if(!pending_fields.includes(field)){pending_fields.push(field)}});pending_source=source;if(!pending_previous){pending_previous=previous}if(is_queued){return}is_queued=true;Promise.resolve().then(()=>{const change={fields:pending_fields,source:pending_source,previous:pending_previous};is_queued=false;pending_fields=[];pending_previous=null;pending_source="user";if(!change_handler){return}change_handler(change)})}}}function build_config(params){const{dashboard_key:dashboard_key="",sync_url:sync_url=false,date_picker:date_picker=false,date_presets:date_presets="standard",reporting_hours:reporting_hours=false,custom_layout:custom_layout=false,pagination:pagination=false,page_size:page_size=25,search:owns_search=false,extra_param_keys:extra_param_keys=[],saved_view_scope:saved_view_scope=null,hooks:hooks={},defaults:defaults={}}=params;const default_sort=defaults.sort&&defaults.sort.key?{key:return_sort_key(defaults.sort.key),order:defaults.sort.order||"descending"}:null;const owns_sort=Boolean(default_sort);const normalized_extra_param_keys=Array.isArray(extra_param_keys)?extra_param_keys.filter(key=>typeof key==="string"&&key):[];const{view_param_keys:view_param_keys,url_param_keys:url_param_keys}=return_param_keys({date_picker:date_picker,owns_sort:owns_sort,custom_layout:custom_layout,pagination:pagination,owns_search:owns_search,extra_param_keys:normalized_extra_param_keys});const default_filters=Array.isArray(defaults.filters)?copy_items(defaults.filters):[];return Object.freeze({dashboard_key:dashboard_key,sync_url:sync_url,date_picker:date_picker,date_presets:date_presets,reporting_hours:reporting_hours,custom_layout:custom_layout,pagination:pagination,page_size:page_size,owns_search:owns_search,owns_sort:owns_sort,saved_view_scope:saved_view_scope,extra_param_keys:Object.freeze(normalized_extra_param_keys),view_param_keys:Object.freeze(view_param_keys),url_param_keys:Object.freeze(url_param_keys),default_sort:default_sort,default_columns:Object.freeze(normalize_columns(defaults.columns)),default_filters:Object.freeze(default_filters),hooks:Object.freeze({normalize_filters:hooks.normalize_filters||null})})}let default_store_dates=null;function create_table_state(table_params){const config=build_config(table_params);const change_queue=create_change_queue();if(!default_store_dates){default_store_dates=return_store_dates()}let baseline_filters=copy_items(config.default_filters);let baseline_columns=copy_items(config.default_columns);let baseline_params=null;let has_hydrated=false;let observed_signatures={dates:""};function apply_params_to_state(url_params,source){const before=return_state_signatures(config,state);state.filters=copy_items(baseline_filters);state.sort=return_default_sort(config.default_sort);state.columns=copy_items(baseline_columns);state.skip=config.pagination?return_skip_for_page(url_params&&url_params.page,config.page_size):0;if(source==="reset"){state.search=""}if(url_params){if(config.owns_search&&has_value(url_params.search)){state.search=String(url_params.search)}
1if(has_value(url_params.filters)){state.filters=return_normalized_filters(config,parse_filters(url_params.filters),source)}if(config.owns_sort&&has_value(url_params.sort_key)){state.sort={key:return_sort_key(url_params.sort_key),order:url_params.sort_order||"descending"}}if(config.custom_layout){const parsed_columns=parse_columns(url_params.columns);if(parsed_columns.length){state.columns=parsed_columns}}if(config.date_picker&&source!=="reset"){apply_date_params(config,url_params)}if(config.extra_param_keys.length){config.extra_param_keys.forEach(key=>{state.extra[key]=has_value(url_params[key])?url_params[key]:null})}}const after=return_state_signatures(config,state);observed_signatures={dates:after.dates};return Object.keys(before).filter(field=>before[field]!==after[field])}function return_changed_param_keys(url_params){if(!baseline_params){return config.view_param_keys.slice()}const normalized=return_normalized_params(config,url_params,baseline_columns);const baseline_normalized=return_normalized_params(config,baseline_params,baseline_columns);const changed_keys=config.view_param_keys.filter(key=>JSON.stringify(normalized[key])!==JSON.stringify(baseline_normalized[key]));const changed_groups=changed_keys.map(key=>param_group_names[key]||key);return config.view_param_keys.filter(key=>changed_groups.includes(param_group_names[key]||key))}function return_changed_params(url_params){const changed_params=return_blank_params(config.view_param_keys);return_changed_param_keys(url_params).forEach(key=>{changed_params[key]=url_params[key]});return changed_params}function write_url(){if(!config.sync_url){return}const url_params=return_changed_params(state.to_params());if(config.pagination){url_params.page=return_page_for_skip(state.skip,config.page_size)}if(config.owns_search){url_params.search=state.search?state.search:null}update_url_params(return_ordered_params(config.url_param_keys,url_params))}function after_change(fields,source,previous){const changes_the_rows=fields.some(field=>field!=="columns"&&field!=="skip");if(config.pagination&&state.skip&&source==="user"&&changes_the_rows){state.skip=0}write_url();change_queue.queue(fields,source,previous)}function go_to_skip(skip){if(!config.pagination){warn_unowned(config,"page","pagination: true");return}const next_skip=Math.max(skip,0);if(next_skip===state.skip){return}const previous=return_snapshot(state);state.skip=next_skip;after_change(["skip"],"user",previous)}function notify_store_change(field){const signature=return_store_signatures(config)[field];if(signature===observed_signatures[field]){return}observed_signatures[field]=signature;after_change([field],"user",return_snapshot(state))}const state=reactive({filters:copy_items(config.default_filters),sort:return_default_sort(config.default_sort),columns:copy_items(config.default_columns),skip:0,search:"",extra:{},active_view_id:null,dashboard_key:config.dashboard_key,saved_views_key:"",page_size:config.page_size,owns_dates:config.date_picker,date_presets:config.date_presets,owns_reporting_hours:config.reporting_hours,owns_columns:config.custom_layout,owns_pagination:config.pagination,extra_param_keys:config.extra_param_keys,hydrate(on_change){change_queue.set_handler(on_change);this.saved_views_key=config.saved_view_scope?config.dashboard_key+":"+config.saved_view_scope():config.dashboard_key;if(config.custom_layout){const stored_columns=read_column_preference(config.dashboard_key);baseline_columns=stored_columns?stored_columns:copy_items(config.default_columns);if(!has_hydrated){this.columns=copy_items(baseline_columns)}}has_hydrated=true;baseline_filters=return_normalized_filters(config,config.default_filters,"default");baseline_params=build_params({config:config,filters:baseline_filters,sort:config.default_sort,columns:baseline_columns,has_default_filters:Boolean(baseline_filters.length),dates:default_store_dates});const url_params=returnUrlSearchParams();const carries_configuration=config.url_param_keys.some(key=>has_value(url_params[key]));if(carries_configuration){apply_params_to_state(url_params,"url")}else if(config.hooks.normalize_filters){this.filters=return_normalized_filters(config,this.filters,"session")}observed_signatures=return_store_signatures(config);write_url()},set_filters(filters){const previous=return_snapshot(this);this.filters=return_normalized_filters(config,filters,"user");after_change(["filters"],"user",previous)},add_date_filter(data){if(!data||!data.category){return}const start=new Date(data.start);const end=new Date(data.end);const option={category:data.category,type:"date",label:data.category+": "+start.toLocaleDateString()+" - "+end.toLocaleDateString(),start:start,end:end,selectedDropdown:data.selectedDropdown};const filters=copy_items(this.filters);const index=filters.findIndex(filter_option=>filter_option.category===data.category);if(index>=0){filters[index]=option}else{filters.push(option)}this.set_filters(filters)},remove_date_filter(option){if(!option||!option.category){return}const filters=this.filters.filter(filter_option=>filter_option.category!==option.category);if(filters.length===this.filters.length){return}this.set_filters(filters)},keys_for_category(category){return this.filters.filter(option=>option.category===category).reduce((keys,option)=>keys.concat(option.key),[])},option_for_key(key){return this.filters.find(option=>option.key===key)||null},date_filter_for_category(category){return this.filters.find(option=>option.type==="date"&&option.category===category&&option.start&&option.end)||null},toggle_sort(key){const order=this.sort.key===key&&this.sort.order==="descending"?"ascending":"descending";this.set_sort(key,order)},set_sort(key,order){if(!config.owns_sort){warn_unowned(config,"sort by "+key,"defaults.sort");return}if(!key){return}const sort_key=return_sort_key(key);
1const sort_order=order||"descending";if(this.sort.key===sort_key&&this.sort.order===sort_order){return}const previous=return_snapshot(this);this.sort={key:sort_key,order:sort_order};after_change(["sort"],"user",previous)},set_columns(columns,persist_preference){const previous=return_snapshot(this);this.columns=normalize_columns(columns);if(persist_preference){baseline_columns=copy_items(this.columns);write_column_preference(config.dashboard_key,this.columns);if(config.custom_layout&&baseline_params){baseline_params.columns=JSON.stringify(baseline_columns)}}after_change(["columns"],"user",previous)},next_page(){go_to_skip(this.skip+config.page_size)},prev_page(){go_to_skip(this.skip-config.page_size)},first_page(){go_to_skip(0)},last_page(count){const last_page_number=Math.ceil(count/config.page_size);go_to_skip(Math.max(last_page_number-1,0)*config.page_size)},paginate_query(query){handle_sort_and_skip(query,this.sort,this.skip);if(!config.pagination){warn_unowned(config,"page","pagination: true");return query}query.limit(config.page_size);query.withCount();return query},set_search(term){if(!config.owns_search){warn_unowned(config,"search","search: true");return}const committed=term?String(term):"";if(committed===this.search){return}const previous=return_snapshot(this);this.search=committed;after_change(["search"],"user",previous)},notify_dates(){notify_store_change("dates")},set_extra_params(updates){if(!config.extra_param_keys.length||!updates){return}const previous=return_snapshot(this);Object.keys(updates).forEach(key=>{if(config.extra_param_keys.indexOf(key)!==-1){this.extra[key]=has_value(updates[key])?updates[key]:null}});after_change(["extra"],"user",previous)},notify_change(field){const previous=return_snapshot(this);after_change([field||"input"],"user",previous)},set_active_view(view_id,view_params){this.active_view_id=view_id||null;if(view_params){this.apply_params(view_params,"saved_view")}},reset_to_defaults(){this.active_view_id=null;this.apply_params(baseline_params,"reset")},apply_params(url_params,source){const change_source=source||"user";const previous=return_snapshot(this);const fields=apply_params_to_state(url_params,change_source);if(!fields.length){return}after_change(fields,change_source,previous)},to_params(){return build_params({config:config,filters:this.filters,sort:this.sort,columns:this.columns,has_default_filters:Boolean(baseline_filters.length),dates:return_store_dates(),extra:this.extra})},to_query_string(){const url_params=return_changed_params(this.to_params());const search_params=new URLSearchParams;config.view_param_keys.forEach(key=>{if(has_value(url_params[key])){search_params.set(key,url_params[key])}});return search_params.toString()},signature_for(url_params){return return_params_signature(config,url_params,baseline_columns)},matches_full_defaults(){return!return_changed_param_keys(this.to_params()).length},matches_resettable_defaults(){const default_sort=return_default_sort(config.default_sort);const filters=return_sorted_filters(this.filters);const default_filters=return_sorted_filters(baseline_filters);return!this.skip&&JSON.stringify(filters)===JSON.stringify(default_filters)&&JSON.stringify(this.sort)===JSON.stringify(default_sort)&&JSON.stringify(this.columns)===JSON.stringify(baseline_columns)}});return state}const table_search_mixin={beforeUnmount(){clearTimeout(this._search_timeout)},methods:{update_search(new_search){clearTimeout(this._search_timeout);this._search_timeout=setTimeout(()=>{this.table_state.set_search(new_search)},store.search_interval_ms)}}};const latest_tokens=new WeakMap;function take_latest(component,key,params){const{query:query,on_success:on_success,on_error:on_error,on_complete:on_complete}=params;if(!component.$options.data){console.warn(`take_latest('${key}') needs a component with data() to scope its keys to.`)}if(!latest_tokens.has(component.$data)){latest_tokens.set(component.$data,{})}const tokens=latest_tokens.get(component.$data);tokens[key]=(tokens[key]||0)+1;const token=tokens[key];const call_if_latest=(callback,value)=>{if(token!==tokens[key]||!callback){return}callback(value)};return Promise.resolve().then(()=>query()).then(result=>{call_if_latest(on_success,result)},error=>{checkParseError(error);call_if_latest(on_error,error)}).finally(()=>{call_if_latest(on_complete)})}window.create_table_state=create_table_state;window.table_search_mixin=table_search_mixin;window.take_latest=take_latest})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.