From 6e8f4ab030cd26ae2e21f392429453b202cd8ac4 Mon Sep 17 00:00:00 2001 From: Denis Bykhov Date: Mon, 25 Mar 2024 13:35:42 +0500 Subject: [PATCH] UBERF-6091 (#5055) Signed-off-by: Denis Bykhov --- models/setting/src/index.ts | 3 ++- models/time/src/index.ts | 1 + packages/ui/src/components/RadioButton.svelte | 2 +- packages/ui/src/resize.ts | 1 - packages/ui/src/types.ts | 2 +- plugins/workbench-resources/src/components/Workbench.svelte | 2 +- plugins/workbench/src/index.ts | 1 + server/core/src/mem.ts | 6 +++++- 8 files changed, 12 insertions(+), 6 deletions(-) diff --git a/models/setting/src/index.ts b/models/setting/src/index.ts index 4de7cebdab..43120cbe2a 100644 --- a/models/setting/src/index.ts +++ b/models/setting/src/index.ts @@ -320,7 +320,8 @@ export function createModel (builder: Builder): void { icon: setting.icon.Setting, alias: settingId, hidden: true, - component: setting.component.Settings + component: setting.component.Settings, + modern: true }, setting.ids.SettingApp ) diff --git a/models/time/src/index.ts b/models/time/src/index.ts index d54eed4d3a..da7c07d685 100644 --- a/models/time/src/index.ts +++ b/models/time/src/index.ts @@ -194,6 +194,7 @@ export function createModel (builder: Builder): void { alias: timeId, hidden: false, position: 'top', + modern: true, component: time.component.Me }, time.app.Me diff --git a/packages/ui/src/components/RadioButton.svelte b/packages/ui/src/components/RadioButton.svelte index 5161ee7b0c..e6b9cc8ecf 100644 --- a/packages/ui/src/components/RadioButton.svelte +++ b/packages/ui/src/components/RadioButton.svelte @@ -26,7 +26,7 @@ export let labelSize: 'medium' | 'large' = 'medium' export let labelIntl: IntlString | undefined = undefined export let labelParams: Record | undefined = undefined - export let action: () => void = () => {} + export let action: (() => void) | (() => Promise) = () => {} export let gap: 'large' | 'small' | 'medium' | 'none' = 'none' export let labelGap: 'large' | 'medium' = 'medium' export let kind: 'primary' | 'positive' | 'negative' | 'default' = 'default' diff --git a/packages/ui/src/resize.ts b/packages/ui/src/resize.ts index eb706f39f5..5b8f80fad1 100644 --- a/packages/ui/src/resize.ts +++ b/packages/ui/src/resize.ts @@ -163,7 +163,6 @@ export const settingsSeparators: DefSeparators = [ null, { minSize: 19, size: 30, maxSize: 32, float: 'aside' } ] -export const loveSeparators: DefSeparators = [{ minSize: 26, size: 27, maxSize: 28, float: 'navigator' }, null] export const secondNavSeparators: DefSeparators = [{ minSize: 7, size: 7.5, maxSize: 15, float: 'navigator' }, null] diff --git a/packages/ui/src/types.ts b/packages/ui/src/types.ts index 3b5afd182c..62d881b928 100644 --- a/packages/ui/src/types.ts +++ b/packages/ui/src/types.ts @@ -134,7 +134,7 @@ export interface RadioItem { labelParams?: Record value: any disabled?: boolean - action?: () => void + action?: (() => void) | (() => Promise) } export type ButtonBaseType = 'type-button' | 'type-button-icon' diff --git a/plugins/workbench-resources/src/components/Workbench.svelte b/plugins/workbench-resources/src/components/Workbench.svelte index 8d854278fd..980f6db2de 100644 --- a/plugins/workbench-resources/src/components/Workbench.svelte +++ b/plugins/workbench-resources/src/components/Workbench.svelte @@ -616,7 +616,7 @@ defineSeparators('workbench', workbenchSeparators) let modern: boolean - $: modern = ['setting', 'time', 'love'].some((app) => currentApplication?.alias === app) + $: modern = currentApplication?.modern ?? false {#if employee && !employee.active} diff --git a/plugins/workbench/src/index.ts b/plugins/workbench/src/index.ts index 42278568ad..f4ac413af8 100644 --- a/plugins/workbench/src/index.ts +++ b/plugins/workbench/src/index.ts @@ -44,6 +44,7 @@ export interface Application extends Doc { checkIsHeaderHidden?: Resource<() => Promise> checkIsHeaderDisabled?: Resource<() => Promise> navFooterComponent?: AnyComponent + modern?: boolean } /** diff --git a/server/core/src/mem.ts b/server/core/src/mem.ts index 26d3901882..6e7c8a9d46 100644 --- a/server/core/src/mem.ts +++ b/server/core/src/mem.ts @@ -13,7 +13,7 @@ // limitations under the License. // -import { +import core, { type Class, type Doc, type DocumentQuery, @@ -92,6 +92,10 @@ class InMemoryAdapter extends DummyDbAdapter implements DbAdapter { return await this.modeldb.findAll(_class, query, options) } + async load (domain: Domain, docs: Ref[]): Promise { + return await this.modeldb.findAll(core.class.Doc, { _id: { $in: docs } }) + } + async tx (ctx: MeasureContext, ...tx: Tx[]): Promise { return await this.modeldb.tx(...tx) }