@mikezimm/fps-core-v7
Version:
Library of reusable core interfaces, types and constants migrated from fps-library-v2
152 lines • 5.7 kB
JavaScript
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