daledotshan/liferay-portal — pull request #45 by yuhai (2014-08-01 09:05:12+00:00)
Title: LPS-44110 Asset Publisher: two different CK Editor Button Toolbars

The issue was caused by we use different popup window's width to load ckeditor's toolbar.

In Rich Summary Display Template:
1.When adding web content, we use default DOM.winWidth()*0.95 as popup window's width. From my understaning, I suppose my current window width is 1400. When adding the web content, it will popup window(width will be 0.95*1400). When loading ckeditor, we use the below method to judge load which our defination's ckeditor toolbar.

function getToolbarSet(toolbarSet) {
if (Util.isPhone()) {
toolbarSet = 'phone';
}
else if (Util.isTablet()) {
toolbarSet = 'tablet';
}
// we define Phone and tablet width in Liferay.BREAKPOINTS = {PHONE: 768,TABLET: 980}; in util.js
return toolbarSet;
}

In this case, the config.toolbar_liferay will be used in ckconfig.jsp.

2. When editing the web content, we define popup window's width(960), so config.toolbar_tablet will be used in ckconfig.jsp.

So we will see the issue "different ckeditor's toolbar is used when adding and editing web content.

If we don't set the width, it will use the default DOM.winWidth()*0.95 as width, please refer to util_window._setWindowDefaultSizeIfNeeded().

For the winWidth, I refer to the explanation from http://yuilibrary.com/yui/docs/api/classes/Node.html#attr_winWidth

In addition, in other Display Template(Abstract), regarding edit action, we also use the default width. Please refer to the below code in html\portlet\asset_publisher\asset_actions.jsp

String taglibEditURL = "javascript:Liferay.Util.openWindow({id: '" + renderResponse.getNamespace() + "editAsset', title: '" + HtmlUtil.escapeJS(LanguageUtil.format(request, "edit-x", HtmlUtil.escape(assetRenderer.getTitle(locale)), false)) + "', uri:'" + HtmlUtil.escapeJS(editPortletURL.toString()) + "'});";

Thanks,
Hai