gd-sprest-js
Version:
SharePoint 2013/Online js components.
52 lines (51 loc) • 1.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var __1 = require("..");
/**
* Panel
*/
exports.Panel = function (props, content) {
// Set the class name
var className = (props.className || "");
switch (props.panelType) {
case __1.PanelTypes.Left:
className += " ms-Panel--left";
break;
case __1.PanelTypes.Medium:
className += " ms-Panel--md";
break;
case __1.PanelTypes.Large:
className += " ms-Panel--lg";
break;
case __1.PanelTypes.LargeFixed:
className += " ms-Panel--lg ms-Panel--fixed";
break;
case __1.PanelTypes.XLarge:
className += " ms-Panel--xl";
break;
case __1.PanelTypes.XXLarge:
className += " ms-Panel--xxl";
break;
}
;
// Method to render the close button
var renderCloseButton = function () {
return props.showCloseButton == false ? "" : [
'<button class="ms-Panel-closeButton ms-PanelAction-close">',
'<i class="ms-Panel-closeIcon ms-Icon ms-Icon--Cancel"></i>',
'</button>',
].join('\n');
};
// Return the template
return [
'<div class="ms-Panel ' + className.trim() + '">',
renderCloseButton(),
'<div class="ms-Panel-header">' + (props.panelHeader || "") + '</div>',
'<div class="ms-Panel-contentInner">',
props.headerText ? '<p class="ms-Panel-headerText">' + props.headerText + '</p>' : '',
'<div class="ms-Panel-content">' + (content || props.panelContent || "") + '</div>',
'</div>',
'<div class="ms-Panel-footer">' + (props.panelFooter || "") + '</div>',
'</div>',
].join('\n');
};