Changeset View
Changeset View
Standalone View
Standalone View
webroot/rsrc/js/phuix/PHUIXFormationView.js
| /** | /** | ||||
| * @provides phuix-formation-view | * @provides phuix-formation-view | ||||
| * @requires javelin-install | * @requires javelin-install | ||||
| * javelin-dom | * javelin-dom | ||||
| * phuix-formation-column-view | |||||
| * phuix-formation-flank-view | |||||
| */ | */ | ||||
| JX.install('PHUIXFormationView', { | JX.install('PHUIXFormationView', { | ||||
| construct: function() { | construct: function(node) { | ||||
| this._node = node; | |||||
| this._columns = []; | this._columns = []; | ||||
| var config = JX.Stratcom.getData(this._node); | |||||
| var items = config.items; | |||||
| var count = items.length; | |||||
| for (var ii = 0; ii < count; ii++) { | |||||
| var item = items[ii]; | |||||
| var item_node = JX.$(item.itemID); | |||||
| var column = new JX.PHUIXFormationColumnView(item_node) | |||||
| .setIsRightAligned(item.isRightAligned) | |||||
| .setWidth(item.width) | |||||
| .setIsVisible(item.isVisible); | |||||
| if (item.expanderID) { | |||||
| column.setExpanderNode(JX.$(item.expanderID)); | |||||
| } | |||||
| if (item.resizer) { | |||||
| column | |||||
| .setWidthSettingKey(item.resizer.widthKey) | |||||
| .setVisibleSettingKey(item.resizer.visibleKey) | |||||
| .setMinimumWidth(item.resizer.minimumWidth) | |||||
| .setMaximumWidth(item.resizer.maximumWidth) | |||||
| .setResizerItem(JX.$(item.resizer.itemID)) | |||||
| .setResizerControl(JX.$(item.resizer.controlID)); | |||||
| } | |||||
| var spec = item.column; | |||||
| if (spec) { | |||||
| if (spec.type === 'flank') { | |||||
| var flank_node = JX.$(spec.nodeID); | |||||
| var head = JX.$(spec.headID); | |||||
| var body = JX.$(spec.bodyID); | |||||
| var tail = JX.$(spec.tailID); | |||||
| var flank = new JX.PHUIXFormationFlankView( | |||||
| flank_node, | |||||
| head, | |||||
| body, | |||||
| tail); | |||||
| flank.setIsFixed(spec.isFixed); | |||||
| column.setFlank(flank); | |||||
| } | |||||
| } | |||||
| this.addColumn(column); | |||||
| } | |||||
| }, | }, | ||||
| members: { | members: { | ||||
| _node: null, | |||||
| _columns: null, | _columns: null, | ||||
| addColumn: function(column) { | addColumn: function(column) { | ||||
| this._columns.push(column); | this._columns.push(column); | ||||
| }, | }, | ||||
| getColumn: function(idx) { | |||||
| return this._columns[idx]; | |||||
| }, | |||||
| start: function() { | start: function() { | ||||
| JX.enableDispatch(document.body, 'mousemove'); | JX.enableDispatch(document.body, 'mousemove'); | ||||
| for (var ii = 0; ii < this._columns.length; ii++) { | for (var ii = 0; ii < this._columns.length; ii++) { | ||||
| this._columns[ii].start(); | this._columns[ii].start(); | ||||
| } | } | ||||
| var repaint = JX.bind(this, this.repaint); | var repaint = JX.bind(this, this.repaint); | ||||
| ▲ Show 20 Lines • Show All 41 Lines • Show Last 20 Lines | |||||