@mikezimm/npmfunctions
Version:
Functions used in my SPFx webparts
154 lines • 7.32 kB
JavaScript
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FPSApplyHeadingStyle = exports.FPSApplyHeadingCSS = exports.applyHeadingCSS = exports.changeHeadingStyleProps = exports.FPSHeadingClasses = exports.FPSMiscClasses = exports.FPSEmojiClasses = exports.FPSHeadingNumberClasses = exports.FPSBorderClasses = void 0;
var htmlTags_1 = require("../Services/Regex/htmlTags");
exports.FPSBorderClasses = ['dottedBorder', 'dashedBorder', 'solidBorder', 'doubleBorder', 'ridgeBorder', 'insetBorder', 'outsetBorder',
'textCenter', 'heavyTopBotBorder', 'dottedTopBotBorder',];
exports.FPSHeadingNumberClasses = ['dottedBorder', 'dashedBorder', 'solidBorder', 'doubleBorder', 'ridgeBorder', 'insetBorder', 'outsetBorder',
'autoNumberh1', 'autoNumberh2', 'autoNumberh3',];
exports.FPSEmojiClasses = ['fpsStarBlack', 'fpsStarWhite', 'fpsSect', 'fpsPara',
'fpsBox', 'fpsCheckBox',
'fpsSun', 'fpsSmile', 'fpsComet', 'fpsPupper', 'fpsKitty',
'arrowDown', 'arrowRight', 'eyeBalls', 'thumbsUp'];
exports.FPSMiscClasses = ['textCenter', 'gradiant1'];
exports.FPSHeadingClasses = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], exports.FPSBorderClasses, true), exports.FPSHeadingNumberClasses, true), exports.FPSEmojiClasses, true), exports.FPSMiscClasses, true);
var FPSTagFunctions_1 = require("../Services/DOM/Tags/FPSTagFunctions");
require('./FPSHeadings.css');
//Should match keys of IMinHeadingStyleProps in src\HeadingCSS\FPSHeadingFunctions.ts
exports.changeHeadingStyleProps = ['h1Style', 'h2Style', 'h3Style'];
;
function applyHeadingCSS(wpProps) {
if (wpProps.h1Style) {
var pieces = wpProps.h1Style.split(';');
var classes_1 = [];
var cssStyles_1 = [];
pieces.map(function (piece) {
piece = piece.trim();
if (piece.indexOf('.') === 0) {
classes_1.push(piece.replace('.', ''));
}
else {
cssStyles_1.push(piece);
}
});
//FPSApplyTagCSSAndStyles
if (cssStyles_1.length > 0 || classes_1.length > 0)
(0, FPSTagFunctions_1.FPSApplyTagCSSAndStyles)(htmlTags_1.HTMLRegEx.h2, cssStyles_1.join(';'), classes_1, true, false);
}
if (wpProps.h2Style) {
var pieces = wpProps.h2Style.split(';');
var classes_2 = [];
var cssStyles_2 = [];
pieces.map(function (piece) {
piece = piece.trim();
if (piece.indexOf('.') === 0) {
classes_2.push(piece.replace('.', ''));
}
else {
cssStyles_2.push(piece);
}
});
if (cssStyles_2.length > 0 || classes_2.length > 0)
(0, FPSTagFunctions_1.FPSApplyTagCSSAndStyles)(htmlTags_1.HTMLRegEx.h3, cssStyles_2.join(';'), classes_2, true, false);
}
if (wpProps.h3Style) {
var pieces = wpProps.h3Style.split(';');
var classes_3 = [];
var cssStyles_3 = [];
pieces.map(function (piece) {
piece = piece.trim();
if (piece.indexOf('.') === 0) {
classes_3.push(piece.replace('.', ''));
}
else {
cssStyles_3.push(piece);
}
});
if (cssStyles_3.length > 0 || classes_3.length > 0)
(0, FPSTagFunctions_1.FPSApplyTagCSSAndStyles)(htmlTags_1.HTMLRegEx.h4, cssStyles_3.join(';'), classes_3, true, false);
}
}
exports.applyHeadingCSS = applyHeadingCSS;
function FPSApplyHeadingCSS(applyTag, applyClass, alertError, consoleResult) {
if (alertError === void 0) { alertError = true; }
if (consoleResult === void 0) { consoleResult = false; }
var startTime = new Date();
var classChanges = [];
var _loop_1 = function (iteration) {
//Loop through all the tags to find
applyTag.tags.map(function (tag) {
//Get all elements with this tag
var nodeList = document.getElementsByTagName(tag);
if (consoleResult && iteration === 0)
console.log('FPSApplyHeadingCSS found Elements:', tag, nodeList);
//Loop through all elements for this tag
if (nodeList && nodeList.length > 0) {
var _loop_2 = function (i) {
var ele = nodeList[i];
classChanges.push(ele.innerHTML);
applyClass.map(function (thisClass) {
if (!ele.classList.contains(thisClass)) {
ele.classList.add(thisClass);
}
});
};
for (var i = 0; i < nodeList.length; i++) {
_loop_2(i);
}
}
});
};
// for (let iteration = 0; iteration < 10000; iteration++) { //Tested this loop on longer page 10,000 times and on my pc took 218 ms. Was noticable to see old and new
for (var iteration = 0; iteration < 1; iteration++) {
_loop_1(iteration);
}
var endTime = new Date();
if (consoleResult)
console.log('FPSApplyHeadingCSS time to apply styles:', endTime.getTime() - startTime.getTime(), applyTag, applyClass);
}
exports.FPSApplyHeadingCSS = FPSApplyHeadingCSS;
function FPSApplyHeadingStyle(applyTag, cssText, alertError, consoleResult) {
if (alertError === void 0) { alertError = true; }
if (consoleResult === void 0) { consoleResult = false; }
var startTime = new Date();
var classChanges = [];
var _loop_3 = function (iteration) {
//Loop through all the tags to find
applyTag.tags.map(function (tag) {
//Get all elements with this tag
var nodeList = document.getElementsByTagName(tag);
if (consoleResult && iteration === 0)
console.log('FPSApplyHeadingCSS found Elements:', tag, nodeList);
//Loop through all elements for this tag
if (nodeList && nodeList.length > 0) {
for (var i = 0; i < nodeList.length; i++) {
var ele = nodeList[i];
if (ele.style) {
ele.style.cssText += cssText;
}
else {
ele.style.cssText = cssText;
}
classChanges.push(ele.innerHTML);
}
}
});
};
for (var iteration = 0; iteration < 1; iteration++) {
_loop_3(iteration);
}
var endTime = new Date();
if (consoleResult)
console.log('FPSApplyHeadingStyle time to apply styles:', endTime.getTime() - startTime.getTime(), applyTag, cssText, classChanges);
}
exports.FPSApplyHeadingStyle = FPSApplyHeadingStyle;
//# sourceMappingURL=FPSHeadingFunctions.js.map
;