Process minor ui fixes (#9766)

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
This commit is contained in:
Denis Bykhov
2025-09-03 17:03:55 +07:00
committed by GitHub
parent c18617c3a3
commit e1ca3b625d
11 changed files with 65 additions and 7 deletions
+6
View File
@@ -502,6 +502,7 @@ export function createModel (builder: Builder): void {
type: 'transform',
category: 'attribute',
label: process.string.Add,
presenter: process.transformPresenter.NumberPresenter,
allowMany: true,
editor: process.transformEditor.NumberEditor
},
@@ -515,6 +516,7 @@ export function createModel (builder: Builder): void {
of: core.class.TypeNumber,
category: 'attribute',
label: process.string.Subtract,
presenter: process.transformPresenter.NumberPresenter,
allowMany: true,
editor: process.transformEditor.NumberEditor,
type: 'transform'
@@ -529,6 +531,7 @@ export function createModel (builder: Builder): void {
of: core.class.TypeNumber,
category: 'attribute',
label: process.string.Multiply,
presenter: process.transformPresenter.NumberPresenter,
type: 'transform',
allowMany: true,
editor: process.transformEditor.NumberEditor
@@ -543,6 +546,7 @@ export function createModel (builder: Builder): void {
of: core.class.TypeNumber,
category: 'attribute',
label: process.string.Divide,
presenter: process.transformPresenter.NumberPresenter,
type: 'transform',
allowMany: true,
editor: process.transformEditor.NumberEditor
@@ -557,6 +561,7 @@ export function createModel (builder: Builder): void {
of: core.class.TypeNumber,
category: 'attribute',
label: process.string.Modulo,
presenter: process.transformPresenter.NumberPresenter,
type: 'transform',
allowMany: true,
editor: process.transformEditor.NumberEditor
@@ -571,6 +576,7 @@ export function createModel (builder: Builder): void {
of: core.class.TypeNumber,
category: 'attribute',
label: process.string.Power,
presenter: process.transformPresenter.NumberPresenter,
type: 'transform',
allowMany: true,
editor: process.transformEditor.NumberEditor
+1 -1
View File
@@ -42,7 +42,7 @@
"ConfigDescription": "Rozšíření pro správu znalostí ve stylu databáze.",
"AddCollaborators": "Přidat spolupracovníky",
"Home": "Domů",
"WhatDoYouWantToShare": "Co chcete sdílet?",
"WhatDoYouWantToShare": "Čím chcete sdílet?",
"Share": "Sdílet",
"Compact": "Kompaktní",
"Comfortable": "Komfortní",
+1 -1
View File
@@ -42,7 +42,7 @@
"ConfigDescription": "Расширение для управления знаниями в стиле базы данных.",
"AddCollaborators": "Добавить сотрудников",
"Home": "Дом",
"WhatDoYouWantToShare": то вы хотите поделиться?",
"WhatDoYouWantToShare": ем вы хотите поделиться?",
"Share": "Поделиться",
"Compact": "Компактный",
"Comfortable": "Комфортный",
@@ -13,7 +13,6 @@
// limitations under the License.
-->
<script lang="ts">
import { MasterTag, Tag } from '@hcengineering/card'
import { AnyAttribute, Class, Doc, DocumentQuery, Ref } from '@hcengineering/core'
import { getClient } from '@hcengineering/presentation'
import { Context, Func, Process, ProcessFunction, SelectedContext } from '@hcengineering/process'
@@ -28,7 +28,7 @@
{#if func !== undefined}
<div class="container">
{#if func.presenter !== undefined}
<Component is={func.presenter} props={{ props: value.props, context, process }} />
<Component is={func.presenter} props={{ value, context, process }} />
{:else}
<Label label={func.label} />
{/if}
@@ -231,7 +231,6 @@
&.context {
background: #3575de33;
padding-left: 0.75rem;
border-color: var(--primary-button-default);
}
}
@@ -176,7 +176,6 @@
&.context {
background: #3575de33;
padding-left: 0.75rem;
border-color: var(--primary-button-default);
}
}
@@ -18,7 +18,7 @@
import process from '../../plugin'
import ui, { DropdownIntlItem, DropdownLabelsIntl, NumberInput } from '@hcengineering/ui'
export const props: Record<string, any> = {}
export let props: Record<string, any>
let offset = props?.offset
let offsetType = props?.offsetType ?? 'days'
@@ -0,0 +1,48 @@
<!--
// Copyright © 2025 Hardcore Engineering Inc.
//
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. You may
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
-->
<script lang="ts">
import { Context, Func, parseContext, Process } from '@hcengineering/process'
import plugin from '../../plugin'
import ContextValuePresenter from '../attributeEditors/ContextValuePresenter.svelte'
export let value: Func
export let process: Process
export let context: Context
const ops = {
[plugin.function.Add]: '+',
[plugin.function.Subtract]: '-',
[plugin.function.Multiply]: '×',
[plugin.function.Divide]: '/',
[plugin.function.Modulo]: '%',
[plugin.function.Power]: '^'
}
$: op = ops[value.func as keyof typeof ops]
$: val = value.props?.value
$: contextValue = parseContext(val)
</script>
<div class="flex-row-center flex-gap-2">
{#if op !== undefined}
{op}
{/if}
{#if contextValue && context}
<ContextValuePresenter {contextValue} {context} {process} />
{:else}
{val}
{/if}
</div>
+4
View File
@@ -68,6 +68,7 @@ import AppendEditor from './components/transformEditors/AppendEditor.svelte'
import CutEditor from './components/transformEditors/CutEditor.svelte'
import ReplaceEditor from './components/transformEditors/ReplaceEditor.svelte'
import SplitEditor from './components/transformEditors/SplitEditor.svelte'
import NumberPresenter from './components/transformPresenters/NumberPresenter.svelte'
import { ProcessMiddleware } from './middleware'
import {
continueExecution,
@@ -135,6 +136,9 @@ export default async (): Promise<Resources> => ({
EnumCriteria,
ArrayCriteria
},
transformPresenter: {
NumberPresenter
},
transformEditor: {
ArrayElementEditor,
DateOffsetEditor,
+3
View File
@@ -85,6 +85,9 @@ export default mergeIds(processId, process, {
SplitEditor: '' as AnyComponent,
CutEditor: '' as AnyComponent
},
transformPresenter: {
NumberPresenter: '' as AnyComponent
},
function: {
ShowDoneQuery: '' as ViewQueryAction,
CreateMiddleware: '' as Resource<PresentationMiddlewareCreator>