! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

Wijmo 2019 v3 > 새로운 소식

본문 바로가기

정식출시 Wijmo 2019 v3

페이지 정보

작성자 GrapeCity 작성일 2020-03-09 14:51 조회 1,109회 댓글 0건

본문


Wijmo의 2019년 세 번째 릴리스가 출시되었습니다. Wijmo에서는 모든 프레임워크를 위한 빠르고 유연한 JavaScript 구성 요소를 제공합니다. 이 주요 릴리스에는 React 및 Vue 용 FlexGrid 셀 템플릿(당사가 Angular에서 제공하는 것과 유사)이 포함되어 있습니다. 새 column.cellTemplate 속성을 사용하여 PureJS에서 셀 템플릿을 작성할 수도 있습니다. 입력 양식 작성을 단순화하는 Vue 구성 요소에 양방향 바인딩도 추가했습니다. 열 핀 고정에서 다중 열 정렬 등에 이르기까지 FlexGrid의 몇 가지 사항을 개선했습니다. VSCode에서 Wijmo를 더 쉽게 사용할 수 있도록 TypeScript 입력도 개선했습니다.


이 제품은 훌륭하고 새로운 기능이 포함된 중요한 릴리스입니다! 자세히 알아보겠습니다.


Angular 9와 Ivy Compiler를 지원하는 Wijmo

Wijmo의 Angular 9 지원을 발표하게 되어 정말 기쁩니다. 이 릴리스(Wijmo 빌드 5.20193.637)에서는 Angular v9.0.0-rc.2 릴리스에 대한 지원이 추가되었습니다. Wijmo는 이제 새로운 Ivy Compiler와 호환됩니다. 당사는 새로운 Ivy Compiler를 지원하여 Angular v9 출시 시 고객이 사용할 수 있도록 하기 위해 Angular 팀과 긴밀히 협력해 왔습니다. Angular 팀은 모듈 패키징에 대한 몇 가지 권장 사항을 지원하고 일부 컴파일러 문제도 수정했습니다.


따라서 Angular 팀과 Wijmo 팀 덕분에 Ivy Compiler로 훨씬 더 빠른 엔터프라이즈 응용 프로그램을 작성할 수 있게 되었습니다.


React FlexGrid 셀 템플릿

Angular FlexGrid에서 가장 인기 있는 기능 중 하나는 셀 템플릿입니다. 이제 React FlexGrid 및 Vue FlexGrid에서 이 강력한 기능을 사용할 수 있습니다.


셀 템플릿을 사용하면 그리드의 모든 셀에서 선언적인 마크업 및 바인딩 식이 있는 템플릿을 무제한으로 이용할 수 있습니다.


Wijmo 2019 v3


또한 셀 템플릿을 사용하면 FlexGrid의 모든 셀을 매우 쉽게 사용자 정의할 수 있습니다. 다음은 국가 열에서 국기 이미지를 렌더링하는 예입니다.


    <wjGrid.FlexGridColumn header="Country" binding="country" width="\*">
        <wjGrid.FlexGridCellTemplate
            cellType="Cell"
            template=(context) => {
                return <React.Fragment>
                    <img src={`resources/${context.item.country}.png`} />
                    {context.item.country}
                </React.Fragment>
            } />
    </wjGrid.FlexGridColumn>


보이는 바와 같이 셀 템플릿의 조각에는 HTML, 바인딩 및 기타 구성 요소를 포함한 모든 마크업이 포함될 수 있습니다.

Vue FlexGrid 셀 템플릿

Angular 및 React와 마찬가지로 이제 Vue FlexGrid에서 셀 템플릿을 사용할 수 있습니다. 이 셀 템플릿을 사용하면 Vue DataGrid의 모든 셀에 사용자 정의 콘텐츠를 추가할 수 있습니다.


다음은 국가 열에서 국기 이미지를 렌더링하는 예(위의 React 예와 유사)입니다.


    <wj-flex-grid-column header="Country" binding="country" width="*">
        <wj-flex-grid-cell-template cellType="Cell" v-if="customCell" v-slot="cell">
            <img :src="'resources/' + cell.item.country + '.png'" />
        </wj-flex-grid-cell-templatecellType="Cell">
    </wj-flex-grid-column>



Wijmo Vue 구성 요소의 양방향 바인딩 

양방향 바인딩은 입력 양식 작성을 단순화하는 강력한 메커니즘입니다. Vue는 양방향 바인딩을 선언하기 위해 두 개의 서로 다른 구문, 즉 v-model 지시문과 sync 바인딩 수정자를 제공합니다. Vue 입력 구성 요소용 Wijmo는 두 가지를 모두 지원하므로 필요에 따라 둘 중에서 선택할 수 있습니다.


이 실제 샘플에서 Wijmo 양방향 바인딩 컨트롤의 예를 찾을 수 있습니다. 여기에서 ComboBox 및 InputNumber는 셀 편집 템플릿에서 사용됩니다.

PureJS FlexGrid 셀 템플릿


Angular, React 또는 Vue 셀 템플릿과 혼동하지 않도록 Pure JS FlexGrid에 새로운 API를 추가했습니다. Column 클래스에는 formatItem 이벤트를 사용하지 않고 데이터 셀을 사용자 정의 렌더링할 수 있는 새로운 cellTemplate 속성이 있습니다.


Column.cellTemplate은 Angular, React 또는 Vue 셀 템플릿보다 훨씬 간단합니다. 이 템플릿에서는 템플릿 리터럴 문자열만 선언할 수 있습니다. HTML 요소를 넣거나 glbz 메서드로 구문 분석하고 셀에서 렌더링할 바인딩 식을 넣을 수도 있습니다.


다음은 국가 열에서 국기 이미지를 렌더링하는 예입니다.


    <pre>
        columns: [
        {
            header: 'Country', binding: 'country', width: '*',
            cellTemplate: '<img src="resources/${item.country}.png"/> ${text}'
        }]
    </pre>

FlexGrid 다중 열 정렬

FlexGrid는 데이터 정렬을 위해 CollectionView 클래스를 사용합니다. 이전 버전에서 그리드의 allowSorting 속성은 사용자가 머리글 셀을 클릭하여 열을 정렬할 수 있는지 여부를 결정하는 부울이었습니다. 이 메커니즘을 통해 사용자는 한 번에 하나의 열을 기준으로 정렬할 수 있었습니다.


2019 v3에서는 allowSorting 속성을 아래와 같이 Enumeration 형식으로 변경했습니다.


  • AllowSorting.None: 사용자는 열 머리글을 클릭하여 그리드를 정렬할 수 없습니다. 이것은 이전 버전에서 allowSorting을 false로 설정하는 것과 같습니다.
  • AllowSorting.SingleColumn: 사용자는 한 번에 하나의 열을 기준으로 그리드를 정렬할 수 있습니다. 열 머리글을 클릭하면 열이 정렬되거나 정렬 방향이 반전됩니다. Ctrl 키를 누른 상태에서 클릭하면 정렬이 제거됩니다. 이것은 이전 버전에서 allowSorting을 true로 설정하는 것과 같습니다.
  • AllowSorting.MultiColumn: 사용자는 한 번에 여러 열을 기준으로 그리드를 정렬할 수 있습니다. 열 머리글을 클릭하면 열이 정렬되거나 정렬 방향이 반전됩니다. Ctrl 키를 누른 상태에서 클릭하면 해당 열에 대한 정렬이 제거됩니다. Ctrl + Shift 키를 누른 상태에서 클릭하면 모든 정렬이 제거됩니다.


다중 열을 정렬할 때 그리드는 열 머리글에 정렬 방향을 보여주며, 동시에 정렬 순서도 함께 표시합니다.


Wijmo 2019 v3

FlexGrid 핀 고정 열


FlexGrid는 코드를 통한 행 및 열 고정을 지원했지만 이 고정된 행 및 열을 보여주고 제어하기 위한 UI는 제공되지 않았습니다.


2019 v3에서는 열 머리글에 핀 글리프(아미콘)를 추가하는 allowPinning 속성을 추가했습니다. 이제 고정으로 하면 행 및 열에 핀 모양이 나타나며, 핀을 클릭하면 열이 고정되거나 고정이 해제됩니다.


Wijmo 2019 v3

FlexGrid 전체 텍스트 검색

FlexGrid는 FlexGridFilter 컴포넌트를 통한 Excel 스타일의 열 기반 필터링을 지원했습니다.


2019 v3에서는 전체 텍스트 검색/필터링 인터페이스를 제공하는 FlexGridSearch 컨트롤이 포함된 새로운 wijmo.grid.search 모듈이 추가되었습니다. 이 모듈은 사용자가 FlexGridSearch 컨트롤에 텍스트를 입력하면 검색 텍스트를 기준으로 항목을 필터링하고 일치하는 항목을 자동으로 강조 표시합니다.



이미지에서 볼 수 있듯이 FlexGridSearch 컨트롤은 FlexGridFilter 구성 요소와 함께 사용할 수 있습니다.


FlexGridSearch 컨트롤은 Add a Data Grid Search Panel(데이터 그리드 검색 패널 추가) 블로그의 토론에서 영감을 얻어 개발되었습니다.

TransposedGrid


일반 그리드에서 각 항목은 항목 속성을 나타내는 열을 기준으로  단위로 표시됩니다. 

Wijmo 2019 v3


반전(transposed) 그리드에서 각 항목은 항목 속성을 나타내는 행을 기준으로  단위로 표시됩니다.

 Wijmo 2019 v3


데이터 항목이 열로 표시되고 해당 속성이 행으로 표시되는 TransposedGrid 컨트롤이 포함된 새로운 wijmo.grid.transposed 모듈이 추가되었습니다. 이제 Wijmo의 새로운 TransposedGrid 컨트롤을 사용하면, 위의 예시와 같은 화면을 휠씬 쉽게 만들 수 있습니다.

CSV 파일 저장

FlexGrid는 그리드 데이터를 여러 형식으로 저장하는 기능을 항상 지원했습니다. CSV로 저장하면 추가적인 라이브러리가 필요하지 않고 출력 파일을 Excel에서 열 수 있으므로 효과적인 옵션으로 자주 사용되었습니다.


2019 v3에서는 다음 두 가지 기능을 추가하여 CSV 파일 저장 기능을 훨씬 더 쉽고 강력하게 만들었습니다.


  1. Wijmo 핵심에 saveFile 메서드를 추가하여 동일한 상용구 코드를 반복해서 복사하지 않고도 텍스트 파일을 쉽게 저장할 수 있도록 했습니다.
  2. 이제 그리드의 getClipString 메서드에 클립 문자열을 생성할 방법을 정확하게 지정할 수 있는 options 매개 변수가 제공됩니다. 사용 가능한 옵션은 아래에 나와 있습니다.


이 변경 사항에 따라 두 줄의 코드를 사용하여 CSV 파일을 저장할 수 있습니다.


    <pre>// 클립 문자열을 가져옵니다(현재 선택, 열 머리글 사용)
        const clipString = grid.getClipString(null, options, true, false);

        // 파일에 저장합니다
        saveFile(clipString, 'flexgrid.csv');</pre>


다음은 ClipStringOptions 열거에서 사용 가능한 옵션입니다.


  • ClipStringOptions.Default: 기본 옵션을 사용합니다(셀 구분 기호로 탭 사용, 서식/표시/따옴표가 없는 셀). 클립보드에 복사/붙여넣기 시 내부적으로 사용되는 형식입니다.
  • ClipStringOptions.CSV: 셀 구분 기호로 쉼표를 사용합니다(CSV 형식). CSV 파일을 내보내는 데 사용되는 기본 형식입니다.
  • ClipStringOptions.QuoteAll: 모든 셀을 따옴표로 묶습니다. 쉼표와 따옴표가 있는 셀에만 따옴표를 추가하는 것이 아니라 모든 셀을 따옴표로 묶습니다. 출력 파일을 좀 더 쉽게 구문 분석할 수 있습니다.
  • ClipStringOptions.SkipMerged: Excel처럼 병합된 셀을 건너뜁니다. 따라서 경우에 따라 출력 파일을 조금 더 쉽게 읽을 수 있습니다.
  • ClipStringOptions.Unformatted: 서식이 지정되지 않은 값을 내보냅니다. 이 형식은 서식이 지정된 값만 저장하는 것이 아니라 숫자 값의 전체 정밀도를 유지합니다.
  • ClipStringOptions.InvisibleRows: 출력에 숨겨졌거나 축소된 행을 포함합니다. 기본적으로 숨겨진 행과 축소된 행은 포함되지 않습니다.
  • ClipStringOptions.InvisibleColumns: 출력에 숨겨진 열을 포함합니다. 기본적으로 숨겨진 열은 포함되지 않습니다.
  • ClipStringOptions.InvisibleCells: 출력에 숨겨진 행과 열을 포함합니다.

기타 FlexGrid 개선 사항

  • 축소 가능한 열 그룹: 축소 가능한 열 그룹을 선언적으로 작성하는 기능을 추가했습니다. 이 작업은 열 속성(또는 columnGroups 속성)을 자식 열의 열 컬렉션을 포함하고 있다는 정의를 배열에 설정함으로써 수행됩니다.

축소 가능한 열 그룹 데모

  • 데이터 유형에 따라 자동 생성된 그리드 열의 기본 너비를 지정할 수 있는 defaultTypeWidth 정적 속성을 추가했습니다.
  • 개선된 클립보드 지원: 데이터를 클립보드에 복사할 때 그리드에 행 및/또는 열 머리글을 포함할지 여부를 지정할 수 있는 copyHeaders 속성을 추가했습니다.
  • RowDetail 고정 셀 지원: 세부 정보 셀이 고정된 경계를 넘어 확장되도록 허용합니다.

MultiRow 개선 사항

  • MultiRow 집계 그룹: 머리글 행이 여러 개인 머리글을 허용하는 multiRowGroupHeaders 속성을 추가했습니다(특히 집계 표시에 유용함).
    MultiRow 집계 그룹 데모
  • MultiRow 열 머리글 레이아웃: 열 머리글에 대한 사용자 정의 레이아웃을 정의할 수 있는 headerLayoutDefinition 속성을 추가했습니다.
    MultiRow 열 머리글 레이아웃 데모

StepLine 차트

StepLine 차트는 특정 시점의 변화를 시각화하는 데 가장 일반적으로 사용됩니다. 이 차트는 시간이 지남에 따라 변화하는 패턴뿐만 아니라 가치 변화의 크기를 확인하는 데 유용합니다. 최근에 새로운 StepStepSymbols 및 StepArea 차트 유형을 FlexChart 컨트롤에 추가했습니다.


계단형 차트

계단형

StepLine 차트 샘플 - JavaScript, Angular, React 및 Vue:


CollectionView 필터

필터 함수 배열을 포함하는 filters 속성을 추가했습니다. 이 속성을 사용하면 필터를 여러 개의 독립적인 필터 함수와 연결할 수 있습니다.



입력 개선


Wijmo에서 유형 정보를 크게 개선했습니다. 이 변경 사항 덕분에 Wijmo를 더 쉽게 사용할 수 있으며 여러분의 코드에서 버그를 훨씬 더 쉽게 찾을 수 있습니다.

이제 아래과 같이 콜백(callback) 매개 변수(이전의 제네릭 Any 유형임)의 상세한 속성 정보를 볼 수 있습니다.

Wijmo 2019 v3


이 릴리스의 기타 변경 사항은 다음과 같습니다.

  • 유형이 'any'였던 몇 가지 콜백 및 속성에 유형 정보를 추가했습니다.
  • Event 클래스의 sender와 arguments에 generic type을 추가했습니다.
  • CollectionView 및 ObservableArray 클래스에 generic type을 추가했습니다. 따라서 다음과 같이 쓸 수 있습니다.


  var cv = new CollectionView(data);
  var customer = cv.currentItem; // customer는 고객 인스턴스입니다.
  • 추가적인 유형 정보는 향상된 컴파일 타임 오류 검사 및 IntelliSense를 제공합니다. 따라서 더 나은 코드를 더 빨리 작성할 수 있습니다.

개선된 입력에 대해 자세히 알아보십시오.


  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기

인기글

더보기
  • 인기 게시물이 없습니다.
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.