Skip to main content

다보리 파라메터의 개념

다보리 컴포파라메블에서란?

다보리 파라메터는 쿼리 호출하여 내가 필요정보데이터 불러오긴 위한 여러 요소들이 압축되어 있는 json 구조의파일입니다.

파라에 넣어 다양한 구조로 구성하여 쿼리를 사용호출할 수 있습니다. 또한 view 페이지의 css적인 요소나 boolean 요소 등등 다양한 것들을 지정할 수 있습니다.

프론트 

다보리 컴포저블에서 필요한모든 데이터에 대한 접근을 이 파라메터를 통 이루어지고 있으며 통상적으로 사용하는 표준 jsonpara가 파일(쿼리의 내용을 담있는)을 배열로 요청하면

백엔드에서 해당 json 파일을 읽습니다. json 파일에서 호출한 sql 파일을 실행하여  반환받은 결과 데이터를 프론트에theme에서 사용되는 para가 있습니다.

공통적으로 파라미터 파일의para의 경로는 프로젝트 '/' 경로를 기준으로 다음과 같습니다.

표준

pra : /dabory/para/ko_KR/{$type}/{$filePath}.json 

테마 para : /dabory/themes/$theme/$theme_type/para/ko_KR/{$type}/{$filePath}.json

$theme = 테마명
$theme_type= pro or erp
$type = request or response
$filePath = 세부경로 + 파일명

표준이던 테마던 모두 큰 틀에서 같은 구조를 가지고 있기 때문에 이 파라메터의 구조를 파악하는 것이 중요합니다.

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 : 타이틀명
PageApi : page api명, 해당 list-type-1 데이터를 페이지네이션하여 요청할 수 있습니다
ActApi : act api명, 해당 list-type-1 데이터를 insert, update, delete 할 수 있습니다.
이부분이 이해가 안가신다면 아래 링크를 통해 PAP API에 대해 이해하고 오시면 좀 더 빠른 파악이 가능합니다.

PAP api

링크


2. QueryVars -> 쿼리 제어 파라메터
해당 파라메터를 통해 초기설정된 db 서버에 접근하여
QueryName과 일치하는 경로의 쿼리를 실행하여 결과를 반환할 수 있습니다.
QueryName : sql 파일명
FilterName : 쿼리의 기준 컬럼명
FilterValue : FilterName에서 입력한 컬럼의 입력할 값
FilterDate : 정렬 기준 날짜 데이터 혹은 기준 날짜 컬럼
-> WHERE FilterName like '%FilterValue%' 과 같은 형태로 쿼리에 추가됩니다.
-> WHERE column = 'value' 와 같은 형태로 쿼리를 조회하고 싶다면
SimpleFilter : "column='value'"를 사용하시면 됩니다.
  
3. 명칭 + Options -> 각 option별 key : value 형식
Value : option의 value값
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 : 바디의 높이

DisplayVars   이부분도 LT1을 구성하는데 굉장히 중요한 요소입니다.
* diplay의 형식에 따라 다른 파라메터를 사용


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