diff --git a/apps/web/src/services/advanced/routes/admin/routes.ts b/apps/web/src/services/advanced/routes/admin/routes.ts index 72a235ab80..4a3c1bf5e4 100644 --- a/apps/web/src/services/advanced/routes/admin/routes.ts +++ b/apps/web/src/services/advanced/routes/admin/routes.ts @@ -49,7 +49,6 @@ const adminAdvancedRoutes: RouteConfig = { }, { path: 'bookmark', - name: ADMIN_ADVANCED_ROUTE.BOOKMARK._NAME, meta: { lsbVisible: true, menuId: MENU_ID.BOOKMARK, diff --git a/apps/web/src/services/alert-manager/v2/routes/routes.ts b/apps/web/src/services/alert-manager/v2/routes/routes.ts index 1741e510c4..2c960f005b 100644 --- a/apps/web/src/services/alert-manager/v2/routes/routes.ts +++ b/apps/web/src/services/alert-manager/v2/routes/routes.ts @@ -52,7 +52,6 @@ const alertManagerRoute: RouteConfig = { }, { path: ':serviceId', - name: ALERT_MANAGER_ROUTE.SERVICE.DETAIL._NAME, props: true, component: { template: '' }, children: [ diff --git a/apps/web/src/services/asset-inventory/routes/admin/routes.ts b/apps/web/src/services/asset-inventory/routes/admin/routes.ts index 20bad53fca..53320bf258 100644 --- a/apps/web/src/services/asset-inventory/routes/admin/routes.ts +++ b/apps/web/src/services/asset-inventory/routes/admin/routes.ts @@ -169,7 +169,6 @@ const adminAssetInventoryRoute: RouteConfig = { }, { path: ':metricId', - name: ADMIN_ASSET_INVENTORY_ROUTE.METRIC_EXPLORER.DETAIL._NAME, meta: { label: ({ params }) => params.metricId, lsbVisible: true }, props: true, component: { template: '' }, diff --git a/apps/web/src/services/asset-inventory/routes/routes.ts b/apps/web/src/services/asset-inventory/routes/routes.ts index ebcc9d7cd9..1c973617fb 100644 --- a/apps/web/src/services/asset-inventory/routes/routes.ts +++ b/apps/web/src/services/asset-inventory/routes/routes.ts @@ -177,7 +177,6 @@ const assetInventoryRoute: RouteConfig = { }, { path: ':metricId', - name: ASSET_INVENTORY_ROUTE.METRIC_EXPLORER.DETAIL._NAME, meta: { label: ({ params }) => params.metricId, lsbVisible: true }, props: true, component: { template: '' }, diff --git a/apps/web/src/services/ops-flow/components/BoardTaskFilters.vue b/apps/web/src/services/ops-flow/components/BoardTaskFilters.vue index 8b366cf281..5198799348 100644 --- a/apps/web/src/services/ops-flow/components/BoardTaskFilters.vue +++ b/apps/web/src/services/ops-flow/components/BoardTaskFilters.vue @@ -11,6 +11,7 @@ import type { SelectDropdownMenuItem } from '@cloudforet/mirinae/types/controls/ import ProjectSelectDropdown from '@/common/modules/project/ProjectSelectDropdown.vue'; import UserSelectDropdown from '@/common/modules/user/UserSelectDropdown.vue'; +import { useTaskIdsField } from '@/services/ops-flow/composables/use-task-ids-field'; import { useTaskStatusField } from '@/services/ops-flow/composables/use-task-status-field'; import { useTaskTypeField } from '@/services/ops-flow/composables/use-task-type-field'; import { @@ -26,6 +27,20 @@ const emit = defineEmits<{(event: 'update', value: TaskFilters): void; const taskManagementTemplateStore = useTaskManagementTemplateStore(); +/* task id */ +const { + selectedTaskIdItems, + taskIdMenuItemsHandler, + setSelectedTaskIdItems, + taskIdsDropdownKey, +} = useTaskIdsField({ + categoryId: toRef(props, 'categoryId'), + isRequired: true, +}); +const handleUpdateSelectedTaskIdItems = (items: SelectDropdownMenuItem[]) => { + setSelectedTaskIdItems(items); +}; + /* task type */ const { selectedTaskTypeItems, @@ -74,6 +89,7 @@ const handleUpdateAssignee = (userIds: string[]) => { /* event */ const taskFilters = computed(() => ({ + taskId: selectedTaskIdItems.value.map((d) => d.name), taskType: selectedTaskTypeItems.value.map((d) => d.name), status: selectedStatusItems.value.map((d) => d.name), project: selectedProjectIds.value, @@ -89,6 +105,21 @@ watch(taskFilters, (newValue, oldValue) => { - diff --git a/apps/web/src/services/ops-flow/stores/task-content-form-store.ts b/apps/web/src/services/ops-flow/stores/task-content-form-store.ts index 08ec8c23e9..86d740dd92 100644 --- a/apps/web/src/services/ops-flow/stores/task-content-form-store.ts +++ b/apps/web/src/services/ops-flow/stores/task-content-form-store.ts @@ -8,15 +8,15 @@ import { APIError } from '@cloudforet/core-lib/space-connector/error'; import type { TaskField } from '@/api-clients/opsflow/_types/task-field-type'; import type { TaskModel } from '@/api-clients/opsflow/task/schema/model'; -import { useUserStore } from '@/store/user/user-store'; - import { useCategoryQuery } from '@/services/ops-flow/composables/use-current-category'; import { useCurrentTaskType } from '@/services/ops-flow/composables/use-current-task-type'; import { useTaskFieldsForm } from '@/services/ops-flow/composables/use-task-fields-form'; +import { useTaskQuery } from '@/services/ops-flow/composables/use-task-query'; import { DEFAULT_FIELD_ID_MAP } from '@/services/ops-flow/task-fields-configuration/constants/default-field-constant'; import type { DefaultTaskFieldId } from '@/services/ops-flow/task-fields-configuration/types/task-field-type-metadata-type'; import type { References } from '@/services/ops-flow/task-fields-form/types/task-field-form-type'; + interface UseTaskContentFormStoreState { // base form currentCategoryId?: string; @@ -44,8 +44,6 @@ interface UseTaskContentFormStoreGetters { isArchivedTask: boolean; } export const useTaskContentFormStore = defineStore('task-content-form', () => { - const userStore = useUserStore(); - const state = reactive({ // base form currentCategoryId: undefined, @@ -67,6 +65,7 @@ export const useTaskContentFormStore = defineStore('task-content-form', () => { /* fields form */ const taskTypeId = computed(() => state.currentTaskTypeId); const { currentTaskType } = useCurrentTaskType({ taskTypeId }); + const { data: currentTask } = useTaskQuery({ taskId: computed(() => state.currentTaskId) }); const { fieldsToShow, hasUnsavedFieldsChanges, @@ -101,7 +100,7 @@ export const useTaskContentFormStore = defineStore('task-content-form', () => { isEditable: computed(() => { if (state.mode === 'create' || state.mode === 'create-minimal') return true; if (isArchivedTask.value) return false; - if (userStore.getters.isDomainAdmin) return true; + if (currentTask.value?.status_type === 'TODO') return true; return false; }), references: computed(() => { diff --git a/apps/web/src/services/ops-flow/task-fields-form/TaskFieldsForm.vue b/apps/web/src/services/ops-flow/task-fields-form/TaskFieldsForm.vue index c115802904..51c08ca20c 100644 --- a/apps/web/src/services/ops-flow/task-fields-form/TaskFieldsForm.vue +++ b/apps/web/src/services/ops-flow/task-fields-form/TaskFieldsForm.vue @@ -1,14 +1,12 @@