UNPKG

@mikezimm/npmfunctions

Version:
300 lines 12.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BannerPropButtonThemes = exports.FPSBanner3ThemeGroup = exports.FPSBanner3Group = exports.FPSBanner3NavGroup = exports.BannerPropNavButtonFields = exports.FPSBanner4BasicGroup = exports.FPSBanner3BasicGroup = exports.BannerPropPaneButtonBasics = exports.FPSOptionsGroupBasic = exports.FPSOptionsGroupAdvanced = void 0; var sp_property_pane_1 = require("@microsoft/sp-property-pane"); var defaults_1 = require("../../HelpPanelOnNPM/onNpm/defaults"); var Audiences_1 = require("./Audiences"); // import { IMinWPBannerProps } from '../../HelpPanelOnNPM/onNpm/BannerInterface'; // { FPSBanner3Group, FPSBanner3BasicGroup,FPSBanner3NavGroup, FPSBanner3ThemeGroup } /** * This is the legacy options which were more complex with more options * @param showSearch * @param pageStyle * @param quickLaunchHide * @param containerMaxWidth */ function FPSOptionsGroupAdvanced(pageStyle, containerMaxWidth) { var fields = []; if (pageStyle === true) { fields.push((0, sp_property_pane_1.PropertyPaneTextField)('fpsPageStyle', { // disabled: webPartProps.ignoreList === true ? true : false, label: 'Custom page style settings', description: 'See wiki for more information.', multiline: true, })); } if (containerMaxWidth === true) { fields.push((0, sp_property_pane_1.PropertyPaneTextField)('fpsContainerMaxWidth', { // disabled: webPartProps.ignoreList === true ? true : false, label: 'Webpart container Max Width', description: 'ie: 100% or 2400px', })); } var optionsGroup = { groupName: 'FPS options - Advanced', isCollapsed: true, groupFields: fields }; return optionsGroup; } exports.FPSOptionsGroupAdvanced = FPSOptionsGroupAdvanced; /** * This is the second version which is more simple (toggles and sliders) * @param showSearch * @param pageStyle * @param quickLaunchHide * @param containerMaxWidth */ function FPSOptionsGroupBasic(showSearch, quickLaunchHide, pageHeaderHide, allSectWidth, allSectionMaxWidthEnable, allSectMargin, allSectionMarginEnable, toolBarHide) { var fields = []; if (showSearch === true) { fields.push((0, sp_property_pane_1.PropertyPaneToggle)('searchShow', { label: 'Show search bar by default', offText: 'Hide', onText: 'Show', })); } if (quickLaunchHide === true) { fields.push((0, sp_property_pane_1.PropertyPaneToggle)('quickLaunchHide', { label: 'Hide quick launch - may be seen briefly', offText: 'Ignore', onText: 'Hidden', })); } if (pageHeaderHide === true) { fields.push((0, sp_property_pane_1.PropertyPaneToggle)('pageHeaderHide', { label: 'Hide Page Header - may be seen briefly', offText: 'Ignore', onText: 'Hidden', })); } if (allSectWidth !== 'skip') { fields.push((0, sp_property_pane_1.PropertyPaneToggle)('allSectionMaxWidthEnable', { label: 'All Sections Max Width', offText: 'Off', onText: 'On', })); fields.push((0, sp_property_pane_1.PropertyPaneSlider)('allSectionMaxWidth', { label: 'Max width of all sections', disabled: allSectionMaxWidthEnable === true ? false : true, min: 1200, max: 3200, step: 100, })); } if (allSectMargin !== 'skip') { fields.push((0, sp_property_pane_1.PropertyPaneToggle)('allSectionMarginEnable', { label: 'All Sections Margin', offText: 'Off', onText: 'On', })); fields.push((0, sp_property_pane_1.PropertyPaneSlider)('allSectionMargin', { label: 'Top and Bottom Margin', disabled: allSectionMarginEnable === true ? false : true, min: 0, max: 100, step: 2, })); } if (toolBarHide === true) { fields.push((0, sp_property_pane_1.PropertyPaneToggle)('toolBarHide', { label: 'Hide Toolbar - while viewing', offText: 'Ignore', onText: 'Hidden', })); } var optionsGroup = { groupName: 'FPS Page Layout - Basic', isCollapsed: true, groupFields: fields }; return optionsGroup; } exports.FPSOptionsGroupBasic = FPSOptionsGroupBasic; /** * BannerPropPaneButtonBasics - Builds Basic FIELDS for Banner * @param forceBanner * @param modifyBannerTitle * @param showBanner * @param infoElementText * @returns */ function BannerPropPaneButtonBasics(forceBanner, modifyBannerTitle, showBanner, infoElementText, feedback, enableBeAUser) { var fields = []; fields.push((0, sp_property_pane_1.PropertyPaneToggle)('showBanner', { label: 'Show Banner', disabled: forceBanner !== false ? true : false, })); fields.push((0, sp_property_pane_1.PropertyPaneTextField)('bannerTitle', { label: 'Webpart Title', description: '', disabled: modifyBannerTitle !== true || showBanner !== true ? true : false, })); fields.push((0, sp_property_pane_1.PropertyPaneDropdown)('infoElementChoice', { label: 'More Info text-button', options: defaults_1.bannerInfoEleChoices, disabled: showBanner !== true ? true : false, })); fields.push((0, sp_property_pane_1.PropertyPaneTextField)('infoElementText', { label: 'More Information text on right of banner', description: 'Keep simple to one word if possible.', disabled: infoElementText !== true || showBanner !== true ? true : false, })); //feedbackEmail: string; fields.push((0, sp_property_pane_1.PropertyPaneTextField)('feedbackEmail', { label: 'Feedback email', description: 'Adds Feedback icon in the banner.', disabled: feedback !== true || showBanner !== true ? true : false, })); if (enableBeAUser === true) { fields.push((0, sp_property_pane_1.PropertyPaneDropdown)('beAUserAudience', { label: 'Audience for Be A User mode', options: Audiences_1.PageEditorAudienceChoices, disabled: showBanner !== true ? true : false, })); } return fields; } exports.BannerPropPaneButtonBasics = BannerPropPaneButtonBasics; /** * FPSBanner3BasicGroup builds FPS Banner Basics Prop Pane Group: showBanner, bannerTitle, infoElementChoice, infoElementText, * @param forceBanner * @param modifyBannerTitle * @param showBanner * @param infoElementText * @returns */ function FPSBanner3BasicGroup(forceBanner, modifyBannerTitle, showBanner, infoElementText, feedback) { var fields = BannerPropPaneButtonBasics(forceBanner, modifyBannerTitle, showBanner, infoElementText, feedback, false); var bannerGroup = { groupName: 'FPS Banner - Basics', isCollapsed: true, groupFields: fields }; return bannerGroup; } exports.FPSBanner3BasicGroup = FPSBanner3BasicGroup; /** * FPSBanner3BasicGroup builds FPS Banner Basics Prop Pane Group: showBanner, bannerTitle, infoElementChoice, infoElementText, * @param forceBanner * @param modifyBannerTitle * @param showBanner * @param infoElementText * @returns */ function FPSBanner4BasicGroup(forceBanner, modifyBannerTitle, showBanner, infoElementText, feedback, enableBeAUser) { var fields = BannerPropPaneButtonBasics(forceBanner, modifyBannerTitle, showBanner, infoElementText, feedback, enableBeAUser); var bannerGroup = { groupName: 'FPS Banner - Basics', isCollapsed: true, groupFields: fields }; return bannerGroup; } exports.FPSBanner4BasicGroup = FPSBanner4BasicGroup; /** * BannerPropNavButtonFields - Builds Fields for FPS Banner Nav Group */ exports.BannerPropNavButtonFields = [ (0, sp_property_pane_1.PropertyPaneToggle)('showGoToHome', { label: 'Show Go to Home Page Icon', }), (0, sp_property_pane_1.PropertyPaneToggle)('showGoToParent', { label: 'Show Got to Parent Site Icon', }), (0, sp_property_pane_1.PropertyPaneDropdown)('homeParentGearAudience', { label: 'Gear, Home, Parent audience', options: Audiences_1.EveryoneAudienceChoices, }), ]; /** * FPSBanner3NavGroup - Builds Prop Pane group for Nav Buttons: showGoToHome, showGoToParent, homeParentGearAudience * @returns */ function FPSBanner3NavGroup() { var fields = exports.BannerPropNavButtonFields; var bannerGroup = { groupName: 'FPS Banner - Navigation', isCollapsed: true, groupFields: fields }; return bannerGroup; } exports.FPSBanner3NavGroup = FPSBanner3NavGroup; /** * * @param forceBanner * @param modifyBannerTitle * @param modifyBannerStyle * @param showBanner * @param showAdvanced * @param showNavigation - Adds Navigate to Home Page and Parent Site */ function FPSBanner3Group(forceBanner, modifyBannerTitle, modifyBannerStyle, showBanner, showAdvanced, showNavigation, lockStyles, infoElementText, showFeedBackEmail, includeSiteTheme) { if (showFeedBackEmail === void 0) { showFeedBackEmail = true; } if (includeSiteTheme === void 0) { includeSiteTheme = false; } var fields = []; //Add basic properties BannerPropPaneButtonBasics(forceBanner, modifyBannerTitle, showBanner, infoElementText, showFeedBackEmail, false).map(function (field) { fields.push(field); }); //Add button properties if (showNavigation === true) { exports.BannerPropNavButtonFields.map(function (field) { fields.push(field); }); } fields.push((0, sp_property_pane_1.PropertyPaneHorizontalRule)()); //Add Theme properties BannerPropButtonThemes(modifyBannerStyle, showBanner, lockStyles, includeSiteTheme).map(function (field) { fields.push(field); }); var bannerGroup = { groupName: 'Banner', isCollapsed: true, groupFields: fields }; return bannerGroup; } exports.FPSBanner3Group = FPSBanner3Group; /** * FPSBanner3ThemeGroup - Builds FPS Banner Theme Group: bannerStyleChoice, bannerStyle, bannerCmdStyle, bannerHoverEffect * @param modifyBannerStyle * @param showBanner * @param lockStyles * @returns */ function FPSBanner3ThemeGroup(modifyBannerStyle, showBanner, lockStyles, includeSiteTheme) { var fields = BannerPropButtonThemes(modifyBannerStyle, showBanner, lockStyles, includeSiteTheme); var bannerGroup = { groupName: 'FPS Banner - Theme', isCollapsed: true, groupFields: fields }; return bannerGroup; } exports.FPSBanner3ThemeGroup = FPSBanner3ThemeGroup; /** * Generates prop pane FIELDS for: bannerStyleChoice, bannerStyle, bannerCmdStyle, bannerHoverEffect * @param modifyBannerStyle * @param showBanner * @param lockStyles * @returns */ function BannerPropButtonThemes(modifyBannerStyle, showBanner, lockStyles, includeSiteTheme) { var fields = []; fields.push((0, sp_property_pane_1.PropertyPaneDropdown)('bannerStyleChoice', { label: 'Banner Theme', options: includeSiteTheme === true ? defaults_1.bannerThemeChoicesWSiteTheme : defaults_1.bannerThemeChoices, disabled: modifyBannerStyle !== true || showBanner !== true ? true : false, })); // if ( lockStyles !== true ) { fields.push((0, sp_property_pane_1.PropertyPaneTextField)('bannerStyle', { label: 'Style options', description: 'React.CSSProperties format like: "fontSize":"larger","color":"red"', disabled: modifyBannerStyle !== true || showBanner !== true || lockStyles === true ? true : false, multiline: true, })); // } // if ( lockStyles !== true ) { fields.push((0, sp_property_pane_1.PropertyPaneTextField)('bannerCmdStyle', { label: 'Button Style options', description: 'React.CSSProperties format like: "fontSize":"larger","color":"red"', disabled: modifyBannerStyle !== true || showBanner !== true || lockStyles === true ? true : false, multiline: true, })); // } fields.push((0, sp_property_pane_1.PropertyPaneToggle)('bannerHoverEffect', { label: 'Banner Hover Effect', disabled: modifyBannerStyle !== true || showBanner !== true ? true : false, })); return fields; } exports.BannerPropButtonThemes = BannerPropButtonThemes; //# sourceMappingURL=FPSOptionsGroup3.js.map