portlet-state.js

来自「1.. 需要jdom.jar和bsf.jar,否则无法跟spring整合. 」· JavaScript 代码 · 共 61 行

JS
61
字号
Divo.app.PortalState = function() {
	// -------------------- private properties ------------------
	var sm = Ext.state.Manager;
	var stateId = "app-portal-demo-v-p";
	var portal;

	// -------------------- private method  ------------------
	function saveState() {
		var portletInfos = [];
		var portlets = [];
		var colNum = portal.items.length;
		var rowIndex = 0;
		while (true) {
			var bFound = false;
			for (var i = 0;i < colNum; i++) {
				var p = portal.items.itemAt(i).items.itemAt(rowIndex);
				if (p && p.pInfo && p.pInfo.id) {
					portletInfos.push(p.pInfo);
					portlets.push(p);
					bFound = true;
				}
			}
			if (!bFound) {
				break;
			}
			rowIndex++;
		}

		if (portletInfos.length > 0)
		    sm.set(stateId, portletInfos);
		
		// save height of portlet
		for (var i = 0;i < portlets.length; i++) {
			if (portlets[i].lastSize) {
				var h = portlets[i].lastSize.height;
				var sid = stateId + '-h-' + portletInfos[i].id;
				if (h)
				   sm.set(sid, h);
			}
		}
	}

	// -------------------- public method ------------------
	return {
		init : function(portalId) {
			portal = Ext.ComponentMgr.get(portalId)
		},
		save : function() {
			saveState();
		},
		getVisiblePortlets : function() {
			return sm.get(stateId);
		},
		getHeight : function(portletId) {
			return sm.get(stateId + '-h-' + portletId);
		}
	};
}
// EOP

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?