UNPKG

coffeescript-ui

Version:
96 lines (74 loc) 2.08 kB
### * 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() @removeOpt("helper") @addOpts row: mandatory: true check: CUI.ListViewRow column: mandatory: true check: CUI.ListViewColumn readOpts: -> super() @__row_i = @_row.getRowIdx() @__display_row_i = @_row.getDisplayRowIdx() @__listView = @_row.getListView() @__col_i = @_column.getColumnIdx() CUI.Events.listen type: "dblclick" node: @_element instance: @ call: (ev) => console.debug "list view", @__listView, @__col_i, @__row_i @__listView.resetColWidth(@__col_i) return get_axis: -> "x" get_cursor: (gd) -> "ew-resize" get_helper: (ev, gd, diff) -> @get_marker("cui-lv-col-resize") get_init_helper_pos: -> rect = @__listView.getCellGridRect(@__row_i, @__col_i) @__contentWidthAdjust = rect.contentWidthAdjust left: rect.left_abs top: rect.top_abs width: rect.width height: @__listView.getGrid().offsetHeight get_helper_pos: (ev, $target, diff) -> helper_pos = super(ev, $target, diff) # left stays helper_pos.left = CUI.globalDrag.helperNodeStart.left @__new_width = CUI.globalDrag.helperNodeStart.width + diff.x helper_pos.width = @__new_width helper_pos start_drag: (ev, $target, diff) -> super(ev, $target, diff) @__inital_width = @__listView.getManualColWidth(@__col_i) @ do_drag: (ev, $target, diff) -> super(ev, $target, diff) if CUI.browser.ie return @__setColWidth(@__new_width) stop_drag: (ev) -> super(ev) if @__inital_width @__listView.setColWidth(@__col_i, @__initial_width) else @__listView.resetColWidth(@__col_i) __setColWidth: (width) -> @__listView.setColWidth(@__col_i, width - @__contentWidthAdjust) end_drag: (ev) -> super(ev) @__setColWidth(@__new_width) destroy: -> CUI.Events.ignore(instance: @) super()