Skip to main content

다보리 파라메터의 개념

다보리 컴포터블에서는 쿼리에 대한 정보를 json 구조의 파라미터에 넣어 다양한 구조의 쿼리를 사용할 수 있습니다.

프론트에서 필요한 데이터에 해당하는  json 파일(쿼리의 내용을 담고 있는)을 배열로 요청하면

백엔드에서 해당 json 파일을 읽습니다. json 파일에서 호출한 sql 파일을 실행하여  결과 데이터를 프론트에서 사용할 수 있습니다.

공통적으로 파라미터 파일의 경로는 다음과 같습니다.

/dabory/themes/$theme/$theme_type/para/ko_KR/{$type}/{$filePath}.json
$theme = 테마명
$theme_type= pro or erp
$type = request or response
$filePath = 세부경로 + 파일명


json 요소의 구조

  • json 요소의 예시
{
    "//list-type-1": "simple and plain list by query of table join",

    "General": {
        "Title": "Crawling Domains",
        "PageApi": "list-type1-page",
        "ActApi": "domain-act"
    },

    "QueryVars": {
        "QueryName": "pro/my-app/dbr-main/domain-input",
        "FilterName": "",
        "FilterValue": "",
        "FilterDate": "domain_date"
    },

    "HeadSelectOptions": [
        {
            "Value": "new",
            "Caption": "레코드 추가"
        },
        {
            "Value": "multi-delete",
            "Caption": "일괄 삭제"
        },
        {
            "Value": "clear-all-filter",
            "Caption": "초기화"
        }
    ],

    "//FormVars": "FormVars[0]-caption, FormVars[1]-searchPopup",
    "FormVars": [
        {
            "ListButton": "조회",
            "DateRange": "",
            "DateNavi": "일자방향(오늘)",
            "Date": "날짜",
            "From": "부터",
            "To": "까지",
            "FirstRange": "",
            "SecondRange": "",
            "ThirdRange": "",
            "FourthRange": "",
            "AddTotalLine": "",
            "SelectPopup": "",
            "MultiPopup": "",
            "ChartPopup": "",
            "DownloadList": "",
            "ShowOnlyClosed": "",
            "Balance": "",
            "OrderBy": "표시 순서",
            "FilterOption": "검색조건",
            "SimpleOption": "상태별 검색"
        }
    ],

    "FilterSelectOptions": [
        {
            "Value": "",
            "Caption": "=검색 조건="
        },
        {
            "Value": "mx.domain_url",
            "Caption": "Domain URL"
        },
        {
            "Value": "mx.solution_code",
            "Caption": "Solution Code"
        },
        {
            "Value": "mx.search_tool",
            "Caption": "Search Tool"
        }
    ],

    "SimpleSelectOptions": [
        {
            "Value": "",
            "Caption": "전체"
        },
        {
            "Value": "mx.status='0'",
            "Caption": "Waiting"
        },
        {
            "Value": "mx.status='1'",
            "Caption": "Confirmed"
        },
        {
            "Value": "mx.status='2'",
            "Caption": "GivingUp"
        },
        {
            "Value": "mx.status='9'",
            "Caption": "Exception"
        }
    ],

    "//ListType1RangeVars": "[0]-filter, [1]-component, [2]-parameter",
    "ListType1RangeVars": [
        {
            "FirstRange": "",
            "SecondRange": "",
            "ThirdRange": "",
            "FourthRange": ""
        },
        {
            "FirstRange": "",
            "SecondRange": "",
            "ThirdRange": "",
            "FourthRange": ""
        },
        {
            "FirstRange": "",
            "SecondRange": "",
            "ThirdRange": "",
            "FourthRange": ""
        }
    ],

    "// DateRangeOptions": "월:현재월의 1~30, 분기: 현재분기의 첫째월 1일 ~ 마지막월의 말일, 반기/년 동일한 컨셉,전체:1990~3000",
    "DateRangeOptions": [
    ],

    "DateNaviOptions": [
        {
            "Value": "day",
            "Caption": "일"
        },
        {
            "Value": "week",
            "Caption": "주"
        },
        {
            "Value": "month",
            "Caption": "월"
        },
        {
            "Value": "quarterly",
            "Caption": "분기"
        },
        {
            "Value": "year",
            "Caption": "년"
        },
        {
            "Value": "all",
            "Caption": "전체"
        }
    ],

    "SelectPopupOptions": [

    ],

    "// OrderByOptions": "OrderBy Options//첫번째 Value가 Default",
    "OrderByOptions": [
        {
            "Value": "mx.domain_url asc",
            "Caption": "도메인 순서"
        },
        {
            "Value": "mx.solution_code asc",
            "Caption": "솔루션 순서"
        }
    ],

    "//BalanceOptions": "Show OnlyBalaceRemained or All",
    "BalanceOptions": [
        {
            "Value": "",
            "Caption": "전체 보기"
        },
        {
            "Value": "c10 > 0",
            "Caption": "잔량있는 것만"
        }
    ],

    "DisplayVars": {
        "IsListFirst" : true,
        "IsExcelColumn" : false,
        "InitLines" : 15,
        "HeadHeight": "130",
        "InitDateRange" : "all",
        "IsC1Popup": "1",
        "BodyHeight": "680"
    },

    "// ListVars": "ListVars[0]-caption, ListVars[1]-size(px), ListVars[2]-align->right(number) left(left)",
    "ListVars": [
        {
            "$Radio": "$Radio",
            "$Check": "$Check",
            "No": "No",
            "C1": "Domain URL*",
            "C2": "Host Hash",
            "C3": "Domain Date",
            "C4": "Owner Name",
            "C5": "Solution Code",
            "C6": "OwnerFile",
            "C7": "EncryptKey",
            "C8": "DbrHub URLs",
            "C9": "TimeZone",
            "C10": "크롤링 상태",
            "C11": "Aggreg Hash",
            "C12": "Status"
        },
        {
            "$Radio": "5",
            "$Check": "5",
            "No": "5",
            "C1": "20",
            "C2": "15",
            "C3": "15",
            "C4": "20",
            "C5": "15",
            "C6": "10",
            "C7": "10",
            "C8": "10",
            "C9": "10",
            "C10": "10",
            "C11": "10",
            "C12": "10"
        },
        {
            "$Radio": "center",
            "$Check": "center",
            "No": "center",
            "C1": "left",
            "C2": "center",
            "C3": "center",
            "C4": "center",
            "C5": "center",
            "C6": "center",
            "C7": "center",
            "C8": "center",
            "C9": "center",
            "C10": "status('crawled')",
            "C11": "center",
            "C12": "status('domain')"
        }
    ]
}

각각의 요소에 대한 설명
1. General
Title : name타이틀명
PageApi : page api명
ActApi : act api명

2. QueryVars -> 쿼리 제어 파라메터
해당 파라메터를 통해 초기설정된 db 서버에 접근하여
QueryName과 일치하는 경로의 쿼리를 실행하여 결과를 반환할 수 있습니다.
QueryName : sql 파일명
FilterName : 쿼리의 기준 컬럼명
FilterValue : FilterName에서 입력한 컬럼의 입력할 값
FilterDate : 정렬 기준 날짜 데이터 혹은 기준 날짜 컬럼
  
3. 명칭 + Options -> 각 option별 key : value 형식
Value : option의 valuevalue값
Caption : option명
     
4. FormVars -> 폼 제어 파라메터
-> 해당 폼에 직접적으로 보여지는 부분입니다.
FormVars[0]-caption, FormVars[1]-format",
"key" : "value" 형

7. ListType1RangeVars -> ListType1 제어변수
[0]-filter, [1]-component, [2]-parameterFirstRange
FirstRange : 
SecondRange : 
ThirdRange : 
FourthRange : 
      

12. DisplayVars   -> 디스플레이 제어 파라메터
IsListFirst : 첫번째 리스트인지 여부
IsExcelColumn : 엑셀컬럼인지 여부
InitLines : 호출한 라인인지 여부
HeadHeight : 헤드의 높이
InitDateRange :  날짜범위 호출여부
IsC1Popup :  C1 팝업 여부
BodyHeight : 바디의 높이

* diplay의 형식에 따라 다른 파라메터를 사용


13. ListVars -> 리스트 제어 파라메터
ListVars[0] - > caption(메뉴명)
ListVars[1] -> size(px) 
ListVars[2] -> align->right or left or center