powerpagestoolkit 1.3.101 → 1.3.103

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","mappings":";;;;;;;;;;;;;;AAAA;AAC6G;AACjB;AAC5F,8BAA8B,mFAA2B,CAAC,4FAAqC;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iCAAiC;AACjC,iBAAiB;AACjB;AACA,aAAa;AACb,+BAA+B;AAC/B;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,oFAAoF,YAAY,aAAa,OAAO,KAAK,sBAAsB,OAAO,KAAK,wBAAwB,uBAAuB,aAAa,uBAAuB,yBAAyB,aAAa,WAAW,YAAY,WAAW,wBAAwB,aAAa,yBAAyB,OAAO,KAAK,KAAK,UAAU,UAAU,YAAY,WAAW,UAAU,KAAK,MAAM,KAAK,YAAY,aAAa,sCAAsC,yBAAyB,4BAA4B,KAAK,oCAAoC,uBAAuB,wDAAwD,oCAAoC,qCAAqC,oDAAoD,+CAA+C,iBAAiB,4DAA4D,wDAAwD,oBAAoB,6BAA6B,iBAAiB,wBAAwB,2FAA2F,0BAA0B,0BAA0B,mCAAmC,kCAAkC,wBAAwB,sBAAsB,yBAAyB,uBAAuB,oBAAoB,OAAO,KAAK,gCAAgC,iCAAiC,6BAA6B,KAAK,uBAAuB;AACphD;AACA,iEAAe,uBAAuB,EAAC;;;;;;;;AC7C1B;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,gDAAgD;AAChD;AACA;AACA,qFAAqF;AACrF;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sFAAsF,qBAAqB;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,iDAAiD,qBAAqB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sDAAsD,qBAAqB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpFa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,cAAc;AACrE;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;ACdA,MAAkG;AAClG,MAAwF;AACxF,MAA+F;AAC/F,MAAkH;AAClH,MAA2G;AAC3G,MAA2G;AAC3G,MAAsG;AACtG;AACA;;AAEA;;AAEA,4BAA4B,qGAAmB;AAC/C,wBAAwB,kHAAa;AACrC,iBAAiB,uGAAa;AAC9B,iBAAiB,+FAAM;AACvB,6BAA6B,sGAAkB;;AAE/C,aAAa,0GAAG,CAAC,+FAAO;;;;AAIgD;AACxE,OAAO,iEAAe,+FAAO,IAAI,+FAAO,UAAU,+FAAO,mBAAmB,EAAC;;;;;;;;ACxBhE;;AAEb;AACA;AACA;AACA,kBAAkB,wBAAwB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnFa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AA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","sources":["webpack://powerpagestoolkit/./src/CSS/style.css","webpack://powerpagestoolkit/./node_modules/css-loader/dist/runtime/api.js","webpack://powerpagestoolkit/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://powerpagestoolkit/./src/CSS/style.css?a1cf","webpack://powerpagestoolkit/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://powerpagestoolkit/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://powerpagestoolkit/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://powerpagestoolkit/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://powerpagestoolkit/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://powerpagestoolkit/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://powerpagestoolkit/./src/JS/API.ts","webpack://powerpagestoolkit/./src/JS/DOMNodeReferences.ts","webpack://powerpagestoolkit/./src/JS/createInfoElement.ts","webpack://powerpagestoolkit/./src/JS/errors.ts","webpack://powerpagestoolkit/./src/JS/safeAjax.ts","webpack://powerpagestoolkit/./src/JS/waitFor.ts","webpack://powerpagestoolkit/./src/index.ts","webpack://powerpagestoolkit/webpack/bootstrap","webpack://powerpagestoolkit/webpack/runtime/compat get default export","webpack://powerpagestoolkit/webpack/runtime/define property getters","webpack://powerpagestoolkit/webpack/runtime/hasOwnProperty shorthand","webpack://powerpagestoolkit/webpack/runtime/make namespace object","webpack://powerpagestoolkit/webpack/runtime/nonce","webpack://powerpagestoolkit/webpack/before-startup","webpack://powerpagestoolkit/webpack/startup","webpack://powerpagestoolkit/webpack/after-startup"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.info-icon {\r\n position: relative;\r\n display: inline-block;\r\n}\r\n\r\n.info-icon .fa-info-circle {\r\n cursor: pointer; /* Ensures the icon is recognized as interactive */\r\n}\r\n\r\n.info-icon .flyout-content {\r\n max-width: calc(100vw - 20px); /* 20px margin on both sides */\r\n display: none; /* Initially hidden */\r\n position: absolute;\r\n left: 50%; /* Center horizontally */\r\n transform: translateX(-50%); /* Adjust positioning */\r\n background-color: #f9f9f9;\r\n padding: 10px;\r\n border: 1px solid #ddd;\r\n z-index: 1;\r\n min-width: 200px; /* Minimum width for better readability */\r\n box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);\r\n border-radius: 4px; /* Rounded corners */\r\n}\r\n\r\n@media (max-width: 600px) {\r\n .info-icon .flyout-content {\r\n max-width: 95vw;\r\n padding: 12px;\r\n font-size: 0.9em;\r\n display: block;\r\n right: auto;\r\n }\r\n}\r\n\r\n.required-field::after {\r\n content: \" *\" !important;\r\n color: #f00 !important;\r\n}\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/CSS/style.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,kBAAkB;EAClB,qBAAqB;AACvB;;AAEA;EACE,eAAe,EAAE,kDAAkD;AACrE;;AAEA;EACE,6BAA6B,EAAE,8BAA8B;EAC7D,aAAa,EAAE,qBAAqB;EACpC,kBAAkB;EAClB,SAAS,EAAE,wBAAwB;EACnC,2BAA2B,EAAE,uBAAuB;EACpD,yBAAyB;EACzB,aAAa;EACb,sBAAsB;EACtB,UAAU;EACV,gBAAgB,EAAE,yCAAyC;EAC3D,0CAA0C;EAC1C,kBAAkB,EAAE,oBAAoB;AAC1C;;AAEA;EACE;IACE,eAAe;IACf,aAAa;IACb,gBAAgB;IAChB,cAAc;IACd,WAAW;EACb;AACF;;AAEA;EACE,wBAAwB;EACxB,sBAAsB;AACxB\",\"sourcesContent\":[\".info-icon {\\r\\n position: relative;\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.info-icon .fa-info-circle {\\r\\n cursor: pointer; /* Ensures the icon is recognized as interactive */\\r\\n}\\r\\n\\r\\n.info-icon .flyout-content {\\r\\n max-width: calc(100vw - 20px); /* 20px margin on both sides */\\r\\n display: none; /* Initially hidden */\\r\\n position: absolute;\\r\\n left: 50%; /* Center horizontally */\\r\\n transform: translateX(-50%); /* Adjust positioning */\\r\\n background-color: #f9f9f9;\\r\\n padding: 10px;\\r\\n border: 1px solid #ddd;\\r\\n z-index: 1;\\r\\n min-width: 200px; /* Minimum width for better readability */\\r\\n box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);\\r\\n border-radius: 4px; /* Rounded corners */\\r\\n}\\r\\n\\r\\n@media (max-width: 600px) {\\r\\n .info-icon .flyout-content {\\r\\n max-width: 95vw;\\r\\n padding: 12px;\\r\\n font-size: 0.9em;\\r\\n display: block;\\r\\n right: auto;\\r\\n }\\r\\n}\\r\\n\\r\\n.required-field::after {\\r\\n content: \\\" *\\\" !important;\\r\\n color: #f00 !important;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!./style.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!./style.css\";\n export default content && content.locals ? content.locals : undefined;\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","//@ts-nocheck\r\nimport safeAjax from \"./safeAjax.js\";\r\nconst API = {\r\n /**\r\n *\r\n * @param {Class} schema an instance of a schema class, containing the desired information for the POST request\r\n * @returns a Promise resolving the successful results *[record id]* of the POST request, or rejecting the failed results *[error]* of the POST request.\r\n */\r\n createRecord(schema): string {\r\n return new Promise((resolve, reject) => {\r\n safeAjax({\r\n type: \"POST\",\r\n url: `/_api/${schema.logicalName()}`,\r\n data: schema.value(),\r\n contentType: \"application/json\",\r\n success: function (response, status, xhr) {\r\n resolve(xhr.getResponseHeader(\"entityid\"));\r\n },\r\n error: (error) => {\r\n reject(error);\r\n },\r\n });\r\n });\r\n },\r\n /**\r\n *\r\n * @param {string} tableSetName The DataVerse SET name of the table being queried\r\n * @param {string} recordID the GUID of the records to be retrieved\r\n * @param {string} selectColumns *OPTIONAL* if desired, enter your own custom OData query for advanced GET results. Format = select=column1,column2,column3...\r\n * @returns a Promise resolving the successful results of the GET request, or rejecting the failed results of the GET request\r\n */\r\n getRecord(tableSetName, recordID, selectColumns) {\r\n return new Promise((resolve, reject) => {\r\n const url = `/_api/${tableSetName}(${recordID})${\r\n selectColumns ? `?$${selectColumns}` : \"\"\r\n }`;\r\n\r\n safeAjax({\r\n type: \"GET\",\r\n url: url,\r\n success: resolve,\r\n error: reject,\r\n });\r\n });\r\n },\r\n /**\r\n *\r\n * @param {String} tableSetName The DataVerse SET name of the table being queried\r\n * @param {String} queryParameters *OPTIONAL* the OData query parameters for refining search results: *format = $filter=filters&$select=columns*\r\n * @returns a Promise resolving the successful results of the GET request, or rejecting the failed results of the GET request\r\n */\r\n getMultiple(tableSetName, queryParameters) {\r\n return new Promise((resolve, reject) => {\r\n // Construct the URL based on the presence of query parameters\r\n const url = `/_api/${tableSetName}${\r\n queryParameters ? `?${queryParameters}` : \"\"\r\n }`;\r\n\r\n safeAjax({\r\n type: \"GET\",\r\n url: url,\r\n success: function (response) {\r\n resolve(response.value);\r\n },\r\n error: reject,\r\n });\r\n });\r\n },\r\n};\r\n\r\nexport default API;\r\n","import waitFor from \"./waitFor.js\";\r\nimport createInfoEl from \"./createInfoElement.js\";\r\nimport {\r\n DOMNodeInitializationError,\r\n DOMNodeNotFoundError,\r\n ConditionalRenderingError,\r\n} from \"./errors.js\";\r\nimport \"../CSS/style.css\";\r\n\r\n/**\r\n * Class representing a reference to a DOM node.\r\n */\r\n/******/ /******/ /******/ export class DOMNodeReference {\r\n // properties initialized in the constructor\r\n public target: HTMLElement | string;\r\n private isLoaded: boolean;\r\n private defaultDisplay: string;\r\n public value: any;\r\n\r\n // other properties made available after async _init\r\n public declare element: HTMLElement | HTMLInputElement;\r\n private declare visibilityController: HTMLElement;\r\n public declare checked: boolean;\r\n public declare yesRadio: DOMNodeReference;\r\n public declare noRadio: DOMNodeReference;\r\n\r\n /**\r\n * Creates an instance of DOMNodeReference.\r\n * @param {string} target - The CSS selector to find the desired DOM element.\r\n */\r\n /******/ /******/ constructor(target: HTMLElement | string) {\r\n this.target = target;\r\n this.isLoaded = false;\r\n this.defaultDisplay = \"\";\r\n this.value = null;\r\n // we defer the rest of initialization\r\n }\r\n\r\n public async _init() {\r\n try {\r\n const element = await waitFor(this.target);\r\n this.element = element;\r\n\r\n if (!this.element) {\r\n throw new DOMNodeNotFoundError(this);\r\n }\r\n if (this.element.classList.contains(\"boolean-radio\")) {\r\n await this._attachRadioButtons();\r\n }\r\n\r\n this._initValueSync();\r\n this._attachVisibilityController();\r\n this.defaultDisplay = this.visibilityController.style.display;\r\n\r\n this.isLoaded = true;\r\n } catch (e) {\r\n throw new DOMNodeInitializationError(this, e as string);\r\n }\r\n }\r\n\r\n private _initValueSync() {\r\n // Function to update this.value based on element type\r\n\r\n // Initial sync\r\n this.updateValue();\r\n\r\n // Event listeners for real-time changes based on element type\r\n const elementType = (this.element as HTMLInputElement).type;\r\n if (elementType === \"checkbox\" || elementType === \"radio\") {\r\n this.element.addEventListener(\"click\", this.updateValue.bind(this));\r\n } else if (\r\n elementType === \"select-one\" ||\r\n elementType === \"select-multiple\"\r\n ) {\r\n this.element.addEventListener(\"change\", this.updateValue.bind(this));\r\n } else {\r\n this.element.addEventListener(\"input\", this.updateValue.bind(this));\r\n }\r\n }\r\n\r\n public updateValue(): void {\r\n switch ((this.element as HTMLInputElement).type) {\r\n case \"checkbox\":\r\n case \"radio\":\r\n this.value = (this.element as HTMLInputElement).checked;\r\n this.checked = (this.element as HTMLInputElement).checked;\r\n break;\r\n case \"select-multiple\":\r\n this.value = Array.from(\r\n (this.element as HTMLSelectElement).selectedOptions\r\n ).map((option) => option.value);\r\n break;\r\n case \"number\":\r\n this.value =\r\n (this.element as HTMLInputElement).value !== \"\"\r\n ? Number((this.element as HTMLInputElement).value)\r\n : null;\r\n break;\r\n default:\r\n this.value = null;\r\n break;\r\n }\r\n\r\n if (this.element.classList.contains(\"boolean-radio\")) {\r\n (this.yesRadio as DOMNodeReference).updateValue();\r\n (this.noRadio as DOMNodeReference).updateValue();\r\n }\r\n }\r\n\r\n private _attachVisibilityController(): void {\r\n // Set the default visibility controller to the element itself\r\n this.visibilityController = this.element;\r\n\r\n // If the element is a table, use its closest fieldset as the controller\r\n if (this.element.tagName === \"TABLE\") {\r\n const fieldset = this.element.closest(\"fieldset\");\r\n if (fieldset) {\r\n this.visibilityController = fieldset;\r\n }\r\n return;\r\n }\r\n\r\n // For specific tag types, use the closest 'td' if available as the controller\r\n const tagsRequiringTdParent = [\r\n \"SPAN\",\r\n \"INPUT\",\r\n \"TEXTAREA\",\r\n \"SELECT\",\r\n \"TABLE\",\r\n ];\r\n if (tagsRequiringTdParent.includes(this.element.tagName)) {\r\n const tdParent = this.element.closest(\"td\");\r\n if (tdParent) {\r\n this.visibilityController = tdParent;\r\n }\r\n }\r\n }\r\n\r\n private async _attachRadioButtons(): Promise<void> {\r\n this.yesRadio = await createDOMNodeReference(`#${this.element.id}_1`);\r\n this.noRadio = await createDOMNodeReference(`#${this.element.id}_0`);\r\n }\r\n\r\n public on(eventType: string, eventHandler: (e: Event) => void): void {\r\n this.element.addEventListener(eventType, eventHandler.bind(this));\r\n }\r\n\r\n public hide(): void {\r\n this.visibilityController.style.display = \"none\";\r\n }\r\n\r\n public show(): void {\r\n this.visibilityController.style.display = this.defaultDisplay;\r\n }\r\n\r\n public toggleVisibility(shouldShow: Function | boolean): void {\r\n if (shouldShow instanceof Function) {\r\n shouldShow() ? this.show() : this.hide();\r\n } else {\r\n shouldShow ? this.show() : this.hide();\r\n }\r\n }\r\n\r\n public setValue(value: any): void {\r\n if (this.element.classList.contains(\"boolean-radio\")) {\r\n (\r\n (this.yesRadio as DOMNodeReference).element as HTMLInputElement\r\n ).checked = value;\r\n ((this.noRadio as DOMNodeReference).element as HTMLInputElement).checked =\r\n !value;\r\n } else {\r\n (this.element as HTMLInputElement).value = value;\r\n }\r\n }\r\n\r\n public disable(): void {\r\n try {\r\n (this.element as HTMLInputElement).disabled = true;\r\n } catch (e) {\r\n throw new Error(\r\n `There was an error trying to disable the target: ${this.target}`\r\n );\r\n }\r\n }\r\n\r\n public enable(): void {\r\n try {\r\n (this.element as HTMLInputElement).disabled = false;\r\n } catch (e) {\r\n throw new Error(\r\n `There was an error trying to disable the target: ${this.target}`\r\n );\r\n }\r\n }\r\n\r\n public append(...elements: HTMLElement[]): void {\r\n this.element.append(...elements);\r\n }\r\n\r\n public before(...elements: HTMLElement[]): void {\r\n this.element.before(...elements);\r\n }\r\n\r\n public after(...elements: HTMLElement[]): void {\r\n this.element.after(...elements);\r\n }\r\n\r\n public getLabel(): HTMLElement | null {\r\n return document.querySelector(`#${this.element.id}_label`) || null;\r\n }\r\n\r\n public appendToLabel(...elements: HTMLElement[]): void {\r\n const label = this.getLabel();\r\n if (label) {\r\n label.append(\" \", ...elements);\r\n }\r\n }\r\n\r\n public addLabelTooltip(text: string): void {\r\n this.appendToLabel(createInfoEl(text));\r\n }\r\n\r\n public addToolTip(text: string): void {\r\n this.append(createInfoEl(text));\r\n }\r\n\r\n public setTextContent(text: string): void {\r\n this.element.innerHTML = text;\r\n }\r\n\r\n public uncheckRadios(): void {\r\n if (this.yesRadio && this.noRadio) {\r\n (this.yesRadio.element as HTMLInputElement).checked = false;\r\n (this.noRadio.element as HTMLInputElement).checked = false;\r\n } else {\r\n console.error(\r\n \"[SYNACT] Attempted to uncheck radios for an element that has no radios\"\r\n );\r\n }\r\n }\r\n\r\n public configureConditionalRendering(\r\n condition: () => boolean,\r\n triggerNodes: DOMNodeReference[]\r\n ): void {\r\n try {\r\n this.toggleVisibility(condition());\r\n if (triggerNodes) {\r\n const nodes = Array.isArray(triggerNodes)\r\n ? triggerNodes\r\n : [triggerNodes];\r\n nodes.forEach((node) => {\r\n node.on(\"change\", () => this.toggleVisibility(condition()));\r\n\r\n const observer = new MutationObserver(() => {\r\n const display = window.getComputedStyle(\r\n node.visibilityController\r\n ).display;\r\n this.toggleVisibility(display !== \"none\" && condition());\r\n });\r\n observer.observe(node.visibilityController, {\r\n attributes: true,\r\n attributeFilter: [\"style\"],\r\n });\r\n });\r\n }\r\n } catch (e) {\r\n throw new ConditionalRenderingError(this, e as string);\r\n }\r\n }\r\n\r\n public configureValidationAndRequirements(\r\n logic: {\r\n requirementLogic: (instance: DOMNodeReference) => boolean;\r\n validationLogic: () => boolean;\r\n },\r\n fieldDisplayName: string,\r\n dependencies: DOMNodeReference[]\r\n ): void {\r\n if (typeof Page_Validators !== \"undefined\") {\r\n const newValidator = document.createElement(\"span\");\r\n newValidator.style.display = \"none\";\r\n newValidator.id = `${this.element.id}Validator`;\r\n (newValidator as any).controltovalidate = this.element.id;\r\n (\r\n newValidator as any\r\n ).errormessage = `<a href='#${this.element.id}_label'>${fieldDisplayName} is a required field</a>`;\r\n (newValidator as any).evaluationfunction =\r\n logic.validationLogic.bind(this);\r\n //eslint-disable-next-line\r\n Page_Validators.push(newValidator);\r\n } else {\r\n throw new Error(\r\n \"Attempted to add to Validator where Page_Validators do not exist\"\r\n );\r\n }\r\n\r\n this.setRequiredLevel(logic.requirementLogic(this));\r\n\r\n if (!dependencies) return;\r\n dependencies = Array.isArray(dependencies) ? dependencies : [dependencies];\r\n dependencies.forEach((dep) => {\r\n dep.element.addEventListener(\"change\", () =>\r\n this.setRequiredLevel(logic.requirementLogic(this))\r\n );\r\n });\r\n }\r\n\r\n public setRequiredLevel(isRequired: Function | boolean): void {\r\n if (isRequired instanceof Function) {\r\n isRequired()\r\n ? this.getLabel()?.classList.add(\"required-field\")\r\n : this.getLabel()?.classList.remove(\"required-field\");\r\n return;\r\n } else {\r\n isRequired\r\n ? this.getLabel()?.classList.add(\"required-field\")\r\n : this.getLabel()?.classList.remove(\"required-field\");\r\n }\r\n }\r\n\r\n public onceLoaded(callback: (instance: DOMNodeReference) => void): void {\r\n if (this.isLoaded) {\r\n callback(this);\r\n return;\r\n }\r\n\r\n if (this.target instanceof HTMLElement) {\r\n callback(this);\r\n return;\r\n }\r\n const observer = new MutationObserver(() => {\r\n if (document.querySelector(this.target as string)) {\r\n observer.disconnect(); // Stop observing once loaded\r\n this.isLoaded = true;\r\n callback(this); // Call the provided callback\r\n }\r\n });\r\n\r\n observer.observe(document.body, {\r\n subtree: true,\r\n childList: true,\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Creates and initializes a DOMNodeReference instance.\r\n * @async\r\n * @function createDOMNodeReference\r\n * @param {string | HTMLElement} target - The CSS selector for the desired DOM element.\r\n * @returns {Promise<DOMNodeReference>} A promise that resolves to a Proxy of the initialized DOMNodeReference instance.\r\n */\r\nexport async function createDOMNodeReference(target: HTMLElement | string) {\r\n try {\r\n const instance = new DOMNodeReference(target);\r\n await instance._init();\r\n\r\n return new Proxy(instance, {\r\n get: (target, prop) => {\r\n // do not proxy the initialization method\r\n // init() is only needed in this factory function\r\n if (prop.toString().startsWith(\"_\")) return undefined;\r\n\r\n // proxy the class to wrap all methods in the 'onceLoaded' method, to make sure the\r\n // element is always available before executing method\r\n const value = target[prop as keyof DOMNodeReference];\r\n if (typeof value === \"function\" && prop !== \"onceLoaded\") {\r\n return (...args: any[]) =>\r\n target.onceLoaded(() => value.apply(target, args));\r\n }\r\n return value;\r\n },\r\n });\r\n } catch (e) {\r\n console.error(`There was an error creating a DOMNodeReference: ${e}`);\r\n throw new Error(e as string);\r\n }\r\n}\r\n\r\n/**\r\n * Creates and initializes multiple DOMNodeReference instances.\r\n * @async\r\n * @function createMultipleDOMNodeReferences\r\n * @param {string} querySelector - The CSS selector for the desired DOM elements.\r\n * @returns {Promise<DOMNodeReference[]>} A promise that resolves to an array of Proxies of initialized DOMNodeReference instances.\r\n */\r\nexport async function createMultipleDOMNodeReferences(querySelector: string) {\r\n try {\r\n const elements = Array.from(\r\n document.querySelectorAll(querySelector)\r\n ) as HTMLElement[];\r\n\r\n const initializedElements = await Promise.all(\r\n elements.map((element) => createDOMNodeReference(element))\r\n );\r\n\r\n const domNodeArray =\r\n initializedElements as unknown as DOMNodeReferenceArray;\r\n\r\n domNodeArray.hideAll = () =>\r\n domNodeArray.forEach((instance) => instance.hide());\r\n domNodeArray.showAll = () =>\r\n domNodeArray.forEach((instance) => instance.show());\r\n\r\n return elements;\r\n } catch (e) {\r\n console.error(\r\n `There was an error creating multiple DOMNodeReferences: ${e}`\r\n );\r\n throw new Error(e as string);\r\n }\r\n}\r\n","export default function CreateInfoEl(titleString: string) {\r\n const span = document.createElement(\"span\");\r\n span.classList.add(\"info-icon\");\r\n\r\n const icon = document.createElement(\"i\");\r\n icon.classList.add(\"fa\", \"fa-solid\", \"fa-info-circle\");\r\n icon.setAttribute(\"aria-label\", \"Info\");\r\n icon.style.cursor = \"pointer\";\r\n\r\n const flyoutContent = document.createElement(\"div\");\r\n flyoutContent.innerHTML = titleString;\r\n flyoutContent.classList.add(\"flyout-content\");\r\n\r\n span.appendChild(icon);\r\n span.appendChild(flyoutContent);\r\n\r\n // Function to position flyout content\r\n const positionFlyout = () => {\r\n flyoutContent.style.display = \"block\"; // Show the flyout to calculate dimensions\r\n\r\n const flyoutRect = flyoutContent.getBoundingClientRect();\r\n const viewportWidth = window.innerWidth;\r\n\r\n // Position the flyout\r\n\r\n // Adjust if flyout is too far to the right\r\n if (flyoutRect.right > viewportWidth) {\r\n const overflowAmount = flyoutRect.right - viewportWidth;\r\n flyoutContent.style.left = `calc(50% - ${overflowAmount}px)`; // Shift left\r\n }\r\n\r\n // Adjust if flyout is too far to the left\r\n if (flyoutRect.left < 0) {\r\n const overflowAmount = Math.abs(flyoutRect.left);\r\n flyoutContent.style.left = `calc(50% + ${overflowAmount}px)`; // Shift right\r\n }\r\n };\r\n\r\n icon.addEventListener(\"mouseenter\", positionFlyout);\r\n\r\n icon.addEventListener(\"mouseleave\", () => {\r\n flyoutContent.style.display = \"none\"; // Hide on mouse leave\r\n });\r\n\r\n icon.addEventListener(\"touchstart\", (event) => {\r\n event.preventDefault();\r\n // Toggle flyout visibility on touch\r\n flyoutContent.style.display =\r\n flyoutContent.style.display === \"block\" ? \"none\" : \"block\";\r\n if (flyoutContent.style.display === \"block\") {\r\n positionFlyout(); // Position the flyout when displayed\r\n }\r\n });\r\n\r\n document.body.addEventListener(\"click\", (event: Event) => {\r\n if (!span.contains(<Node>event.target)) {\r\n flyoutContent.style.display = \"none\"; // Hide on body click\r\n }\r\n });\r\n\r\n return span;\r\n}\r\n","import { DOMNodeReference } from \"./DOMNodeReferences.js\";\r\n\r\nexport class DOMNodeInitializationError extends Error {\r\n constructor(instance: DOMNodeReference, error: string) {\r\n super(\r\n `There was an error initializing a DOMNodeReference for target: ${instance.target}, :: ${error}`\r\n );\r\n this.name = \"DOMNodeInitializationError\";\r\n }\r\n}\r\n\r\nexport class DOMNodeNotFoundError extends Error {\r\n constructor(instance: DOMNodeReference) {\r\n super(`The targeted DOM element was not found: ${instance.target}`);\r\n }\r\n}\r\n\r\nexport class ConditionalRenderingError extends Error {\r\n constructor(instance: DOMNodeReference, error: string) {\r\n super(\r\n `There was an error condiguring conditional rendering for target: ${instance.target} :: ${error}`\r\n );\r\n }\r\n}\r\n","// @ts-nocheck\r\nexport default function safeAjax(ajaxOptions) {\r\n const deferredAjax = $.Deferred();\r\n\r\n // shell is only available via runtime in a PowerPages portal\r\n\r\n shell\r\n .getTokenDeferred()\r\n .done(function (token) {\r\n // add headers for AJAX\r\n if (!ajaxOptions.headers) {\r\n $.extend(ajaxOptions, {\r\n headers: {\r\n __RequestVerificationToken: token,\r\n },\r\n });\r\n } else {\r\n ajaxOptions.headers[\"__RequestVerificationToken\"] = token;\r\n }\r\n $.ajax(ajaxOptions)\r\n .done(function (data, textStatus, jqXHR) {\r\n //eslint-disable-next-line\r\n validateLoginSession(data, textStatus, jqXHR, deferredAjax.resolve);\r\n })\r\n .fail(deferredAjax.reject); //AJAX\r\n })\r\n .fail(function () {\r\n deferredAjax.rejectWith(this, arguments); // on token failure pass the token AJAX and args\r\n });\r\n\r\n return deferredAjax.promise();\r\n}\r\n","export default function waitFor(\r\n target: HTMLElement | string\r\n): Promise<HTMLElement> {\r\n return new Promise((resolve, reject) => {\r\n // Create observer to watch for target in DOM\r\n const observer = new MutationObserver(() => {\r\n const observedElement = <HTMLElement>(\r\n document.querySelector(<string>target)\r\n );\r\n if (observedElement) {\r\n clearTimeout(timeout);\r\n observer.disconnect();\r\n resolve(observedElement);\r\n }\r\n });\r\n const timeout = setTimeout(() => {\r\n observer.disconnect();\r\n reject(new Error(`Element not found: ${target} within 5 seconds`));\r\n }, 5000);\r\n\r\n // Check if target is already in DOM\r\n if (target instanceof HTMLElement) {\r\n clearTimeout(timeout);\r\n return resolve(target);\r\n }\r\n const element = <HTMLElement>document.querySelector(target);\r\n if (element) {\r\n clearTimeout(timeout);\r\n return resolve(element);\r\n }\r\n\r\n observer.observe(document.body, {\r\n subtree: true,\r\n attributes: true,\r\n childList: true, // Detects added/removed child elements\r\n });\r\n });\r\n}\r\n","import API from \"./JS/API.js\";\r\nimport {\r\n createDOMNodeReference,\r\n createMultipleDOMNodeReferences,\r\n} from \"./JS/DOMNodeReferences.js\";\r\n\r\nexport { API, createDOMNodeReference, createMultipleDOMNodeReferences };\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nc = undefined;","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(229);\n",""],"names":[],"sourceRoot":""}
@@ -0,0 +1,24 @@
1
+ declare const API: {
2
+ /**
3
+ *
4
+ * @param {Class} schema an instance of a schema class, containing the desired information for the POST request
5
+ * @returns a Promise resolving the successful results *[record id]* of the POST request, or rejecting the failed results *[error]* of the POST request.
6
+ */
7
+ createRecord(schema: any): string;
8
+ /**
9
+ *
10
+ * @param {string} tableSetName The DataVerse SET name of the table being queried
11
+ * @param {string} recordID the GUID of the records to be retrieved
12
+ * @param {string} selectColumns *OPTIONAL* if desired, enter your own custom OData query for advanced GET results. Format = select=column1,column2,column3...
13
+ * @returns a Promise resolving the successful results of the GET request, or rejecting the failed results of the GET request
14
+ */
15
+ getRecord(tableSetName: any, recordID: any, selectColumns: any): Promise<unknown>;
16
+ /**
17
+ *
18
+ * @param {String} tableSetName The DataVerse SET name of the table being queried
19
+ * @param {String} queryParameters *OPTIONAL* the OData query parameters for refining search results: *format = $filter=filters&$select=columns*
20
+ * @returns a Promise resolving the successful results of the GET request, or rejecting the failed results of the GET request
21
+ */
22
+ getMultiple(tableSetName: any, queryParameters: any): Promise<unknown>;
23
+ };
24
+ export default API;
@@ -0,0 +1,64 @@
1
+ import "../CSS/style.css";
2
+ /**
3
+ * Class representing a reference to a DOM node.
4
+ */
5
+ /******/ /******/ /******/ export declare class DOMNodeReference {
6
+ target: HTMLElement | string;
7
+ private isLoaded;
8
+ private defaultDisplay;
9
+ value: any;
10
+ element: HTMLElement | HTMLInputElement;
11
+ private visibilityController;
12
+ checked: boolean;
13
+ yesRadio: DOMNodeReference;
14
+ noRadio: DOMNodeReference;
15
+ /**
16
+ * Creates an instance of DOMNodeReference.
17
+ * @param {string} target - The CSS selector to find the desired DOM element.
18
+ */
19
+ /******/ /******/ constructor(target: HTMLElement | string);
20
+ _init(): Promise<void>;
21
+ private _initValueSync;
22
+ updateValue(): void;
23
+ private _attachVisibilityController;
24
+ private _attachRadioButtons;
25
+ on(eventType: string, eventHandler: (e: Event) => void): void;
26
+ hide(): void;
27
+ show(): void;
28
+ toggleVisibility(shouldShow: Function | boolean): void;
29
+ setValue(value: any): void;
30
+ disable(): void;
31
+ enable(): void;
32
+ append(...elements: HTMLElement[]): void;
33
+ before(...elements: HTMLElement[]): void;
34
+ after(...elements: HTMLElement[]): void;
35
+ getLabel(): HTMLElement | null;
36
+ appendToLabel(...elements: HTMLElement[]): void;
37
+ addLabelTooltip(text: string): void;
38
+ addToolTip(text: string): void;
39
+ setTextContent(text: string): void;
40
+ uncheckRadios(): void;
41
+ configureConditionalRendering(condition: () => boolean, triggerNodes: DOMNodeReference[]): void;
42
+ configureValidationAndRequirements(logic: {
43
+ requirementLogic: (instance: DOMNodeReference) => boolean;
44
+ validationLogic: () => boolean;
45
+ }, fieldDisplayName: string, dependencies: DOMNodeReference[]): void;
46
+ setRequiredLevel(isRequired: Function | boolean): void;
47
+ onceLoaded(callback: (instance: DOMNodeReference) => void): void;
48
+ }
49
+ /**
50
+ * Creates and initializes a DOMNodeReference instance.
51
+ * @async
52
+ * @function createDOMNodeReference
53
+ * @param {string | HTMLElement} target - The CSS selector for the desired DOM element.
54
+ * @returns {Promise<DOMNodeReference>} A promise that resolves to a Proxy of the initialized DOMNodeReference instance.
55
+ */
56
+ export declare function createDOMNodeReference(target: HTMLElement | string): Promise<DOMNodeReference>;
57
+ /**
58
+ * Creates and initializes multiple DOMNodeReference instances.
59
+ * @async
60
+ * @function createMultipleDOMNodeReferences
61
+ * @param {string} querySelector - The CSS selector for the desired DOM elements.
62
+ * @returns {Promise<DOMNodeReference[]>} A promise that resolves to an array of Proxies of initialized DOMNodeReference instances.
63
+ */
64
+ export declare function createMultipleDOMNodeReferences(querySelector: string): Promise<HTMLElement[]>;
@@ -0,0 +1 @@
1
+ export default function CreateInfoEl(titleString: string): HTMLSpanElement;
@@ -0,0 +1,10 @@
1
+ import { DOMNodeReference } from "./DOMNodeReferences.js";
2
+ export declare class DOMNodeInitializationError extends Error {
3
+ constructor(instance: DOMNodeReference, error: string);
4
+ }
5
+ export declare class DOMNodeNotFoundError extends Error {
6
+ constructor(instance: DOMNodeReference);
7
+ }
8
+ export declare class ConditionalRenderingError extends Error {
9
+ constructor(instance: DOMNodeReference, error: string);
10
+ }
@@ -0,0 +1 @@
1
+ export default function safeAjax(ajaxOptions: any): any;
@@ -0,0 +1 @@
1
+ export default function waitFor(target: HTMLElement | string): Promise<HTMLElement>;
@@ -0,0 +1,3 @@
1
+ import API from "./JS/API.js";
2
+ import { createDOMNodeReference, createMultipleDOMNodeReferences } from "./JS/DOMNodeReferences.js";
3
+ export { API, createDOMNodeReference, createMultipleDOMNodeReferences };
package/index.d.ts CHANGED
@@ -9,11 +9,37 @@ class DOMNodeReference {
9
9
  constructor(target: string): DOMNodeReference;
10
10
 
11
11
  target: string;
12
+ /**
13
+ * The element targeted when instantiating DOMNodeReference.
14
+ * Made available in order to perform normal DOM traversal,
15
+ * or access properties not available through this class.
16
+ * @type {HTMLElement | null}
17
+ */
12
18
  element: HTMLElement | null;
13
19
  isLoaded: boolean;
14
20
  visibilityController: HTMLElement | null;
15
21
  defaultDisplay: string;
22
+ /**
23
+ * The value of the element that this node represents
24
+ * stays in syncs with the live DOM elements via event handler
25
+ * @type {string | null}
26
+ */
16
27
  value: string | null;
28
+ /**
29
+ * Represents the 'yes' option of a boolean radio field.
30
+ * This property is only available when the parent node
31
+ * is a main field for a boolean radio input.
32
+ * @type {DOMNodeReference | undefined}
33
+ */
34
+ yesRadio?: DOMNodeReference;
35
+
36
+ /**
37
+ * Represents the 'no' option of a boolean radio field.
38
+ * This property is only available when the parent node
39
+ * is a main field for a boolean radio input.
40
+ * @type {DOMNodeReference | undefined}
41
+ */
42
+ noRadio?: DOMNodeReference;
17
43
 
18
44
  /**
19
45
  * Initializes the DOMNodeReference instance by waiting for the element to be available in the DOM.
@@ -34,16 +60,40 @@ class DOMNodeReference {
34
60
 
35
61
  /**
36
62
  * Sets the value of the HTML element.
37
- * @param {string} value - The value to set for the HTML element.
63
+ * @param {() => any} value - The value to set for the HTML element.
64
+ * for parents of boolean radios, pass true or false as value, or
65
+ * an expression returning a boolean
38
66
  */
39
67
  setValue(value: string): void;
40
68
 
69
+ /**
70
+ * Disables the element so that users cannot input any data
71
+ */
72
+ disable(): void;
73
+
74
+ /**
75
+ * Enables the element so that users can input data
76
+ */
77
+ enable(): void;
78
+
79
+ /**
80
+ * Prepends elements to the target
81
+ * @param {...HTMLElement} elements - The elements to prepend to the HTML element
82
+ */
83
+ prepend(...elements: HTMLElement[]): void;
84
+
41
85
  /**
42
86
  * Appends child elements to the HTML element.
43
87
  * @param {...HTMLElement} elements - The elements to append to the HTML element.
44
88
  */
45
89
  append(...elements: HTMLElement[]): void;
46
90
 
91
+ /**
92
+ * Inserts elements before the HTML element.
93
+ * @param {...HTMLElement} elements - The elements to insert before the HTML element.
94
+ */
95
+ before(...elements: HTMLElement[]): void;
96
+
47
97
  /**
48
98
  * Inserts elements after the HTML element.
49
99
  * @param {...HTMLElement} elements - The elements to insert after the HTML element.
@@ -52,9 +102,10 @@ class DOMNodeReference {
52
102
 
53
103
  /**
54
104
  * Retrieves the label associated with the HTML element.
55
- * @returns {HTMLElement} The label element associated with this element, or **null** if no label element is present
105
+ * @returns {HTMLElement} The label element associated with this element.
106
+ * @throws {Error} Throws an error if the label cannot be found.
56
107
  */
57
- getLabel(): HTMLElement | null;
108
+ getLabel(): HTMLElement;
58
109
 
59
110
  /**
60
111
  * Appends child elements to the label associated with the HTML element.
@@ -63,33 +114,44 @@ class DOMNodeReference {
63
114
  appendToLabel(...elements: HTMLElement[]): void;
64
115
 
65
116
  /**
66
- * Adds a click event listener to the HTML element.
67
- * @param {Function} eventHandler - The function to execute when the element is clicked.
68
- */
69
- addClickListener(eventHandler: () => void): void;
70
-
71
- /**
72
- * Adds a change event listener to the HTML element.
73
- * @param {Function} eventHandler - The function to execute when the element's value changes.
117
+ * Sets up an event listener based on the specified event type, executing the specified
118
+ * event handler
119
+ * @param {string} eventType - The DOM event to watch for
120
+ * @param {(this: DOMNodeReference, e: Event) => void} eventHandler - The callback function that runs when the
121
+ * specified event occurs
74
122
  */
75
- addChangeListener(eventHandler: () => void): void;
76
-
123
+ on(eventType: string, eventHandler: (event: Event) => void): void;
77
124
  /**
78
125
  * Unchecks both the yes and no radio buttons if they exist.
79
126
  */
80
127
  uncheckRadios(): void;
81
128
 
82
129
  /**
83
- * Creates a validation instance for the field.
84
- * @param {Function} evaluationFunction - The function used to evaluate the field.
85
- * @param {string} fieldDisplayName - The field name to display in error if validation
86
- * fails.
130
+ * Configures validation and requirement conditions for the field based on the provided logic functions and dependencies.
131
+ * Creates a validator and sets a required level dynamically based on dependency changes.
132
+ * @param {Object} config An object containing the requirement and validation logical functions
133
+ * @param {(this: DOMNodeReference) => boolean} config.requirementLogic - Function to determine if the field is required.
134
+ * @param {(this: DOMNodeReference) => boolean} config.validationLogic - Function to evaluate the field's validity.
135
+ * @param {string} fieldDisplayName - Display name used in error messages if validation fails.
136
+ * @param {Array<DOMNodeReference>} [dependencies] - Optional dependencies for setting requirement conditions dynamically.
87
137
  */
88
- createValidation(
89
- evaluationFunction: (value: any) => boolean,
90
- fieldDisplayName: string
138
+ configureValidationAndRequirements(
139
+ config: {
140
+ requirementLogic: (this: this) => boolean;
141
+ validationLogic: (this: this) => boolean;
142
+ },
143
+ fieldDisplayName: string,
144
+ dependencies?: DOMNodeReference[]
91
145
  ): void;
92
146
 
147
+ /**
148
+ * Sets the required level for the field by adding or removing the "required-field" class on the label.
149
+ *
150
+ * @param {boolean} isRequired - Determines whether the field should be marked as required.
151
+ * If true, the "required-field" class is added to the label; if false, it is removed.
152
+ */
153
+ setRequiredLevel(isRequired: boolean): void;
154
+
93
155
  /**
94
156
  * Adds a tooltip with specified text to the label associated with the HTML element.
95
157
  * @param {string} text - The text to display in the tooltip.
@@ -110,17 +172,19 @@ class DOMNodeReference {
110
172
  toggleVisibility(shouldShow: boolean): void;
111
173
 
112
174
  /**
175
+ * Configures conditional rendering for the target element based on a condition
176
+ * and the visibility of one or more trigger elements.
113
177
  *
114
- * @param {Function} condition A Function that return a boolean value to set the
115
- * visibility of the targeted element. if condition() returns true, element is shown.
116
- * If false, element is hidden
117
- * @param {DOMNodeReference} triggerNode The DOMNodeReference to which an
118
- * event listener will be registered to change the visibility state of the calling
119
- * DOMNodeReference
178
+ * @param {Function} condition - A function that returns a boolean to determine
179
+ * the visibility of the target element. If `condition()` returns true, the element is shown;
180
+ * otherwise, it is hidden.
181
+ * @param {DOMNodeReference | DOMNodeReference[]} triggerNodes - A single `DOMNodeReference`
182
+ * or an array of `DOMNodeReference` instances. Event listeners are registered on each
183
+ * `triggerNode` to toggle the visibility of the target element based on the `condition`.
120
184
  */
121
185
  configureConditionalRendering(
122
186
  condition: () => boolean,
123
- triggerNode: DOMNodeReference
187
+ triggerNodes?: DOMNodeReference | DOMNodeReference[]
124
188
  ): void;
125
189
 
126
190
  /**
package/package.json CHANGED
@@ -1,38 +1,61 @@
1
- {
2
- "name": "powerpagestoolkit",
3
- "version": "1.3.101",
4
- "description": "Reference, manipulate, and engage with Power Pages sites through the nodes in the DOM; use a variety of custom methods that allow customizing your power pages site quicker and easier. ",
5
- "main": "./dist/index.bundle.js",
6
- "types": "index.d.ts",
7
- "scripts": {
8
- "build": "webpack",
9
- "lint": "eslint ./src/JS/*"
10
- },
11
- "devDependencies": {
12
- "@babel/core": "^7.25.8",
13
- "@babel/node": "^7.26.0",
14
- "@babel/preset-env": "^7.25.8",
15
- "@types/node": "^22.8.0",
16
- "babel-loader": "^9.2.1",
17
- "clean-webpack-plugin": "^4.0.0",
18
- "css-loader": "^7.1.2",
19
- "eslint": "^8.57.1",
20
- "eslint-plugin-import": "^2.31.0",
21
- "style-loader": "^4.0.0",
22
- "terser-webpack-plugin": "^5.3.4",
23
- "typescript": "^5.6.3",
24
- "webpack": "^5.95.0",
25
- "webpack-cli": "^5.1.4"
26
- },
27
- "author": "KeatonBrewster",
28
- "license": "SSPL-1.0",
29
- "type": "module",
30
- "repository": {
31
- "type": "git",
32
- "url": "https://github.com/Keaton-Brewster/PowerPagesToolKit"
33
- },
34
- "files": [
35
- "dist",
36
- "index.d.ts"
37
- ]
38
- }
1
+ {
2
+ "name": "powerpagestoolkit",
3
+ "version": "1.3.103",
4
+ "description": "Reference, manipulate, and engage with Power Pages sites through the nodes in the DOM; use a variety of custom methods that allow customizing your power pages site quicker and easier. ",
5
+ "main": "./dist/index.bundle.js",
6
+ "types": "index.d.ts",
7
+ "scripts": {
8
+ "build": "webpack",
9
+ "lint": "eslint ./src/JS/*"
10
+ },
11
+ "devDependencies": {
12
+ "@babel/core": "^7.25.8",
13
+ "@babel/node": "^7.26.0",
14
+ "@babel/preset-env": "^7.25.8",
15
+ "@types/node": "^22.8.0",
16
+ "babel-loader": "^9.2.1",
17
+ "clean-webpack-plugin": "^4.0.0",
18
+ "css-loader": "^7.1.2",
19
+ "eslint": "^8.57.1",
20
+ "eslint-plugin-import": "^2.31.0",
21
+ "style-loader": "^4.0.0",
22
+ "terser-webpack-plugin": "^5.3.4",
23
+ "typescript": "^5.6.3",
24
+ "webpack": "^5.95.0",
25
+ "webpack-cli": "^5.1.4"
26
+ },
27
+ "author": "KeatonBrewster",
28
+ "license": "SSPL-1.0",
29
+ "type": "module",
30
+ "repository": {
31
+ "type": "git",
32
+ "url": "https://github.com/Keaton-Brewster/PowerPagesToolKit"
33
+ },
34
+ "keywords": [
35
+ "powerpages",
36
+ "power pages",
37
+ "power platform",
38
+ "dynamics 365",
39
+ "power apps portal",
40
+ "dynamics 365 portal",
41
+ "portal",
42
+ "portal management",
43
+ "api",
44
+ "javascript",
45
+ "ajax",
46
+ "dataverse",
47
+ "dom-manipulation",
48
+ "node",
49
+ "http-request",
50
+ "json",
51
+ "rest-api",
52
+ "ajax-wrapper",
53
+ "form-management",
54
+ "frontend",
55
+ "web-development"
56
+ ],
57
+ "files": [
58
+ "dist",
59
+ "index.d.ts"
60
+ ]
61
+ }