JdBucketContainerRef

JdBucketContainerRef

new JdBucketContainerRef()

한개의 버킷 컨테이너. - 동일 그룹명끼지 모델 전송이 가능하다. - sender 역할의 컨테이너는 receiver 로 전달만 가능하고, 자체 소팅은 지원하지 않는다. - receiver 역할의 컨테이너는 sender 로 부터 전달을 받을 수 있고, 자체 소팅을 지원한다.
Implements:
Source:

Members

(readonly) elContainer :Element|null

draggable DOM
Type:
  • Element | null
Source:

(readonly) groupName :BucketGroupNameType

그룹명
Type:
  • BucketGroupNameType
Source:

(readonly) isMaximum :boolean

현재 컨테이너가 포함한 모델 갯수가 최대 갯수에 도달했는지 여부.
Type:
  • boolean
Source:

(readonly) isMultiple :boolean

멀티 dnd 지원 여부.
Type:
  • boolean
Source:

(readonly) isReceiver :boolean

해당 컨테이너가 receiver 인지 여부.
Type:
  • boolean
Source:

(readonly) max :number

컨테이너에 담을 수 있는 최대 수
Type:
  • number
Source:

(readonly) onDropBefore :BucketDropBeforeCallback|null

지정한 hookDropBefore 함수.
Type:
Source:

Methods

addDragItem(itemRef)

드래깅 버킷 아이템 추가. (드래깅 - 드래그 아이템으로 선택, 드래그 중인 것)
Parameters:
Name Type Description
itemRef IBucketItemRef
Source:

addDragItem(itemRef) → {void}

드래깅 버킷 아이템 추가. (드래깅 - 드래그 아이템으로 선택, 드래그 중인 것)
Parameters:
Name Type Description
itemRef IBucketItemRef
Source:
Returns:
Type
void

addDragItemToBoundary(boundary)

지정된 boundary 영역에 hit 되는 버킷 아이템을 찾아서 추가
Parameters:
Name Type Description
boundary SelectionBoundary
Source:

addDragItemToBoundary(boundary)

지정된 boundary 영역에 hit 되는 버킷 아이템을 찾아서 추가
Parameters:
Name Type Description
boundary SelectionBoundary
Source:

createCloneModel() → {BucketCloneModel}

draggable clone 시 치환할 모델. draggable 에서 드랍을 하고 모델이 합쳐지기 직전 onClone 이 발생되는데, 이 때 이동될 모델을 치환할 수 있다. onClone 시 버킷쪽에서 멀티플 선택한 모델 목록으로 합쳐버려도 되나, dropBefore 를 통해 직접 값을 filter(예: 중복 id 는 넣지 않음, 어떤 type 은 제외하고 넣음 등) 하는 기능을 지원하려면, onClone 시 플래그 모델로 치환 시키고 onDrop 타이밍에 플래그 모델을 제거, dropBefore 의 유무/응답에 따라 버킷쪽에서 선택된 모델이나, dropBefore 에서 정제된 목록으로 합친다.
Source:
Returns:
Type
BucketCloneModel

createCloneModel() → {BucketCloneModel}

draggable clone 시 치환할 모델. draggable 에서 드랍을 하고 모델이 합쳐지기 직전 onClone 이 발생되는데, 이 때 이동될 모델을 치환할 수 있다. onClone 시 버킷쪽에서 멀티플 선택한 모델 목록으로 합쳐버려도 되나, dropBefore 를 통해 직접 값을 filter(예: 중복 id 는 넣지 않음, 어떤 type 은 제외하고 넣음 등) 하는 기능을 지원하려면, onClone 시 플래그 모델로 치환 시키고 onDrop 타이밍에 플래그 모델을 제거, dropBefore 의 유무/응답에 따라 버킷쪽에서 선택된 모델이나, dropBefore 에서 정제된 목록으로 합친다.
Source:
Returns:
Type
BucketCloneModel

destroy()

파기
Source:

destroy() → {void}

파기
Source:
Returns:
Type
void

dispatchChangeState()

알림: 컨테이너 상태 변경 setLazyStateChangeDelay 가 지정되어 있다면 lazy 하게 알림, 그렇지 않다면 바로 알림.
Source:

dispatchChangeState() → {void}

알림: 컨테이너 상태 변경 setLazyStateChangeDelay 가 지정되어 있다면 lazy 하게 알림, 그렇지 않다면 바로 알림.
Source:
Returns:
Type
void

dispatchDropped(params)

알림: 컨테이너에 드랍
Parameters:
Name Type Description
params BucketDragDrop
Source:

dispatchDropped(params) → {void}

알림: 컨테이너에 드랍
Parameters:
Name Type Description
params BucketDragDrop
Source:
Returns:
Type
void

elContainer() → {Element|null}

draggable DOM
Source:
Returns:
Type
Element | null

findDragItemIndex(itemRef) → {number}

드래깅으로 등록된 버킷 아이템 중 지정된 itemRef 와 일치하는것 index 반환.
Parameters:
Name Type Description
itemRef IBucketItemRef
Source:
Returns:
Type
number

findDragItemIndex(itemRef) → {number}

드래깅으로 등록된 버킷 아이템 중 지정된 itemRef 와 일치하는것 index 반환.
Parameters:
Name Type Description
itemRef IBucketItemRef
Source:
Returns:
Type
number

findItemRefByElement(element) → {IBucketItemRef}

element 로 버킷 아이템을 찾아서 반환
Parameters:
Name Type Description
element Element
Source:
Returns:
Type
IBucketItemRef

findItemRefByElement(element) → {IBucketItemRef}

element 로 버킷 아이템을 찾아서 반환
Parameters:
Name Type Description
element Element
Source:
Returns:
Type
IBucketItemRef

findItemRefIndex(itemRef) → {number}

list 중 지정된 itemRef 의 model 과 일치하는것 index 반환.
Parameters:
Name Type Description
itemRef IBucketItemRef
Source:
Returns:
Type
number

findItemRefIndex(itemRef) → {number}

list 중 지정된 itemRef 의 model 과 일치하는것 index 반환.
Parameters:
Name Type Description
itemRef IBucketItemRef
Source:
Returns:
Type
number

flushDragItem()

드래깅 버킷 아이템 모두 제거
Source:

flushDragItem() → {void}

드래깅 버킷 아이템 모두 제거
Source:
Returns:
Type
void

getDragItems() → {Array.<IBucketItemRef>}

드래깅 버킷 아이템 반환
Source:
Returns:
Type
Array.<IBucketItemRef>

getDragItems() → {Array.<IBucketItemRef>}

드래깅 버킷 아이템 반환
Source:
Returns:
Type
Array.<IBucketItemRef>

getItemRefs() → {Map.<string, IBucketItemRef>}

등록된 버킷 아이템 맵.
Source:
Returns:
Type
Map.<string, IBucketItemRef>

getItemRefs() → {Map.<string, IBucketItemRef>}

등록된 버킷 아이템 맵.
Source:
Returns:
Type
Map.<string, IBucketItemRef>

getList()

가지고 있는 모델 목록 반환
Source:

getList() → {Array}

가지고 있는 모델 목록 반환
Source:
Returns:
Type
Array

(protected) getMergeCurrentList() → {Array.<TM>}

merge 할 때 현재 가지고 있는 목록을 정제하여 반환.
Source:
Returns:
Type
Array.<TM>

(protected) getMergeCurrentList() → {Array.<TM>}

merge 할 때 현재 가지고 있는 목록을 정제하여 반환.
Source:
Returns:
Type
Array.<TM>

(protected) getMergeInsertList(addList) → {Array.<TM>}

merge 할 때 합쳐져야할 대상 목록을 정제하여 반환.
Parameters:
Name Type Description
addList Array.<TM>
Source:
Returns:
Type
Array.<TM>

(protected) getMergeInsertList(addList) → {Array.<TM>}

merge 할 때 합쳐져야할 대상 목록을 정제하여 반환.
Parameters:
Name Type Description
addList Array.<TM>
Source:
Returns:
Type
Array.<TM>

getUid() → {string}

해당 컨테이너의 uid 반환
Source:
Returns:
Type
string

getUid() → {string}

해당 컨테이너의 uid 반환
Source:
Returns:
Type
string

groupName() → {BucketGroupNameType}

그룹명
Source:
Returns:
Type
BucketGroupNameType

isGroupInsertable(fromContainer) → {boolean}

해당 컨테이너가 드래깅 중이 아이템을 넣을 수 있느지 여부. fromContainer 의 정보와 해당 컨테이너의 조건에 따라 드랍이 가능한지 여부를 판단함.
Parameters:
Name Type Description
fromContainer JdBucketContainerRef
Source:
Returns:
Type
boolean

isGroupInsertable(fromContainer) → {boolean}

해당 컨테이너가 드래깅 중이 아이템을 넣을 수 있느지 여부. fromContainer 의 정보와 해당 컨테이너의 조건에 따라 드랍이 가능한지 여부를 판단함.
Parameters:
Name Type Description
fromContainer JdBucketContainerRef
Source:
Returns:
Type
boolean

isGroupSame(fromContainer) → {boolean}

fromContainer 와 그룹명이 같은지 여부.
Parameters:
Name Type Description
fromContainer JdBucketContainerRef
Source:
Returns:
Type
boolean

isGroupSame(fromContainer) → {boolean}

fromContainer 와 그룹명이 같은지 여부.
Parameters:
Name Type Description
fromContainer JdBucketContainerRef
Source:
Returns:
Type
boolean

isMaximum() → {boolean}

현재 컨테이너가 포함한 모델 갯수가 최대 갯수에 도달했는지 여부.
Source:
Returns:
Type
boolean

isMultiple() → {boolean}

멀티 dnd 지원 여부.
Source:
Returns:
Type
boolean

isReceiver() → {boolean}

해당 컨테이너가 receiver 인지 여부.
Source:
Returns:
Type
boolean

joinItemRef(itemRef)

버킷 아이템 등록.
Parameters:
Name Type Description
itemRef IBucketItemRef
Source:

joinItemRef(itemRef) → {void}

버킷 아이템 등록.
Parameters:
Name Type Description
itemRef IBucketItemRef
Source:
Returns:
Type
void

max() → {number}

컨테이너에 담을 수 있는 최대 수
Source:
Returns:
Type
number

(async) mergeToDrop(insertIndex, fromContainer, fnEmitteropt)

fromContainer 의 드래깅 중인(드랍한) 아이템을 insertIndex 에 현재 리스트에 합친다. - dropBefore 가 지정된 경우 사용자 응답을 기다리고, 응답이 배열인 경우는 응답한 배열로 합친다. 그렇지 않은 경우 응답값이 true 에 해당하는 경우만 드랍한 아이템으로 합친다. 그 외는 무시하고 합치지 않는다. fnEmitter 콜백의 경우 UI 단에서는 dropBefore 에 따라 선/후행 업데이트를 해야할 수 있어서 list 가 변경된 상태를 UI 단에서 알아야하는 경우 콜백을 해준다.
Parameters:
Name Type Attributes Description
insertIndex number
fromContainer IBucketContainerRef
fnEmitter BucketDropBeforeEmitter <optional>
Source:

(async) mergeToDrop(insertIndex, fromContainer, fnEmitteropt) → {Promise.<void>}

fromContainer 의 드래깅 중인(드랍한) 아이템을 insertIndex 에 현재 리스트에 합친다. - dropBefore 가 지정된 경우 사용자 응답을 기다리고, 응답이 배열인 경우는 응답한 배열로 합친다. 그렇지 않은 경우 응답값이 true 에 해당하는 경우만 드랍한 아이템으로 합친다. 그 외는 무시하고 합치지 않는다. fnEmitter 콜백의 경우 UI 단에서는 dropBefore 에 따라 선/후행 업데이트를 해야할 수 있어서 list 가 변경된 상태를 UI 단에서 알아야하는 경우 콜백을 해준다.
Parameters:
Name Type Attributes Description
insertIndex number
fromContainer IBucketContainerRef
fnEmitter BucketDropBeforeEmitter <optional>
Source:
Returns:
Type
Promise.<void>

observeChangeState() → {Observable.<IBucketContainerRef>}

옵저버: 컨테이너 상태 변경
Source:
Returns:
Type
Observable.<IBucketContainerRef>

observeChangeState() → {Observable.<IBucketContainerRef>}

옵저버: 컨테이너 상태 변경
Source:
Returns:
Type
Observable.<IBucketContainerRef>

observeDropped() → {Observable.<BucketDragDrop>}

옵저버: 컨테이너에 드랍
Source:
Returns:
Type
Observable.<BucketDragDrop>

observeDropped() → {Observable.<BucketDragDrop>}

옵저버: 컨테이너에 드랍
Source:
Returns:
Type
Observable.<BucketDragDrop>

onDropBefore() → {BucketDropBeforeCallback|null}

지정한 hookDropBefore 함수.
Source:
Returns:
Type
BucketDropBeforeCallback | null

removeByIndex(index)

list 의 index 아이템을 제거.
Parameters:
Name Type Description
index number
Source:

removeByIndex(index) → {void}

list 의 index 아이템을 제거.
Parameters:
Name Type Description
index number
Source:
Returns:
Type
void

removeByModel(model)

list 중 model 을 찾아서 동일한 model 의 아이템을 제거.
Parameters:
Name Type Description
model *
Source:

removeByModel(model) → {void}

list 중 model 을 찾아서 동일한 model 의 아이템을 제거.
Parameters:
Name Type Description
model *
Source:
Returns:
Type
void

removeDragItem(itemRef)

드래깅 버킷 아이템 제거
Parameters:
Name Type Description
itemRef IBucketItemRef
Source:

removeDragItem(itemRef) → {void}

드래깅 버킷 아이템 제거
Parameters:
Name Type Description
itemRef IBucketItemRef
Source:
Returns:
Type
void

setDragItem(itemRef)

드래깅 버킷 아이템으로 지정
Parameters:
Name Type Description
itemRef IBucketItemRef
Source:

setDragItem(itemRef) → {void}

드래깅 버킷 아이템으로 지정
Parameters:
Name Type Description
itemRef IBucketItemRef
Source:
Returns:
Type
void

setDropBefore(handle)

sender 컨테이너에서 receiver 컨테이너로 드랍을 하고, list 를 merge 하기 직전 실행될 (validate, filter ... 를 직접 할) 함수 지정.
Parameters:
Name Type Description
handle BucketDropBeforeCallback
Source:

setDropBefore(handle) → {void}

sender 컨테이너에서 receiver 컨테이너로 드랍을 하고, list 를 merge 하기 직전 실행될 (validate, filter ... 를 직접 할) 함수 지정.
Parameters:
Name Type Description
handle BucketDropBeforeCallback
Source:
Returns:
Type
void

setElContainer(element)

draggable DOM 참조 지정
Parameters:
Name Type Description
element Element
Source:

setElContainer(element) → {void}

draggable DOM 참조 지정
Parameters:
Name Type Description
element Element
Source:
Returns:
Type
void

setGroupName(groupName)

그룹명 지정
Parameters:
Name Type Description
groupName BucketGroupNameType
Source:

setGroupName(groupName)

그룹명 지정
Parameters:
Name Type Description
groupName BucketGroupNameType
Source:

setLazyStateChangeDelay(delay)

컨테이너 상태 변경 알림을 delay 만큼 느슨하게 하도록 지정.
Parameters:
Name Type Description
delay number
Source:

setLazyStateChangeDelay(delay) → {void}

컨테이너 상태 변경 알림을 delay 만큼 느슨하게 하도록 지정.
Parameters:
Name Type Description
delay number
Source:
Returns:
Type
void

setList(list)

모델 목록
Parameters:
Name Type Description
list *
Source:

setList(list) → {void}

모델 목록
Parameters:
Name Type Description
list *
Source:
Returns:
Type
void

setMax(maxopt)

버킷에 담을 수 있는 최대 수 지정
Parameters:
Name Type Attributes Default Description
max number <optional>
-1
Source:

setMax(maxopt)

버킷에 담을 수 있는 최대 수 지정
Parameters:
Name Type Attributes Default Description
max number <optional>
-1
Source:

setMultiple(is)

멀티플 지원여부 지정
Parameters:
Name Type Description
is boolean
Source:

setMultiple(is)

멀티플 지원여부 지정
Parameters:
Name Type Description
is boolean
Source:

setReceiver(is)

receiver 인지 지정
Parameters:
Name Type Description
is boolean
Source:

setReceiver(is)

receiver 인지 지정
Parameters:
Name Type Description
is boolean
Source:

unjoinItemRef(itemRef)

버킷 아이템 등록 해제.
Parameters:
Name Type Description
itemRef IBucketItemRef
Source:

unjoinItemRef(itemRef) → {void}

버킷 아이템 등록 해제.
Parameters:
Name Type Description
itemRef IBucketItemRef
Source:
Returns:
Type
void