From cde98405fc5a1c1a4209cfa646fd486c8bc300dc Mon Sep 17 00:00:00 2001 From: caichi <54824604+caichi-t@users.noreply.github.com> Date: Thu, 17 Oct 2024 13:20:18 +0900 Subject: [PATCH 1/6] fix(web): add some missing styling (#1257) * asset table * item information card * field update modal title * asset name * show folder and file icon on asset tree --- web/src/components/atoms/Icon/icons.ts | 2 + .../Asset/AssetBody/UnzipFileList/index.tsx | 12 +++++- .../molecules/Asset/AssetListTable/index.tsx | 7 +++- .../molecules/Common/Form/AssetItem/index.tsx | 39 ++++++++++--------- .../molecules/Content/Form/SidebarWrapper.tsx | 8 ++-- .../molecules/Schema/FieldModal/index.tsx | 19 +++++---- 6 files changed, 51 insertions(+), 36 deletions(-) diff --git a/web/src/components/atoms/Icon/icons.ts b/web/src/components/atoms/Icon/icons.ts index 2b118d8a60..ba1edb677e 100644 --- a/web/src/components/atoms/Icon/icons.ts +++ b/web/src/components/atoms/Icon/icons.ts @@ -33,6 +33,7 @@ import { MenuFoldOutlined, MenuUnfoldOutlined, FolderOutlined, + FolderOpenOutlined, LinkOutlined, UserAddOutlined, ClearOutlined, @@ -137,6 +138,7 @@ export default { panelToggleLeft: MenuFoldOutlined, panelToggleRight: MenuUnfoldOutlined, folder: FolderOutlined, + folderOpen: FolderOpenOutlined, dot: Dot, userAdd: UserAddOutlined, clear: ClearOutlined, diff --git a/web/src/components/molecules/Asset/Asset/AssetBody/UnzipFileList/index.tsx b/web/src/components/molecules/Asset/Asset/AssetBody/UnzipFileList/index.tsx index 6b21de1ba6..2673273199 100644 --- a/web/src/components/molecules/Asset/Asset/AssetBody/UnzipFileList/index.tsx +++ b/web/src/components/molecules/Asset/Asset/AssetBody/UnzipFileList/index.tsx @@ -74,13 +74,15 @@ const UnzipFileList: React.FC = ({ ) : ( treeData && ( } + switcherIcon={({ expanded }) => ( + + )} defaultExpandedKeys={["0-0"]} selectedKeys={selectedKeys} onSelect={handleSelect} treeData={treeData} multiple={false} - showLine + showLine={{ showLeafIcon: true }} titleRender={({ title, key, path }) => { return ( <> @@ -144,4 +146,10 @@ const CopyIcon = styled(Icon)` } `; +const SwitcherIcon = styled(Icon)` + svg { + transform: none !important; + } +`; + export default UnzipFileList; diff --git a/web/src/components/molecules/Asset/AssetListTable/index.tsx b/web/src/components/molecules/Asset/AssetListTable/index.tsx index 631f676069..61b4f1fd75 100644 --- a/web/src/components/molecules/Asset/AssetListTable/index.tsx +++ b/web/src/components/molecules/Asset/AssetListTable/index.tsx @@ -291,7 +291,12 @@ const AssetListTable: React.FC = ({ onClick={props.onCleanSelected}> {t("Deselect")} - + , ]}> -
+ Date: Thu, 17 Oct 2024 14:39:39 +0900 Subject: [PATCH 3/6] fix(web): incorrect default value for filter (#1267) * fix: nullable filter * fix: default value bug --------- Co-authored-by: Kazuma Tsuchiya <> --- .../Content/Table/DropdownRender/hooks.ts | 71 ++++++++++++------- .../Content/Table/DropdownRender/index.tsx | 14 +--- .../Content/Table/filterDropdown.tsx | 4 +- 3 files changed, 50 insertions(+), 39 deletions(-) diff --git a/web/src/components/molecules/Content/Table/DropdownRender/hooks.ts b/web/src/components/molecules/Content/Table/DropdownRender/hooks.ts index 6847a952e1..9ca30a16ae 100644 --- a/web/src/components/molecules/Content/Table/DropdownRender/hooks.ts +++ b/web/src/components/molecules/Content/Table/DropdownRender/hooks.ts @@ -1,4 +1,4 @@ -import { Dayjs } from "dayjs"; +import dayjs, { Dayjs } from "dayjs"; import { useRef, useEffect, useCallback, useMemo, useState, Dispatch, SetStateAction } from "react"; import { DatePickerProps } from "@reearth-cms/components/atoms/DatePicker"; @@ -38,15 +38,34 @@ export default ( const t = useT(); const [form] = Form.useForm(); + const defaultValueGet = useCallback(() => { + switch (filter.type) { + case "Select": + case "Tag": + case "Person": + case "Bool": + case "Checkbox": + return defaultValue?.value?.toString(); + case "Date": + return defaultValue && defaultValue.value !== "" ? dayjs(defaultValue.value) : undefined; + default: + return defaultValue?.value; + } + }, [defaultValue, filter.type]); + useEffect(() => { - if (open && !defaultValue) { - form.resetFields(); - setIsShowInputField(true); - if (!isFilter && filterOption.current) { - filterOption.current.value = "ASC"; + if (open) { + if (defaultValue) { + form.setFieldsValue({ condition: defaultValue.operator, value: defaultValueGet() }); + } else { + form.resetFields(); + setIsShowInputField(true); + if (!isFilter && filterOption.current) { + filterOption.current.value = "ASC"; + } } } - }, [open, form, defaultValue, isFilter]); + }, [open, form, defaultValue, isFilter, defaultValueGet]); const options = useMemo(() => { const result: { @@ -236,31 +255,33 @@ export default ( const filterValue = useRef(); useEffect(() => { + let isShow = true; if (defaultValue) { + const { operator, operatorType, value } = defaultValue; filterOption.current = { - value: defaultValue.operator, - operatorType: defaultValue.operatorType, + value: operator, + operatorType, }; - filterValue.current = defaultValue.value; + filterValue.current = value; + if ( + operatorType === "nullable" || + operator === TimeOperator.OfThisWeek || + operator === TimeOperator.OfThisMonth || + operator === TimeOperator.OfThisYear + ) { + isShow = false; + } } else { + const { value, operatorType } = options[0]; filterOption.current = { - value: options[0].value, - operatorType: options[0].operatorType, + value, + operatorType, }; + if (operatorType === "nullable") { + isShow = false; + } } - - if (defaultValue?.operatorType === "nullable") { - setIsShowInputField(false); - } else if ( - defaultValue?.operator === TimeOperator.OfThisWeek || - defaultValue?.operator === TimeOperator.OfThisMonth || - defaultValue?.operator === TimeOperator.OfThisYear - ) { - setIsShowInputField(false); - defaultValue.value = ""; - } else { - setIsShowInputField(true); - } + setIsShowInputField(isShow); }, [defaultValue, options]); const confirm = useCallback(() => { diff --git a/web/src/components/molecules/Content/Table/DropdownRender/index.tsx b/web/src/components/molecules/Content/Table/DropdownRender/index.tsx index b097161677..50f267e6cc 100644 --- a/web/src/components/molecules/Content/Table/DropdownRender/index.tsx +++ b/web/src/components/molecules/Content/Table/DropdownRender/index.tsx @@ -1,5 +1,4 @@ import styled from "@emotion/styled"; -import dayjs from "dayjs"; import { Dispatch, SetStateAction } from "react"; import Button from "@reearth-cms/components/atoms/Button"; @@ -77,7 +76,7 @@ const DropdownRender: React.FC = ({ style={{ width: 160 }} options={options} onSelect={onFilterSelect} - defaultValue={defaultValue?.operator ?? options[0].value} + defaultValue={options[0].value} getPopupContainer={trigger => trigger.parentNode} /> @@ -91,7 +90,6 @@ const DropdownRender: React.FC = ({ + )} )} diff --git a/web/src/components/molecules/Content/Table/filterDropdown.tsx b/web/src/components/molecules/Content/Table/filterDropdown.tsx index 20459aac30..9446bf7082 100644 --- a/web/src/components/molecules/Content/Table/filterDropdown.tsx +++ b/web/src/components/molecules/Content/Table/filterDropdown.tsx @@ -28,7 +28,7 @@ type Props = { const FilterDropdown: React.FC = ({ filter, index, - defaultValue: value, + defaultValue, filterRemove, isFilterOpen, currentView, @@ -61,7 +61,7 @@ const FilterDropdown: React.FC = ({ filter={filter} index={index} close={close} - defaultValue={value} + defaultValue={defaultValue} open={open} isFilter={true} currentView={currentView} From 6029152cbc6a2b392b8dfe12a6d078f2c55ed93b Mon Sep 17 00:00:00 2001 From: yk-eukarya <81808708+yk-eukarya@users.noreply.github.com> Date: Thu, 17 Oct 2024 10:47:54 +0200 Subject: [PATCH 4/6] fix(server): all roles should be able to publish item by default (#1268) imp --- server/internal/usecase/interactor/project.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/internal/usecase/interactor/project.go b/server/internal/usecase/interactor/project.go index 82428de199..348da4902b 100644 --- a/server/internal/usecase/interactor/project.go +++ b/server/internal/usecase/interactor/project.go @@ -3,6 +3,7 @@ package interactor import ( "context" "errors" + "github.com/reearth/reearth-cms/server/internal/usecase" "github.com/reearth/reearth-cms/server/internal/usecase/gateway" "github.com/reearth/reearth-cms/server/internal/usecase/interfaces" @@ -62,7 +63,7 @@ func (i *Project) Create(ctx context.Context, p interfaces.CreateProjectParam, o if len(p.RequestRoles) > 0 { pb = pb.RequestRoles(p.RequestRoles) } else { - pb = pb.RequestRoles([]workspace.Role{workspace.RoleOwner, workspace.RoleMaintainer, workspace.RoleWriter, workspace.RoleReader}) + pb = pb.RequestRoles([]workspace.Role{}) } proj, err := pb.Build() From 970f63dd773a15c3c956f09766756245506f2430 Mon Sep 17 00:00:00 2001 From: yk-eukarya <81808708+yk-eukarya@users.noreply.github.com> Date: Fri, 18 Oct 2024 10:45:20 +0200 Subject: [PATCH 5/6] ci: build workflow was not triggered (#1270) imp --- .../{decompressor_build.yml => build_decompressor.yml} | 0 .github/workflows/build_server.yml | 5 ++--- .github/workflows/{web_build.yml => build_web.yml} | 7 +++---- .github/workflows/build_worker.yml | 5 ++--- 4 files changed, 7 insertions(+), 10 deletions(-) rename .github/workflows/{decompressor_build.yml => build_decompressor.yml} (100%) rename .github/workflows/{web_build.yml => build_web.yml} (97%) diff --git a/.github/workflows/decompressor_build.yml b/.github/workflows/build_decompressor.yml similarity index 100% rename from .github/workflows/decompressor_build.yml rename to .github/workflows/build_decompressor.yml diff --git a/.github/workflows/build_server.yml b/.github/workflows/build_server.yml index 954bab97e4..61baaeaadb 100644 --- a/.github/workflows/build_server.yml +++ b/.github/workflows/build_server.yml @@ -1,9 +1,8 @@ name: server-build on: - workflow_run: - workflows: [ci-server] - types: [completed] + push: branches: [main, release] + paths: [server/**] concurrency: group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch }} cancel-in-progress: true diff --git a/.github/workflows/web_build.yml b/.github/workflows/build_web.yml similarity index 97% rename from .github/workflows/web_build.yml rename to .github/workflows/build_web.yml index b35646a6f2..f445fbbaef 100644 --- a/.github/workflows/web_build.yml +++ b/.github/workflows/build_web.yml @@ -1,9 +1,8 @@ name: web-build on: - workflow_run: - workflows: [ci-web] - types: [completed] - branches: [main, release] + push: + branches: [ main, release ] + paths: [ web/** ] concurrency: group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch }} cancel-in-progress: true diff --git a/.github/workflows/build_worker.yml b/.github/workflows/build_worker.yml index 9477556960..7a19a49a99 100644 --- a/.github/workflows/build_worker.yml +++ b/.github/workflows/build_worker.yml @@ -1,9 +1,8 @@ name: worker-build on: - workflow_run: - workflows: [ci-worker] - types: [completed] + push: branches: [main, release] + paths: [worker/**] concurrency: group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch }} cancel-in-progress: true From cf26d01d451e5d7c71d7ea7a32d19813a4e6f417 Mon Sep 17 00:00:00 2001 From: yk-eukarya <81808708+yk-eukarya@users.noreply.github.com> Date: Fri, 18 Oct 2024 10:52:04 +0200 Subject: [PATCH 6/6] ci: build workflows was not triggered (#1271) * imp * imp --- .github/workflows/build_server.yml | 2 +- .github/workflows/build_web.yml | 2 +- .github/workflows/build_worker.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_server.yml b/.github/workflows/build_server.yml index 61baaeaadb..d9db9863d5 100644 --- a/.github/workflows/build_server.yml +++ b/.github/workflows/build_server.yml @@ -2,7 +2,7 @@ name: server-build on: push: branches: [main, release] - paths: [server/**] + paths: [server/**, .github/workflows/build_server.yml] concurrency: group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch }} cancel-in-progress: true diff --git a/.github/workflows/build_web.yml b/.github/workflows/build_web.yml index f445fbbaef..fead094495 100644 --- a/.github/workflows/build_web.yml +++ b/.github/workflows/build_web.yml @@ -2,7 +2,7 @@ name: web-build on: push: branches: [ main, release ] - paths: [ web/** ] + paths: [ web/**, .github/workflows/build_web.yml ] concurrency: group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch }} cancel-in-progress: true diff --git a/.github/workflows/build_worker.yml b/.github/workflows/build_worker.yml index 7a19a49a99..4f877a49a5 100644 --- a/.github/workflows/build_worker.yml +++ b/.github/workflows/build_worker.yml @@ -2,7 +2,7 @@ name: worker-build on: push: branches: [main, release] - paths: [worker/**] + paths: [worker/**, .github/workflows/build_worker.yml] concurrency: group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch }} cancel-in-progress: true