221018 삽질

Whiimsy_dev·2022년 10월 18일

삽질기

목록 보기
3/6
post-thumbnail

👷‍♂️ AUI Grid 맨 끝행으로 드래그 앤 드랍이 안됨

저번 삽질 이어서 삽질하기2.. 한 줄로 보여주고 말줄임표로 나머지 생략하는 걸 거부당했다.. 힝구 내용을 다 보이고 드래그 말고 순서를 바꾸는 방법을 찾아보라 하셨다. 키보드로 순서를 바꿀 수 있는 속성을 본 것 같은데 너무 불편하지 않을까 생각이 들긴 하지만.. 일단 구현해보자. 없넹 잇힝😂

wordWrap 속성과 autoGridHeight 속성을 같이 쓸 수 없는 게 너무.. 아니 근데 공식 데모 보니까 싹 스크롤 있거나 한 줄이거나네; 원래 AUI Grid 자체에서 안되는거였다. 허무... 어이없네 왜안대냐

결국 내일 클리니컬 분이랑 쇼부 보기로 했다. 내용 다 보여주는 걸 포기하던가 맨 끝으로 드래그가 불가능하던가 둘 중 하나는 포기하셔야 합니다...!!!!!!! 근데 한 줄만 보여줘도 충분할 것 같은데 아닌가 어차피 마우스오버하면 툴팁으로 다 보이기도 하고 클릭 한 번만 해도 모달로 내용 친절하게 뜨는뎅... 맨 끝으로 드래그 못하는게 더 이상할 것 같다. 근데 동기들 얘기 들어보면 차라리 맨 끝으로 드래그 못하는게 나을 것 같다고 하고 흠🙄

👷‍♂️ 특정 Comparator의 경우, 같은 Variable, Comparator로 묶어 Value 보여주기

오늘 열심히 짠 코드...^^ 들었을 때 쉬울 것 같았는데 생각보다 고려해야될 것들이 앵간 있어서 시간이 좀 걸렸다. 그리고 변수명이 너무 기러...

// VariableMetadataList.js
let whereClauseOrderList = {};
whereClauseList.forEach((whereClause) => {
    if (!whereClauseOrderList[whereClause.order])
        whereClauseOrderList[whereClause.order] = [whereClause];
    else
        whereClauseOrderList[whereClause.order].push(whereClause);
});

// whereClauseOrderList 안에서
Object.keys(whereClauseOrderList).forEach((_whereClauseList) => {
    //  같은 variable를 가진 whereClause들끼리 묶어 variableObject 만들기
    let variableComparatorObject = {};
    whereClauseOrderList[_whereClauseList].forEach((whereClause => {
        if (!variableComparatorObject[`${whereClause.variable} ${whereClause.comparator}`])
            variableComparatorObject[`${whereClause.variable} ${whereClause.comparator}`] = [whereClause.value];
        else
            variableComparatorObject[`${whereClause.variable} ${whereClause.comparator}`].push(whereClause.value);
    }));

    Object.keys(variableComparatorObject).forEach((variableComparator) => {
        let comparator = variableComparator.split(' ')[1];
        if (objectGroup[_whereClauseList] === undefined){
            existedOrder.push(_whereClauseList);
            let value = variableComparatorObject[variableComparator];
            if (comparator === 'IN' || comparator === 'NOTIN') {
                value = value.length === 1 ? `${value}` : `(${value})`;
                objectGroup[_whereClauseList] = `${variableComparator} ${value}`;
            }
            else {
                value.forEach((val) => {
                    if (objectGroup[_whereClauseList] === undefined){
                        objectGroup[_whereClauseList] = `${variableComparator} ${val}`;
                    }
                    else {
                        objectGroup[_whereClauseList] += ` And ${variableComparator} ${val}`;
                    }
                })
            }
        }
        else {
            let value = variableComparatorObject[variableComparator];
            if (comparator === 'IN' || comparator === 'NOTIN') {
                value = value.length === 1 ? `${value}` : `(${value})`;
                objectGroup[_whereClauseList] += ` And ${variableComparator} ${value}`;
            }
            else {
                value.forEach((val) => {
                    objectGroup[_whereClauseList] += ` And ${variableComparator} ${val}`;
                })
            }
        }
    })
});

0개의 댓글