fix: allow inactive members in departments (#10983)

Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com>
This commit is contained in:
Alexander Onnikov
2026-07-17 16:43:14 +07:00
committed by GitHub
parent 293bc91888
commit 21dfcf0774
9 changed files with 110 additions and 53 deletions
@@ -128,6 +128,7 @@
}
let resultOptions = options
let resultQuery: DocumentQuery<Doc> = query
const update = reduceCalls(async function (
_class: Ref<Class<Doc>>,
@@ -137,10 +138,12 @@
lookup: Lookup<Doc>,
associations: AssociationQuery[] | undefined,
limit: number,
options: FindOptions<Doc> | undefined
options: FindOptions<Doc> | undefined,
viewOptionsConfig: ViewOptionModel[] | undefined,
viewOptions: ViewOptions | undefined
) {
const p = await getResultQuery(hierarchy, query, viewOptionsConfig, viewOptions)
const resultQuery = mergeQueries(p, query)
resultQuery = mergeQueries(p, query)
loading += q.query(
_class,
resultQuery,
@@ -159,7 +162,18 @@
? 1
: 0
})
$: void update(_class, query, _sortKey, sortOrder, lookup, associations, limit, resultOptions)
$: void update(
_class,
query,
_sortKey,
sortOrder,
lookup,
associations,
limit,
resultOptions,
viewOptionsConfig,
viewOptions
)
$: void getResultOptions(options, viewOptionsConfig, viewOptions).then((p) => {
resultOptions = p
@@ -170,7 +184,7 @@
const qSlow = createQuery()
$: qSlow.query(
_class,
query,
resultQuery,
(result) => {
total = result.total
if (totalQuery === undefined) {
@@ -139,6 +139,7 @@
}
let resultOptions = options
let resultQuery: DocumentQuery<Doc> = query
const update = reduceCalls(async function (
_class: Ref<Class<Doc>>,
@@ -148,10 +149,12 @@
lookup: Lookup<Doc>,
associations: AssociationQuery[] | undefined,
limit: number,
options: FindOptions<Doc> | undefined
options: FindOptions<Doc> | undefined,
viewOptionsConfig: ViewOptionModel[] | undefined,
viewOptions: ViewOptions | undefined
) {
const p = await getResultQuery(hierarchy, query, viewOptionsConfig, viewOptions)
const resultQuery = mergeQueries(p, query)
resultQuery = mergeQueries(p, query)
loading += q.query(
_class,
resultQuery,
@@ -170,7 +173,18 @@
? 1
: 0
})
$: void update(_class, query, _sortKey, sortOrder, lookup, associations, limit, resultOptions)
$: void update(
_class,
query,
_sortKey,
sortOrder,
lookup,
associations,
limit,
resultOptions,
viewOptionsConfig,
viewOptions
)
$: void getResultOptions(options, viewOptionsConfig, viewOptions).then((p) => {
resultOptions = p
@@ -181,7 +195,7 @@
const qSlow = createQuery()
$: qSlow.query(
_class,
query,
resultQuery,
(result) => {
total = result.total
if (totalQuery === undefined) {
@@ -65,8 +65,9 @@
}
const changeToggle = (model: ViewOptionModel) => {
viewOptions[model.key] = !viewOptions[model.key]
dispatch('update', { key: model.key, value: viewOptions[model.key] })
const value = !(viewOptions[model.key] ?? model.defaultValue)
viewOptions[model.key] = value
dispatch('update', { key: model.key, value })
}
// checking if selector provides multiple choice options
@@ -143,12 +144,16 @@
>
<span class="overflow-label"><Label label={model.label} /></span>
{#if isToggleType(model)}
<Toggle
on={viewOptions[model.key] ?? model.defaultValue}
on:change={() => {
changeToggle(model)
}}
/>
<!-- svelte-ignore a11y-click-events-have-key-events -->
<!-- svelte-ignore a11y-no-static-element-interactions -->
<span on:click|stopPropagation>
<Toggle
on={viewOptions[model.key] ?? model.defaultValue}
on:change={() => {
changeToggle(model)
}}
/>
</span>
{:else if isDropdownType(model)}
{@const items = model.values.filter(({ hidden }) => !hidden?.(viewOptions))}
<DropdownLabelsIntl