Files
AtreidesAssetsFree/client/data/preferences.js
T

35 lines
1.4 KiB
JavaScript
Raw Permalink Normal View History

2026-10-29 11:57:29 +01:00
// Generated, do not edit. sha256:b4ad8c5f7165b15620e02825794b0dddb66d0170a5147e3133d866b2a23f0721
import { rpc } from './_rpc.js';
export const deletePref = (...args) => rpc('preferences', 'deletePref', ...args);
export const getPref = (...args) => rpc('preferences', 'getPref', ...args);
export const getSettings = (...args) => rpc('preferences', 'getSettings', ...args);
export const setPref = (...args) => rpc('preferences', 'setPref', ...args);
export const updateSettings = (...args) => rpc('preferences', 'updateSettings', ...args);
export async function tableViewCfg(scope, defaultSort = null, fixedGroup = null) {
const k = `table.${scope}`;
if (fixedGroup) {
const sticky = await getPref(k, 'sticky', {});
return {
sticky,
onStickyChange: v => setPref(k, 'sticky', v).catch(() => { }),
sort: defaultSort, defaultSort, group: fixedGroup, groupChoice: false,
};
}
const view = await getPref(k, 'view',
{ sort: defaultSort, group: null, group2: null, group3: null, groupFilter: {}, groupCollapsed: {} });
const sticky = await getPref(k, 'sticky', {});
return {
sticky,
onStickyChange: v => setPref(k, 'sticky', v).catch(() => { }),
sort: view.sort,
group: view.group,
group2: view.group2 ?? null,
group3: view.group3 ?? null,
groupFilter: view.groupFilter ?? {},
groupCollapsed: view.groupCollapsed ?? {},
defaultSort,
onStateChange: v => setPref(k, 'view', v).catch(() => { }),
};
}