Notes/Today I Did

20210628,29 Tooltip 리팩토링

Nomad Kim 2021. 6. 29. 23:08

28

작업현황

- 주문 > 합포장 > 합포장 완료주문: 상품명 셀폭 절대값 적용하여 두줄로 내용 표시

- 주문 > 합포장 > 합포장 오류주문: 툴팁 구현

 

29

feat(balloon tooltip): refactor tooltip logics for reusability
- 주문, 매칭, 합포장, 관리에 적용되는 툴팁 리팩토링(위치변화)
- EZTable 컴포넌트에 툴립 컴포넌트 적용하여 재사용성 향상

 

 

재사용성을 고려하여 툴팁을 Table 컴포넌트에 적용(위치)시켜 조건에 따라 불러오게 구현.

매번 해당 컴포넌트에서 툴팁을 불러올 필요가 없다. 

 

해당 코드는 아래와 같다. type prop 을 확인하여 해당 툴팁을 적용하는데, 이때 rowData 와 type 의 타입을 맞춰주는 것이 중요하다. 

타입스크립트 공부가 필요한 부분.

<Table>
if (v.type === 'string') {
      return {
        ...v,
        render: (rowData: any, type: 'row' | 'group') => {
          if (!v.render) return;
          const contents = v.render(rowData, type);

          return (
            <ArrowTooltip
              text={contents}
              openOnHover
              arrowPlacement="bottom-start"
              TooltipProps={{
                arrow: true,
                placement: 'bottom-start',
              }}
            >
              <CustomTooltipChild text={contents} />
            </ArrowTooltip>
          );
        },
      };
    }
    
<Column>
    {
         title: '옵션명',
         type: 'string',
         render: row => {
           if (isChildRow(row) || isSingleRow(row)) {
             const option = formatOption(
               row.productOptionLevelOn  
               row.productOptionLevelTwo
             );
             return option;
           }
         },
    },