coffeescript-ui
Version:
Coffeescript User Interface System
96 lines (74 loc) • 2.08 kB
text/coffeescript
###
* coffeescript-ui - Coffeescript User Interface System (CUI)
* Copyright (c) 2013 - 2016 Programmfabrik GmbH
* MIT Licence
* https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
###
class CUI.ListViewColResize extends CUI.ListViewDraggable
initOpts: ->
super()
("helper")
row:
mandatory: true
check: CUI.ListViewRow
column:
mandatory: true
check: CUI.ListViewColumn
readOpts: ->
super()
= .getRowIdx()
= .getDisplayRowIdx()
= .getListView()
= .getColumnIdx()
CUI.Events.listen
type: "dblclick"
node:
instance: @
call: (ev) =>
console.debug "list view", , ,
.resetColWidth()
return
get_axis: ->
"x"
get_cursor: (gd) ->
"ew-resize"
get_helper: (ev, gd, diff) ->
("cui-lv-col-resize")
get_init_helper_pos: ->
rect = .getCellGridRect(, )
= rect.contentWidthAdjust
left: rect.left_abs
top: rect.top_abs
width: rect.width
height: .getGrid().offsetHeight
get_helper_pos: (ev, $target, diff) ->
helper_pos = super(ev, $target, diff)
# left stays
helper_pos.left = CUI.globalDrag.helperNodeStart.left
= CUI.globalDrag.helperNodeStart.width + diff.x
helper_pos.width =
helper_pos
start_drag: (ev, $target, diff) ->
super(ev, $target, diff)
= .getManualColWidth()
@
do_drag: (ev, $target, diff) ->
super(ev, $target, diff)
if CUI.browser.ie
return
()
stop_drag: (ev) ->
super(ev)
if
.setColWidth(, )
else
.resetColWidth()
__setColWidth: (width) ->
.setColWidth(, width - )
end_drag: (ev) ->
super(ev)
()
destroy: ->
CUI.Events.ignore(instance: @)
super()