@mikezimm/fps-library-v2
Version:
Library of reusable typescript/javascript functions, interfaces and constants
98 lines (96 loc) • 4.63 kB
JavaScript
/**
* CodeAnalizerComment: Updated 4 imports on 2024-09-22 14:49:52
* Update:: import { IPropertyPaneGroup } to '@mikezimm/fps-core-v7/lib/types/@msft/1.15.2/sp-property-pane;'
* Update:: import { IPropertyPaneField } to '@mikezimm/fps-core-v7/lib/types/@msft/1.15.2/sp-property-pane;'
* Update:: import { IThisFPSWebPartClass } to '@mikezimm/fps-core-v7/lib/banner/FPSWebPartClass/IThisFPSWebPartClass1152;'
* Update:: import { IMinWPBannerProps } to '@mikezimm/fps-core-v7/lib/banner/interfaces/MinWP/IMinWPBannerProps;'
*/
/**
* CodeAnalizerComment: Updated 2 imports on 2024-09-21 23:07:24
* Update:: import { IThisFPSWebPartClass } to '@mikezimm/fps-core-v7/lib/banner/FPSWebPartClass/IThisFPSWebPartClass1152;'
* Update:: import { IMinWPBannerProps } to '@mikezimm/fps-core-v7/lib/banner/interfaces/MinWP/IMinWPBannerProps;'
*/
import { PropertyPaneLabel, PropertyPaneTextField, PropertyPaneToggle, } from '@microsoft/sp-property-pane';
// import { EveryoneAudienceChoices, } from '../../propPane/Audiences/Interfaces'
// import { IThisFPSWebPartClass } from '../../FPSWebPartClass/IThisFPSWebPartClass';
// import { IMinWPBannerProps } from '../../interfaces/MinWP/IMinWPBannerProps';
/**
*
* @param thisWPClass
* @returns
*/
export function OverRideForcedGroup(thisWPClass) {
let fields = [];
const wpProps = thisWPClass.properties;
const { enableForceOverRide, enableLockProps } = wpProps;
const urlParameters = new URLSearchParams(window.location.search);
let overrideForcedPr0ps = urlParameters.get('overrideForcedPr0ps');
fields.push(PropertyPaneToggle('enableForceOverRide', {
label: 'OverRide Forced Props',
offText: 'Off',
onText: 'On',
disabled: enableLockProps === true || overrideForcedPr0ps !== 'true' ? true : false,
}));
const message1 = `Only IT can only over-ride forced PreConfig Props in this web part install and can not be copied to others. Over-rides void your warranty :)`;
const message2 = `Add semi-colon separated properties to over-ride. Over-rides void your warranty :)`;
fields.push(PropertyPaneLabel('lockedX', {
text: enableForceOverRide === true ? message2 : message1,
}));
fields.push(PropertyPaneLabel('lockedX', {
text: `IT Reminder: you can request the special Url paramter to unlock this feature.`,
}));
fields.push(...addOverRideStamps(wpProps));
fields.push(PropertyPaneTextField('overrideProps', {
disabled: enableForceOverRide === true ? false : true,
label: `Forced Props to over-ride`,
description: 'Add semi-colon separated web part proprties to over-ride',
multiline: true,
}));
const optionsGroup = { groupName: 'Forced Over-ride Props Group',
isCollapsed: false,
groupFields: fields
};
return optionsGroup;
}
function addOverRideStamps(wpProps) {
let fields = [];
[`${wpProps.overrideTime}`, ` - - - - - - - `, `OverRide By:`, `${wpProps.overrideByUser}`,].map(str => {
fields.push(PropertyPaneLabel('overrideTime', {
text: str,
}));
});
return fields;
}
// export function LockPropsMessageGroup( thisWPClass: IThisFPSWebPartClass ): IPropertyPaneGroup {
// let fields: IPropertyPaneField<any>[] = [];
// const wpProps: IMinWPBannerProps = thisWPClass.properties;
// const { enableLockProps, lockedByUser, lockedTime, lockedMess1, lockedMess2, lockedMess3, lockedHTML1 } = wpProps;
// if ( enableLockProps !== true ) {
// fields.push(
// PropertyPaneLabel('nothing', {
// text: 'This should NOT be visible in webpart'
// }));
// } else {
// [ ``, `Property Pane was locked in order to prevent accidental changes :)`,
// `Please contact the person listed below or IT in order to get assistance!`, ].map( str => {
// fields.push(
// PropertyPaneLabel('xyz', {
// text: str,
// }) );
// });
// fields.push( ...addLockedStamps( wpProps ) );
// [ 'lockedMess1', 'lockedMess2', 'lockedMess3' ].map( keyProp => {
// const propVal: string = wpProps[ keyProp as 'lockedMess1'];
// if ( propVal ) fields.push(
// PropertyPaneLabel( keyProp , {
// text: `${propVal}`,
// }) );
// });
// }
// let optionsGroup = { groupName: 'Lock Props Message',
// isCollapsed: enableLockProps === true ? false : true ,
// groupFields: fields
// };
// return optionsGroup;
// }
//# sourceMappingURL=OverRideForcedGroup.js.map