다보리 파라메터의 개념
다보리 컴포터블에서는 쿼리에 대한 정보를 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 -> 쿼리 제어 변수
QueryName : sql 파일명
FilterName : 쿼리의 기준 컬럼명
FilterValue : FilterName에서 입력한 컬럼의 입력할 값
FilterDate FilterDate: 정렬 기준 날짜 데이터 혹은 기준 날짜 컬럼
3. HeadSelectOptions명칭 + Options -> 각 option별 key : value 형식
Value : option의 value
Caption : option명
4. FormVars ListButton-> DateRange폼 DateNavi
Date
From
To
FirstRange
SecondRange
ThirdRange
FourthRange
AddTotalLine
SelectPopup
MultiPopup
ChartPopup
DownloadList
ShowOnlyClosed
Balance
OrderBy
FilterOption
SimpleOption
7. ListType1RangeVars "":-> [ListType1 제어변수
"FirstRange"
"SecondRange": "",
"ThirdRange": "",
"FourthRange": ""
},
{
"FirstRange": "",
"SecondRange": "",
"ThirdRange": "",
"FourthRange": ""
},
{
"FirstRange": "",
"SecondRange": "",
"ThirdRange": "",
"FourthRange": ""
}
],
8. DateRangeOptions
"": [
],
9. DateNaviOptions
"": [
{
"Value": "day",
"Caption": "일"
},
{
"Value": "week",
"Caption": "주"
},
{
"Value": "month",
"Caption": "월"
},
{
"Value": "quarterly",
"Caption": "분기"
},
{
"Value": "year",
"Caption": "년"
},
{
"Value": "all",
"Caption": "전체"
}
],
10.SecondRange OrderByOptions:
""ThirdRange : [
{
"Value": "mx.domain_url asc",
"Caption": "도메인 순서"
},
{
"Value": "mx.solution_code asc",
"Caption": "솔루션 순서"
}
],
11. BalanceOptions
"": [
{
"Value": "",
"Caption": "전체 보기"
},
{
"Value": "c10 > 0",
"Caption": "잔량있는 것만"
}
],
[0]-filter, {[1]-component, [2]-parameterFirstRange
FirstRange : "",
FourthRange :
12. DisplayVars -> display 제어 변수
""IsListFirst : {첫번째 리스트인지 여부
"IsListFirst"IsExcelColumn : true,엑셀컬럼인지 여부
"IsExcelColumn"InitLines : false,호출한 라인인지 여부
"InitLines"HeadHeight : 15,헤드의 높이
"InitDateRange"IsC1Popup : "all", C1 팝업 여부
"BodyHeight": "680"
},
InitDateRange : "HeadHeight":날짜범위 "130",호출여부
BodyHeight "IsC1Popup": "1",바디의 높이
13. ListVars "":-> [list 제어 변수
{
"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"
},
ListVars[0] - > caption(메뉴명)
ListVars[1] -> "$Radio":size(px) "$Radio",
ListVars[2] -> "$Check":align->right "$Check",or left or center