2.4.0 • Published 1 year ago

tikops-ux v2.4.0

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

tikops-ux (dvarena enhanced frontend)

This library was generated with Angular CLI version 13.3.0.

향상된 프론트엔드 UI 디자인 및 기능을 구현하기 위한 라이브러리입니다.

primeng 오픈소스 라이브러리를 확장합니다.
Copyright (c) 2016-2022 PrimeTek

개발 목표

  • 디자인 개선 및 통일
  • 코드 재사용 (component, 공통 파일)
  • 프론트 소스 최소화
  • 공통 기능 개선 반영
  • 코드 자동화 (snippet, cli, function)

How to Use

npm install primeng
npm install primeicons
npm install primeflex
npm install tikops-ux
  1. global style(dv-styles.scss)에 css 파일을 import합니다.
@import "../node_modules/primeicons/primeicons.css";
@import "../node_modules/primeng/resources/themes/saga-blue/theme.css";
@import "../node_modules/primeng/resources/primeng.min.css";
@import "../node_modules/primeflex/primeflex.css";
@import "../node_modules/tikops-ux/styles/dv-styles.scss";
  • 프론트엔드를 bootstrap > primeflex로 리팩토링하기 전이라면 자동 마이그레이션 스타일 시트도 import합니다.
@import "../node_modules/tikops-ux/styles/bootstrap-migration.scss";
  1. 라이브러리 모듈을 import합니다.
import { DvComponentsModule } from "tikops-ux/components";
@NgModule({
    ...
    imports: [
    ...
    DvComponentsModule
    ],
})
export class MyModule { }
  1. 뷰에서 selector로 컴포넌트를 바인딩합니다.
<dv-button></dv-button>
  1. prefix 사용을 위한 파일을 포함하고 있습니다.
  • utils/typescript.code-snippets

Components

dv-base-modal

modal 컴포넌트입니다. open close 관련 단축키 기능을 포함합니다.
primeng Dialog 확장 컴포넌트입니다.

  • snippet prefix : dv-base-modal
<dv-base-modal #dvModal
    [width]="width"
    [title]="title"
    [errorStatus]="errorStatus"
    [okLabel]="okLabel"
    [okTooltip]="okTooltip"
    [cancelLabel]="cancelLabel"
    [cancelTooltip]="cancelTooltip"
    (handleOpen)="handleOpen()"
    (handleClose)="handleClose()"
    (handleSave)="handleSave()">
    <div contents>
        contents
    </div>
    <ng-template #additionalButtons>
        <dv-button label="Click">
        </dv-button>
    </ng-template>
</dv-base-modal>

Properties

이름타입default설명
widthDvModalWidthDvModalWidth.MEDIUM모달 너비
titlestring""모달 타이틀
errorStatusstring""저장 오류 시 메시지. 왼쪽 아래 표시
okLabelstring"저 장"저장 버튼 label
okTooltipstring"작성하신 데이터를 저장합니다.(alt z)"저장 버튼 tooltip
cancelLabelstring"취 소"취소 버튼 label
cancelTooltipstring"데이터를 저장하지 않고 팝업을 종료합니다.(alt c)"취소 버튼 tooltip
modalbooleantruemodal/popup 구분. true면 modal, false면 popup(modaless)
isCurrentPopupbooleantruedvCom currentPopupPage 지정 여부. true 시 단축키 사용 대상이 됩니다.
isFocusButtonbooleanfalseok/cancel 버튼의 autofocus 지정 여부. true 설정 시 팝업이 열릴 때 기본 ok/cancel이 autofocus 대상이 됩니다.

Events

이름파라미터설명
handleOpen모달 오픈 시 발생되는 이벤트
handleClose모달 닫기 시 발생되는 이벤트
handleSave저장 버튼 클릭 시 발생되는 이벤트

dv-page-comment

mainContents 상단 메뉴명과 메뉴 코멘트 컴포넌트입니다.

  • snippet prefix : dv-pc
<dv-page-comment
    [menuTitle]="menuTitle"
    [menuComment]="menuComment"
    [commentList]="commentList"
    [menuItems]="menuItems">
</dv-page-comment>

Properties

이름타입default설명
menuTitlestring""메뉴 이름
menuCommentstring""메뉴 설명(주)
commentListstring[][]메뉴 설명(부)
menuItemsMenuItem[][]primeng api MenuItem 사용. 우측에 표시되는 Breadcrumb 입니다.

dv-button

primeng button 확장 컴포넌트입니다.

  • snippet prefix : dv-btn
<dv-button
    label="Click"
    icon="fas fa-pencil-alt"
    tooltip="버튼입니다."
    tooltipPosition="right"
    [additionalClass]="additionalClass"
    [disabled]="false"
    [hidden]="true"
    (handleClick)="handleClick($event)">
</dv-button>

Properties

이름타입default설명
iconstring""icon class (fontawsome)
labelstring""label 이름
tooltipstring""툴팁 텍스트
tooltipPositionstring"top"툴팁 표시 방향 (top/bottom/left/right)
additionalClassstring""추가로 스타일을 적용해야 하는 경우 덧붙일 element class
disabledbooleanfalsedisabled 여부
hiddenbooleanfalsehidden 여부
autofocusbooleanfalseautofocus 적용 여부

Events

이름파라미터설명
handleClick버튼 클릭 시 발생 이벤트

dv-dropdown

primeng dropdown 확장 컴포넌트입니다.

  • snippet prefix : dv-dd
<dv-dropdown
    [item]="dropdownItem"
    optionLabel="name"
    [isDisabled]="false"
    styleClass=""
    inputId=""
    [(value)]="currentCode"
    filterBy="name"
    (change)="handleChange($event)"
>
</dv-dropdown>

Properties

이름타입default설명
itemDropdownItemnull필수값. DropdownItem interface 참고
optionLabelstring""DropdownItem에서 표시되는 옵션명
isDisabledbooleanfalsedisabled 여부
styleClassstring""추가 element class
inputIdstring""dropdown id. programmatic focus 등을 위해 추가됨
valuestring""바인딩 값. valueChange와 양방향 바인딩 가능
filterBystring""필터링 사용 시 필터 대상 옵션명

Events

이름파라미터설명
changeevent: T; 선택된 옵션옵션 선택 이벤트
valueChangeevent: string; 선택된 옵션 코드옵션 선택 시 값 변경 이벤트

dv-datepicker

primeng Calendar 확장 컴포넌트입니다.

  • snippet prefix : dv-dp
<dv-datepicker
    [(value)]="dt"
    [tooltipText]="tooltipText"
    [tooltipPosition]="tooltipPosition"
    [mode]="mode"
    [yearRange]="yearRange"
    (change)="handleChange()">
</dv-datepicker>

Properties

이름타입default설명
valueDateInfonullutils/DateInfo 사용. valueChange 이벤트로 양방향 바인딩 가능
tooltipTextstring""툴팁 텍스트
tooltipPositionstring"top"툴팁 방향
modeCalendarTypeView"date"캘린더 타입. date, month, year

Events

이름파라미터설명
valueChangeevent: DvDateInfo; 변경된 값값 변경 이벤트
change날짜 변경 이벤트 (valueChange와 같으나 값 넘기지 않음)

dv-search-input

primeng InputGroup 확장 컴포넌트입니다.

  • snippet prefix : dv-si
<dv-search-input
    placeholder="placeholder"
    tooltipText="tooltipText"
    [(value)]="inputValue"
    [isMain]="true"
    (handleClick)="handleClick()">
</dv-search-input>

Properties

이름타입default설명
placeholderstring""placeholder
tooltipTextstring""버튼 tooltip
valuestring""input value
isMainbooleanfalse한 페이지에 여러 search-input이 있을 때 autofocus 설정할 main search-input
disabledbooleanfalsedisabled 여부

Events

이름파라미터설명
handleClick검색 버튼 클릭 시 이벤트
valueChangeevent: string; 입력된 값값 변경 시 이벤트

dv-base-table

primeng Table 확장 컴포넌트입니다.
셀 복사/붙여넣기를 지원합니다.

  • snippet prefix : dv-bt
<dv-base-table
    [isResizable]="true"
    [items]="viewDatas.getItems()"
    [columnItems]="mainTableInfo.columns"
    [getColumClass]="getColumClass"
    [isEditable]="true"
    [isScroll]="isScroll"
    [scrollHeight]="scrollHeight"
    [dataName]="dataName"
    [mobileColumns]="getMobileColumns()"
    [draggableKey]="draggableKey"
    [droppableKey]="droppableKey"
    [getTdTooltip]="getTdTooltip"
    (setClickedRow)="setClickedRow(event)"
    (editDataCall)="editClick(event)"
    (dragStart)="dragStart(event)"
    (dragEnd)="dragEnd()"
    (dropEnd)="dropEnd(event)">
    <ng-template #additionalTh>
        <th class="text-center bg-table-header" style="width: 70px;">버튼</th>
    </ng-template>
    <ng-template let-row #additionalTd>
        <td class="text-center">
            <dv-button icon="fas fa-cloud-download-alt"></dv-button>
        </td>
    </ng-template>
    <ng-template #additionalThMobile>
        <span>버튼</span>
    </ng-template>
    <ng-template let-row #additionalTdMobile>
        <dv-button icon="fas fa-cloud-download-alt"></dv-button>
    </ng-template>
</dv-base-table>

Properties

이름타입default설명
isResizablebooleantrue컬럼 사이즈 조절 기능 사용 여부
itemsany[][]데이터 리스트
columnItemsDvArrayListnull표시 컬럼 리스트
isEditablebooleanfalse기본 수정 버튼 사용 여부
isScrollbooleanfalse테이블 스크롤 true/falsetrue인 경우 scrollHeight 값을 같이 설정frozenColumn을 사용하는 경우에도 true 처리 필요
scrollHeightstring""테이블의 고정 높이 설정. 단위도 같이 입력 (e.g. 300px)
dataNamestring""모바일 테이블에서 보여줄 타이틀
mobileColumnsany[][]모바일 사이즈 테이블에 출력할 데이터. 컬럼 필드명의 리스트
draggableKeystring""데이터를 드래그 가능한 테이블로 사용 시 설정하는 키 값
droppableKeystring""드래그 아이템을 드랍 가능한 테이블로 사용 시 설정하는 키 값
getColumClass(row: any, col: DvColumnInfo) => stringnull특정 컬럼의 class 추가
getTdTooltip(row: any, col: DvColumnInfo) => stringnull특정 컬럼의 tooltip 대체

Events

이름파라미터설명
setClickedRowevent.index: number; 클릭 row index(row.index가 아닌 for문 index)event.row: any; 클릭된 rowevent.field: string; 클릭된 column fieldrow 클릭 시 발생 이벤트
editDataCallevent: any; 클릭된 row수정 버튼 클릭 시 발생 이벤트
dragStartevent: any; 선택된 rowdraggable 테이블의 아이템 드래그 시 발생 이벤트droppable table과 직접 연결된 것은 아니기 때문에 droppable과 사용 시 해당 아이템을 변수에 넣어둘 필요가 있음
dragEnddrag 중인 아이템을 놓았을 때 발생 이벤트
dropEndevent.event: Event; drop browser Eventevent.targetIdx: number; 테이블에서 드랍된 위치의 indexdroppable 테이블에 아이템 드랍 시 발생 이벤트
handleDraggedItemsevent: any[]; 드래그 범위 아이템 리스트드래그 시 발생 이벤트. ROW draggableKey가 있으면 발생하지 않음.

dv-paginator

primeng Paginator 확장 컴포넌트입니다.

  • snippet prefix : dv-pgn
<dv-paginator #pPaginator
    [selectedCount]="selectedCount"
    [pagePerRows]="pagePerRows"
    [totalRows]="totalRows"
    [isSelectable]="true"
    leftText="선택"
    (pageChange)="paginate($event)">
</dv-paginator>

Properties

이름타입default설명
selectedCountnumber0선택된 로우 수
pagePerRowsnumber0한 페이지에 표시할 로우 수
totalRowsnumber0총 로우 수
isSelectablebooleantrue선택 표시 여부
leftTextstring"선택"선택 수량 표시 텍스트

Events

이름파라미터설명
pageChangeevent.first: number; 첫 번째 로우 indexevent.rows: number; 페이지에 표시되는 로우 수event.page: number; 변경된 페이지 번호event.pageCount: number; 총 페이지 수페이지 변경 시 이벤트

dv-search-dynamic

primeng AutoComplete 확장 컴포넌트입니다.

  • snippet prefix : dv-sd
<dv-search-dynamic
    [(value)]="value"
    [searchParams]="searchParams"
    [disabled]="false"
    [config]="searchConfig"
    [cancelText]="cancelText">
</dv-search-dynamic>

Properties

이름타입default설명
valueanynull선택 데이터
searchParamsany{}API Call 시 파라미터
disabledbooleanfalsedisabled 여부
configDvSearchConfignullAPI Call 설정
cancelTextstring"선택 취소"null 값 반환하는 데이터의 display 텍스트. 빈 문자열 입력 시 null 선택 사라짐
inputIdstring""input의 id값 설정

Events

이름파라미터설명
valueChangeevent: any; 선택된 데이터데이터 선택 시 이벤트

dv-sidebar

primeng Sidebar 확장 컴포넌트입니다.

  • snippet prefix : dv-sidebar
<dv-sidebar
    [position]="position"
    [(display)]="display"
    [size]="size"
    title="sidebar"
    [leftText]="leftText"
    [okLabel]="okLabel"
    [okTooltip]="okTooltip"
    [cancelLabel]="cancelLabel"
    [cancelTooltip]="cancelTooltip"
    (save)="handleSave()"
    (cancel)="handleCancel()">
    <span contents>
        contents
    </span>
    <ng-template #additionalButtons>
        <dv-button label="Click"></dv-button>
    </ng-template>
</dv-sidebar>

Properties

이름타입default설명
positionstring"right"sidebar 위치. left, right, bottom, top
displaybooleanfalsesidebar show/hide 상태값
sizestring"md"sidebar 크기. sm, md, lg, full
titlestring""제목
leftTextstring""errorStatus 텍스트
okLabelstring"저 장"기본 저장 버튼 텍스트. 빈 문자열이면 버튼 hidden
okTooltipstring"작성하신 데이터를 저장합니다."기본 저장 버튼 툴팁 텍스트
cancelLabelstring"취 소"기본 취소 버튼 텍스트. 빈 문자열이면 버튼 hidden
cancelTooltipstring"데이터를 저장하지 않고 사이드바를 닫습니다."기본 취소 버튼 툴팁 텍스트
modalbooleantruemodal/modaless 구분. true면 modal, false면 modaless
styleObjobject{}Inline style of the component

Events

이름파라미터설명
displayChangeevent: boolean; show/hide 상태값show/hide 상태 변경 시 이벤트
save저장 버튼 클릭 시 이벤트
cancel취소 버튼 클릭 시 이벤트

dv-overlaypanel

primeng OverlayPanel 확장 컴포넌트입니다. 기본 사용은 DvOverlaypanelTableController class를 상속받아 구현합니다. (SampleOverlayComponent 참고)

  • snippet prefix : dv-overlaypanel
<dv-overlaypanel #op (onHide)="release()">
    <ng-template pTemplate>
        <dv-base-table
            [items]="viewDatas.getItems()"
            [columnItems]="mainTableInfo.columns"
            [isEditable]="false">
        </dv-base-table>
    </ng-template>
</dv-overlaypanel>

Properties

이름타입default설명
showCloseIconbooleantruepanel 우상단 닫기 버튼 show/hide
styleanynullInline style of the component.
styleClassstringnullStyle class of the component.

Events

이름파라미터설명
onShowshow 시 이벤트
onHidehide 시 이벤트

models

DropdownItem

이름타입설명
selectedTdropdown component의 option list에서 선택된 옵션
optionsT[]dropdown component의 option list. 선택 시 selected 값에 바인딩

utils

dv-divider

divider의 여백을 0으로 하는 divider styleClass 입니다.

  • snippet prefix : dv-div
<p-divider styleClass="dv-divider"></p-divider>

dv-overlaypanel-table-controller

dv-overlaypanel 내부에 dv-base-table을 사용할 때 테이블 데이터 조작을 위한 추상 클래스입니다.

Properties

이름타입default설명
opDvOverlayPanelComponentViewChile DvOverlayPanelComponent
viewDatasDvArrayList테이블에 표시되는 데이터 리스트
mainTableInfoDvTableInfonull테이블 컬럼
eventanynulloverlaypanel open 클릭 이벤트. overlaypanel 위치 설정을 위해 클릭 이벤트를 꼭 할당할 필요가 있습니다.
1.5.1

1 year ago

1.4.2

1 year ago

1.5.0

1 year ago

2.3.0

1 year ago

2.0.3

1 year ago

2.2.0

1 year ago

2.0.2

1 year ago

2.4.0

1 year ago

2.3.1

1 year ago

2.1.0

1 year ago

2.0.1

1 year ago

2.0.0

1 year ago

1.2.4

2 years ago

1.4.1

1 year ago

1.2.3

2 years ago

1.4.0

1 year ago

1.3.1

1 year ago

1.3.0

1 year ago

1.2.0

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.2.2

2 years ago

1.1.3

2 years ago

1.2.1

2 years ago

1.1.2

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago