UNPKG

@mikezimm/fps-core-v7

Version:

Library of reusable core interfaces, types and constants migrated from fps-library-v2

152 lines 5.7 kB
import { check4This, Check4 } from '../../../logic/Links/CheckSearch'; // import { check4This } from '@mikezimm/fps-pnp2/lib/services/sp/CheckSearch'; /** * The purpose of this file is to establish a node in the dom to store all current page variables that can easily be seen and updated by any FPS Webpart */ export function webpartInstance(str) { const start = new Date(); const thisInstance = `${str} | ${start.toUTCString()} | ${start.getTime()} | ${Math.floor(Math.random() * 7997)}`; if (check4This(Check4.fpsInitRender_Eq_true) === true) console.log(`winFPS Initiating wpInstanceID: ${thisInstance}`); return thisInstance; } /** * Creates default pageStyles object for window.FPSOptions */ export function initializeFPSPage(wpInstanceID, doThis, fpsPageStyle, fpsPageArray) { let pageStyles = { title: 'FPS Page Styles', do: doThis, wpInstanceID: wpInstanceID, attempted: false, success: 0, errors: 0, Style: fpsPageStyle, Array: fpsPageArray, }; return pageStyles; } export function initializeFPSSection(wpInstanceID, maxWidth = null, marginTB = null) { let sectionStyles = { summary: { success: 0, errors: 0 }, maxWidth: { title: 'Section maxWidth', cssProp: 'maxWidth', wpInstanceID: wpInstanceID, history: [wpInstanceID], original: 'tbd', attempted: false, do: maxWidth === null ? null : true, value: maxWidth === null ? null : `${maxWidth}px`, success: 0, errors: 0 }, marginTB: { title: 'Section marginTopBottom', cssProp: 'margin', wpInstanceID: wpInstanceID, history: [wpInstanceID], original: 'tbd', attempted: false, do: marginTB === null ? null : true, value: marginTB === null ? '24px 0' : `${marginTB}px 0`, success: 0, errors: 0 }, }; return sectionStyles; } /** * initializeToolbar usage: * initializeToolbar( 'Hide Toolbar', wpInstanceID, 'display', this.properties.togglevalue ) * @param title * @param wpInstanceID * @param cssProp * @param value */ export function initializeMinimalStyle(title, wpInstanceID, cssProp, value = null) { let sectionStyles = { title: title, cssProp: cssProp, wpInstanceID: wpInstanceID, history: [wpInstanceID], original: 'tbd', attempted: false, do: value === null ? null : true, value: value === null ? null : value, success: 0, errors: 0 }; return sectionStyles; } export const defWpInstanceID = 'window'; // https://github.com/mikezimm/pivottiles7/issues/392 // export const defHideHeaderTitle = 'Hide Page Header'; export const defHideQuicklaunchTitle = 'Hide Quick Launch'; export const defToolBarTitle = 'Hide Toolbar'; // https://github.com/mikezimm/pivottiles7/issues/392 // const PageHeaderOption: IFPSMinimal = { // title: 'Hide Page Header', // wpInstanceID: defWpInstanceID, // history: [defWpInstanceID], // original: null, // attempted: false, // value: null, // success: 0, // errors: 0, // } const SocialBarOption = { title: 'Hide Social Bar', wpInstanceID: defWpInstanceID, history: [defWpInstanceID], original: null, attempted: false, value: null, success: 0, errors: 0, }; export function createFPSWindowProps() { const thisWindow = window; let didThis = 'Did not do anything this time'; if (!thisWindow.FPSOptions) { didThis = 'Adding FPSOptions to page'; let fpsWindowProps = { page: initializeFPSPage(defWpInstanceID, null, null, []), sections: initializeFPSSection(defWpInstanceID), // https://github.com/mikezimm/pivottiles7/issues/392 // pageHeader: PageHeaderOption, spsocialbar: SocialBarOption, quicklaunch: { title: 'Hide Quick Launch', wpInstanceID: defWpInstanceID, history: [defWpInstanceID], original: null, attempted: false, value: null, success: 0, errors: 0, }, expando: { title: 'Expandoramic Viewport', wpInstanceID: defWpInstanceID, history: [defWpInstanceID], original: null, attempted: false, value: null, success: 0, errors: 0, }, toolBar: initializeMinimalStyle(defToolBarTitle, defWpInstanceID, 'display', null), }; thisWindow.FPSOptions = fpsWindowProps; // https://github.com/mikezimm/fps-library-v2/issues/39 if (check4This(Check4.fpsInitRender_Eq_true) === true) console.log('winFPS createWinProps', didThis, thisWindow.FPSOptions); } else { } // Needed for backwards compatibility // https://github.com/mikezimm/pivottiles7/issues/392 // if ( thisWindow.FPSOptions [ `header` as 'pageHeader' ] ) thisWindow.FPSOptions.pageHeader = thisWindow.FPSOptions [ `header` as 'pageHeader' ]; // if ( !thisWindow.FPSOptions.pageHeader ) thisWindow.FPSOptions.pageHeader = PageHeaderOption; if (!thisWindow.FPSOptions.spsocialbar) thisWindow.FPSOptions.spsocialbar = SocialBarOption; return thisWindow.FPSOptions; } //# sourceMappingURL=FPSDocument.js.map