{"version":3,"file":"site.js","mappings":"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","sources":["webpack://PillarJS/./node_modules/@fortawesome/pro-light-svg-icons/faArrowRightFromBracket.js","webpack://PillarJS/./node_modules/@fortawesome/pro-light-svg-icons/faBells.js","webpack://PillarJS/./node_modules/@fortawesome/pro-light-svg-icons/faBookOpen.js","webpack://PillarJS/./node_modules/@fortawesome/pro-light-svg-icons/faChartPie.js","webpack://PillarJS/./node_modules/@fortawesome/pro-light-svg-icons/faCircleQuestion.js","webpack://PillarJS/./node_modules/@fortawesome/pro-light-svg-icons/faClock.js","webpack://PillarJS/./node_modules/@fortawesome/pro-light-svg-icons/faCommentLines.js","webpack://PillarJS/./node_modules/@fortawesome/pro-light-svg-icons/faCompress.js","webpack://PillarJS/./node_modules/@fortawesome/pro-light-svg-icons/faExpand.js","webpack://PillarJS/./node_modules/@fortawesome/pro-light-svg-icons/faFaceSadSweat.js","webpack://PillarJS/./node_modules/@fortawesome/pro-light-svg-icons/faHandshake.js","webpack://PillarJS/./node_modules/@fortawesome/pro-light-svg-icons/faMagnifyingGlass.js","webpack://PillarJS/./node_modules/@fortawesome/pro-light-svg-icons/faPieChart.js","webpack://PillarJS/./node_modules/@fortawesome/pro-light-svg-icons/faTableLayout.js","webpack://PillarJS/./node_modules/@fortawesome/pro-light-svg-icons/faUserCheck.js","webpack://PillarJS/./node_modules/@fortawesome/pro-regular-svg-icons/faBan.js","webpack://PillarJS/./node_modules/@fortawesome/pro-regular-svg-icons/faChartPie.js","webpack://PillarJS/./node_modules/@fortawesome/pro-regular-svg-icons/faCheck.js","webpack://PillarJS/./node_modules/@fortawesome/pro-regular-svg-icons/faChevronLeft.js","webpack://PillarJS/./node_modules/@fortawesome/pro-regular-svg-icons/faChevronRight.js","webpack://PillarJS/./node_modules/@fortawesome/pro-regular-svg-icons/faClock.js","webpack://PillarJS/./node_modules/@fortawesome/pro-regular-svg-icons/faDownload.js","webpack://PillarJS/./node_modules/@fortawesome/pro-regular-svg-icons/faFileImport.js","webpack://PillarJS/./node_modules/@fortawesome/pro-regular-svg-icons/faGear.js","webpack://PillarJS/./node_modules/@fortawesome/pro-regular-svg-icons/faGripDots.js","webpack://PillarJS/./node_modules/@fortawesome/pro-regular-svg-icons/faNoteSticky.js","webpack://PillarJS/./node_modules/@fortawesome/pro-regular-svg-icons/faQuestion.js","webpack://PillarJS/./node_modules/@fortawesome/pro-regular-svg-icons/faText.js","webpack://PillarJS/./node_modules/@fortawesome/pro-regular-svg-icons/faXmark.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faAnglesLeft.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faAnglesRight.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faBan.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faBooks.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faBuildingUser.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faCheck.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faCircleInfo.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faCopy.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faDroplet.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faEllipsisVertical.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faEnvelope.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faEye.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faEyeSlash.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faFilter.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faFolder.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faGears.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faHouse.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faListCheck.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faPencil.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faPlus.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faRotateLeft.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faRulerTriangle.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faTableLayout.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faTrashCan.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faTrashCanUndo.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faTrashUndoAlt.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faUser.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faUserGroup.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faWrench.js","webpack://PillarJS/./node_modules/@fortawesome/pro-solid-svg-icons/faXmark.js","webpack://PillarJS/./node_modules/@fortawesome/sharp-regular-svg-icons/faDiagramPrevious.js","webpack://PillarJS/./ts/src/controlcomponents/popup.ts","webpack://PillarJS/./ts/src/crud/DxControllerEventHandler.ts","webpack://PillarJS/./ts/src/crud/SingleCrudOperation.ts","webpack://PillarJS/./ts/src/crud/JsEventCrudHandler.ts","webpack://PillarJS/./ts/src/crud/CrudViewComponentLoader.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsDataGrid.ts","webpack://PillarJS/./ts/src/Utils/AgsControlsDynamicStyleSheet.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsMenu.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsSlider.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsLoadingPanel.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsToolTip.ts","webpack://PillarJS/./ts/src/Utils/ElementListener.ts","webpack://PillarJS/./ts/src/components/SaveCancel.ts","webpack://PillarJS/./ts/src/components/SideWidgets.ts","webpack://PillarJS/./ts/src/types/ArgType.ts","webpack://PillarJS/./ts/src/JsManager/JsManagerInstanceManager.ts","webpack://PillarJS/./ts/src/JsManager/BaseJsManager.ts","webpack://PillarJS/./ts/src/JsManager/BaseJsFunc.ts","webpack://PillarJS/./ts/src/JsManager/JsFunc.ts","webpack://PillarJS/./ts/src/JsManager/JsManager.ts","webpack://PillarJS/./ts/src/JsManager/JsFuncContextArg.ts","webpack://PillarJS/./ts/src/JsManager/JsManagerContextArg.ts","webpack://PillarJS/./ts/src/HtmlTemplate/TemplateProcessing.ts","webpack://PillarJS/./ts/src/HtmlTemplate/XTemplatePlaceHolderManager.ts","webpack://PillarJS/./ts/src/HtmlTemplate/AdditionalProcessing.ts","webpack://PillarJS/./ts/src/HtmlTemplate/xTemplateEventData.ts","webpack://PillarJS/./ts/src/HtmlTemplate/DxTemplateHelpers.ts","webpack://PillarJS/./ts/src/HtmlTemplate/TemplateBuilder.ts","webpack://PillarJS/./ts/src/HtmlTemplate/CustomTemplateBuilder.ts","webpack://PillarJS/./ts/src/HtmlTemplate/xTemplate.ts","webpack://PillarJS/./ts/src/HtmlTemplate/xTemplateManager.ts","webpack://PillarJS/./ts/src/pages/BasePage.ts","webpack://PillarJS/./ts/src/controlcomponents/DetailRow/BaseDetailRowCellTemplateClientSideCrud.ts","webpack://PillarJS/./ts/src/controlcomponents/DetailRow/DetailRowEditCellTemplateClientSideCrud.ts","webpack://PillarJS/./ts/src/controlcomponents/DetailRow/OldCellInstanceManager.ts","webpack://PillarJS/./ts/src/Utils/TemplateHelper.ts","webpack://PillarJS/./ts/src/controlcomponents/DetailRow/CellClientSideDataManager.ts","webpack://PillarJS/./ts/src/controlcomponents/DetailRow/CellControllerDataManager.ts","webpack://PillarJS/./ts/src/controlcomponents/DetailRow/CellInstanceManager.ts","webpack://PillarJS/./js/build.js","webpack://PillarJS/./ts/src/pages/CacheClearPage.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/OldControlEditFormInstanceManager.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsTextBox.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsTextArea.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsButton.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsFileUploader.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsFileManager.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsHyperLink.ts","webpack://PillarJS/./ts/src/components/DiffComponent.ts","webpack://PillarJS/./ts/src/JsManager/JsManagerTypes.ts","webpack://PillarJS/./ts/src/datastore/DataSourceProperties.ts","webpack://PillarJS/external var \"(...args) => window.Toastify.apply(this,args)\"","webpack://PillarJS/./ts/src/Utils/AlertHelper.ts","webpack://PillarJS/./ts/src/Utils/ContextFixer.ts","webpack://PillarJS/./ts/src/Utils/Logger.ts","webpack://PillarJS/./ts/src/Utils/PromiseChain.ts","webpack://PillarJS/./fa/fonts/fa-font-icons.ts","webpack://PillarJS/./ts/src/Utils/Utils.ts","webpack://PillarJS/./fa/fa-solid.ts","webpack://PillarJS/./fa/fa-regular.ts","webpack://PillarJS/./fa/fa-light.ts","webpack://PillarJS/./fa/fa-sharp-regular.ts","webpack://PillarJS/./ts/src/components/EditComponent.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/ControlEditForm.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormControllerDataManager.ts","webpack://PillarJS/./ts/src/types/DxDataType.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormDataStoreManager.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/ControlEditFormInstanceManager.ts","webpack://PillarJS/./ts/src/crud/LegacyDraftController.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormCrud.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormItems/base/BaseControlEditFormItem.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormItems/base/BaseDxControlEditFormItem.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormItems/DateBoxControlEditFormItem.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormItems/base/BaseDropDownControlEditFormItem.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormItems/DropDownControlEditFormItem.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormItems/GridControlEditFormItem.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormItems/ImageControlEditFormItem.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormItems/PopupControlEditFormItem.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormItems/TagBoxControlEditFormItem.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormItems/TextBoxControlEditFormItem.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormItems/TextAreaControlEditFormItem.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormItems/AutoCompleteControlEditFormItem.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormItems/ColorBoxControlEditFormItem.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormItems/ButtonControlEditFormItem.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormItems/FileUploaderControlEditFormItem.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormItems/SliderControlEditFormItem.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormItems/CheckBoxControlEditFormItem.ts","webpack://PillarJS/./ts/src/controlcomponents/AgsEditForm/EditFormItems/RadioGroupControlEditFormItem.ts","webpack://PillarJS/./ts/src/controlcomponents/DetailRow/DetailRowItemBuilder.ts","webpack://PillarJS/./ts/src/crud/BaseCrud.ts","webpack://PillarJS/./ts/src/types/EndPointTypes.ts","webpack://PillarJS/./ts/src/crud/Crud.ts","webpack://PillarJS/./ts/src/crud/CrudWithType.ts","webpack://PillarJS/./ts/src/crud/DraftController.ts","webpack://PillarJS/./ts/src/datastore/BaseCustomDataStore.ts","webpack://PillarJS/./ts/src/datastore/InMemoryDataStore.ts","webpack://PillarJS/./ts/src/types/UpdateType.ts","webpack://PillarJS/./ts/src/validator/validator.ts","webpack://PillarJS/./node_modules/cssx/lib/cssx.js","webpack://PillarJS/./node_modules/sprintf-js/src/sprintf.js","webpack://PillarJS/./node_modules/uuid/dist/esm-browser/rng.js","webpack://PillarJS/./node_modules/uuid/dist/esm-browser/regex.js","webpack://PillarJS/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://PillarJS/./node_modules/uuid/dist/esm-browser/validate.js","webpack://PillarJS/./node_modules/uuid/dist/esm-browser/v4.js","webpack://PillarJS/webpack/bootstrap","webpack://PillarJS/webpack/runtime/compat get default export","webpack://PillarJS/webpack/runtime/define property getters","webpack://PillarJS/webpack/runtime/hasOwnProperty shorthand","webpack://PillarJS/webpack/runtime/make namespace object","webpack://PillarJS/../../Arch.Web/ts/src/Pages/AccountPage.ts","webpack://PillarJS/../../Arch.Web/ts/src/Pages/TrainingPage.ts","webpack://PillarJS/../../Arch.Web/js/build.js"],"sourcesContent":["'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fal';\nvar iconName = 'arrow-right-from-bracket';\nvar width = 512;\nvar height = 512;\nvar aliases = [\"sign-out\"];\nvar unicode = 'f08b';\nvar svgPathData = 'M507.3 267.3c6.2-6.2 6.2-16.4 0-22.6l-128-128c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L457.4 240 176 240c-8.8 0-16 7.2-16 16s7.2 16 16 16l281.4 0L356.7 372.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l128-128zM176 64c8.8 0 16-7.2 16-16s-7.2-16-16-16L80 32C35.8 32 0 67.8 0 112L0 400c0 44.2 35.8 80 80 80l96 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-96 0c-26.5 0-48-21.5-48-48l0-288c0-26.5 21.5-48 48-48l96 0z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faArrowRightFromBracket = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fal';\nvar iconName = 'bells';\nvar width = 640;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'f77f';\nvar svgPathData = 'M282.6 40.1C214 15.1 138 50.4 112.8 119L98.2 159C84 197.8 57.6 231 23 253.7L14.9 259C4.7 265.7-.8 277.5 .6 289.5s9.4 22.2 20.8 26.3l230.5 83.9 1.1-3.9c2.6-9.1 4.4-18.4 5.4-27.7l-226-82.3 8.2-5.4c40.3-26.5 71.1-65.2 87.7-110.4l14.7-40c18.7-51 74.5-77.7 125.7-60.9c8.4-8.6 17.7-16.3 27.9-23c-4.5-2.2-9.1-4.2-13.9-6zm71.1 48.4c54.8-19.9 115.4 8.3 135.5 63L508 202.6c16.3 44.6 46.4 82.8 85.9 109.2l13.7 9.2 0 0L310.1 429.3l4.6-15.8c13.1-45.6 11.3-94.1-5-138.7l-18.8-51.2c-20.1-54.7 8.1-115.2 62.8-135.2zm165.5 52C493.2 69.2 414.1 32.5 342.8 58.4s-108 104.8-81.9 176.2l18.8 51.2c14 38.2 15.5 79.8 4.3 118.9l-4.6 15.8c-3.3 11.6 .1 24 9 32.2s21.5 10.8 32.8 6.7L618.6 351.1c11.3-4.1 19.4-14.2 20.8-26.2s-4-23.7-14-30.4l-13.7-9.2c-33.8-22.7-59.6-55.4-73.6-93.6l-18.8-51.2zM434.8 437.6c-6.7 5.8-7.4 15.9-1.6 22.6C450.5 480.1 479 488 505 477.8s41.5-35.5 40.5-61.8c-.3-8.8-7.7-15.7-16.6-15.4s-15.7 7.7-15.4 16.6c.5 13.2-7.3 25.8-20.3 30.9s-27.2 1.2-35.9-8.8c-5.8-6.7-15.9-7.4-22.6-1.6zM179.9 406.7c-8.7 10-23 13.9-35.9 8.8s-20.7-17.7-20.3-30.9c.3-8.8-6.6-16.2-15.4-16.6s-16.2 6.6-16.6 15.4c-.9 26.3 14.6 51.6 40.5 61.8s54.5 2.3 71.8-17.6c5.8-6.7 5.1-16.8-1.6-22.6s-16.8-5.1-22.6 1.6z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faBells = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fal';\nvar iconName = 'book-open';\nvar width = 576;\nvar height = 512;\nvar aliases = [128214,128366];\nvar unicode = 'f518';\nvar svgPathData = 'M156 32c44.6 0 89.7 8.6 132 22.6C330.3 40.6 375.4 32 420 32c55.4 0 107.2 14.6 128.9 21.6C565.7 59 576 74.5 576 91.1V402.5c0 26.9-25.1 44.8-49 40.6c-18.5-3.2-51.3-7.2-99-7.2c-58.9 0-97.8 24.3-111.2 34.1c-7.5 5.5-17.2 9.6-28.2 9.9c-.2 0-.5 0-.7 0c-.1 0-.1 0-.2 0c-.1 0-.2 0-.3 0c-10.2 0-19.6-3.4-27-8.4C245.5 461.5 202 436 148 436c-45.2 0-80.1 4.4-100 7.7c-24 4-48-14.1-48-40.2V91.1C0 74.5 10.3 59 27.1 53.6C48.8 46.6 100.6 32 156 32zM304 440c20.3-13.5 63.1-36 124-36c49.5 0 84.1 4.2 104.4 7.6c2.5 .4 5.7-.3 8.2-2.3c2.2-1.8 3.4-4 3.4-6.8V91.1c0-3.5-2.1-6.1-4.9-7C518.6 77.5 470.5 64 420 64c-38.6 0-78.1 7.1-116 19V440zM272 83c-37.9-12-77.4-19-116-19C105.5 64 57.4 77.5 36.9 84c-2.8 .9-4.9 3.6-4.9 7V403.5c0 2.7 1.1 4.9 3.1 6.5c2.2 1.8 5.1 2.5 7.6 2.1c21.3-3.6 58-8.2 105.3-8.2c56.8 0 102.8 23.7 124 36.9V83z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faBookOpen = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fal';\nvar iconName = 'chart-pie';\nvar width = 576;\nvar height = 512;\nvar aliases = [\"pie-chart\"];\nvar unicode = 'f200';\nvar svgPathData = 'M511.3 208H336V32.7c93.3 7.7 167.6 82.1 175.3 175.3zM320 240H528.5c8.4 0 15.4-6.5 15.5-14.9l0-1.1C544 100.3 443.7 0 320 0l-1.1 0C310.5 0 304 7.1 304 15.5V224c0 8.8 7.2 16 16 16zm-86.6 70.6L375.3 452.6C344.9 470 309.6 480 272 480C157.1 480 64 386.9 64 272c0-98.3 68.3-180.8 160-202.4V288c0 8.5 3.4 16.6 9.4 22.6zM239 34.3C122.1 50.3 32 150.7 32 272c0 132.5 107.5 240 240 240c51.8 0 99.8-16.4 139-44.3c7.7-5.5 8.2-16.5 1.5-23.1L256 288V49.6c0-9.2-7.8-16.6-17-15.4zM489.6 412.3L397.3 320H538.4c-8.3 35-25.4 66.6-48.9 92.3zM573.8 305c1.3-9.2-6.1-17-15.4-17H358.6c-14.3 0-21.4 17.2-11.3 27.3L478.7 446.7c5.8 5.8 15.2 6.3 21.2 .7c39.3-36.7 66.2-86.5 73.9-142.3z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faChartPie = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fal';\nvar iconName = 'circle-question';\nvar width = 512;\nvar height = 512;\nvar aliases = [62108,\"question-circle\"];\nvar unicode = 'f059';\nvar svgPathData = 'M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm168.7-86.2c6.5-24.6 28.7-41.8 54.2-41.8H280c35.5 0 64 29 64 64.3c0 24-13.4 46.2-34.9 57.2L272 268.3V288c0 8.8-7.2 16-16 16s-16-7.2-16-16V258.5c0-6 3.4-11.5 8.7-14.3l45.8-23.4c10.7-5.4 17.5-16.6 17.5-28.7c0-17.8-14.4-32.3-32-32.3H222.9c-10.9 0-20.5 7.4-23.2 17.9l-.2 .7c-2.2 8.5-11 13.7-19.5 11.4s-13.7-11-11.4-19.5l.2-.7zM232 352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faCircleQuestion = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fal';\nvar iconName = 'clock';\nvar width = 512;\nvar height = 512;\nvar aliases = [128339,\"clock-four\"];\nvar unicode = 'f017';\nvar svgPathData = 'M480 256A224 224 0 1 1 32 256a224 224 0 1 1 448 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM240 112V256c0 5.3 2.7 10.3 7.1 13.3l96 64c7.4 4.9 17.3 2.9 22.2-4.4s2.9-17.3-4.4-22.2L272 247.4V112c0-8.8-7.2-16-16-16s-16 7.2-16 16z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faClock = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fal';\nvar iconName = 'comment-lines';\nvar width = 512;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'f4b0';\nvar svgPathData = 'M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zM144 176c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zm0 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H144z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faCommentLines = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fal';\nvar iconName = 'compress';\nvar width = 448;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'f066';\nvar svgPathData = 'M160 48c0-8.8-7.2-16-16-16s-16 7.2-16 16V160H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H144c8.8 0 16-7.2 16-16V48zM16 320c-8.8 0-16 7.2-16 16s7.2 16 16 16H128V464c0 8.8 7.2 16 16 16s16-7.2 16-16V336c0-8.8-7.2-16-16-16H16zM320 48c0-8.8-7.2-16-16-16s-16 7.2-16 16V176c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H320V48zM304 320c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V352H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H304z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faCompress = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fal';\nvar iconName = 'expand';\nvar width = 448;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'f065';\nvar svgPathData = 'M144 32c8.8 0 16 7.2 16 16s-7.2 16-16 16H32V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V48c0-8.8 7.2-16 16-16H144zM0 336c0-8.8 7.2-16 16-16s16 7.2 16 16V448H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V336zM432 32c8.8 0 16 7.2 16 16V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V64H304c-8.8 0-16-7.2-16-16s7.2-16 16-16H432zM416 336c0-8.8 7.2-16 16-16s16 7.2 16 16V464c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16H416V336z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faExpand = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fal';\nvar iconName = 'face-sad-sweat';\nvar width = 576;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'e38a';\nvar svgPathData = 'M288 32C174.4 32 80.6 116.5 66 226.1c-1.2 8.8-9.2 14.9-18 13.7s-14.9-9.2-13.7-18C50.9 96.6 158.2 0 288 0C429.4 0 544 114.6 544 256s-114.6 256-256 256c-57.6 0-110.8-19.1-153.6-51.2c-7.1-5.3-8.5-15.3-3.2-22.4s15.3-8.5 22.4-3.2C191 463.3 237.5 480 288 480c123.7 0 224-100.3 224-224S411.7 32 288 32zM64 317.5c-5.3 7.2-10.8 15.1-15.8 23c-5.4 8.5-9.8 16.4-12.8 23.1c-2.6 5.8-3.2 8.8-3.4 9.5c0 .2 0 .2 0 .1C32 385.5 43.7 400 64 400s32-14.5 32-26.7c0 .1 0 .1 0-.1c-.1-.7-.8-3.7-3.4-9.6c-3-6.7-7.4-14.5-12.8-23.1c-5-7.9-10.5-15.8-15.8-23zm-8.6-41.4c4.3-5.5 12.8-5.5 17.1 0c17.6 21.7 55.5 72.2 55.5 97.2c0 32.5-28.7 58.7-64 58.7s-64-26.2-64-58.7c0-25 38.1-75.5 55.5-97.2zM348.1 410.7c-11.7-13-31.6-26.7-60.1-26.7s-48.4 13.7-60.1 26.7c-5.9 6.6-16 7.1-22.6 1.2s-7.1-16-1.2-22.6C220.2 371.4 248.3 352 288 352s67.8 19.4 83.9 37.3c5.9 6.6 5.4 16.7-1.2 22.6s-16.7 5.4-22.6-1.2zM391.6 272a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm-184-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm3.7-99.3c6.2 6.2 6.2 16.4 0 22.6l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0zm153.4 22.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faFaceSadSweat = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fal';\nvar iconName = 'handshake';\nvar width = 640;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'f2b5';\nvar svgPathData = 'M263.9 64c-33.9 0-66.7 12-92.6 33.7L144 120.7v39.1c2.7-.5 5.3-1.7 7.4-3.5l40.5-34c13.3-11.2 28.9-19 45.5-23.1L272.6 64h-8.7zM112 352.3c8.9 1 17.2 5 23.6 11.4l28.6 28.6 15.4 15.4 .1 .1 24.3 24.3c25.1 25.1 65.4 26.2 91.8 2.6c.8-.7 1.6-1.4 2.3-2.2c26.3 21.3 65.3 18.6 88.4-7.3c6-6.7 10.3-14.4 13-22.5c19.2 4 40-.8 55.7-14.8c11.3-10.1 18.2-23.2 20.6-37H528V368c0 26.5 21.5 48 48 48h16c26.5 0 48-21.5 48-48V160c0-17.7-14.3-32-32-32H560 528v32V318.8H473.1c-3.1-8.7-8.1-17-15.1-24l-85.6-85.6 8.1-7.5c6.5-6 6.9-16.1 .9-22.6s-16.1-6.9-22.6-.9l-76.1 70.2c-13.2 12.2-33.6 12.4-47 .4c-15.4-13.7-15.7-37.5-.8-51.6l79.4-75C332.2 105.4 355.8 96 380.4 96c22.7 0 44.6 8 61.9 22.6l44.8 37.7c2.5 2.1 5.6 3.4 8.8 3.7V121.8L462.9 94.1C439.8 74.6 410.6 64 380.4 64c-32.8 0-64.3 12.5-88.1 35l-79.4 75c-28.6 27-27.9 72.7 1.5 98.8c25.8 22.9 64.7 22.5 90-.8l44.5-41 86.5 86.5c13 13 12.4 34.3-1.4 46.5c-10.9 9.7-26.7 10.6-38.6 3c-5-3.3-11.4-3.4-16.6-.5s-8.3 8.6-8 14.6c.4 8.1-2.3 16.3-8.1 22.9c-12.3 13.9-33.8 14.5-46.9 1.4l-8.1-8.1c-3.6-3.6-8.7-5.3-13.7-4.5s-9.4 3.9-11.8 8.4c-1.9 3.6-4.4 6.9-7.6 9.8c-13.8 12.3-34.8 11.7-47.8-1.3l-39.9-39.8-28.6-28.6c-12.4-12.4-28.9-19.8-46.3-20.9V160 128H80 32c-17.7 0-32 14.3-32 32V368c0 26.5 21.5 48 48 48H64c26.5 0 48-21.5 48-48V352.3zM80 160V368c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V160H80zm528 0V368c0 8.8-7.2 16-16 16H576c-8.8 0-16-7.2-16-16V160h48z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faHandshake = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fal';\nvar iconName = 'magnifying-glass';\nvar width = 512;\nvar height = 512;\nvar aliases = [128269,\"search\"];\nvar unicode = 'f002';\nvar svgPathData = 'M384 208A176 176 0 1 0 32 208a176 176 0 1 0 352 0zM343.3 366C307 397.2 259.7 416 208 416C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208c0 51.7-18.8 99-50 135.3L507.3 484.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L343.3 366z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faMagnifyingGlass = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar source = require('./faChartPie');\nexports.definition = {\n prefix: source.prefix,\n iconName: source.iconName,\n icon: [\n source.width,\n source.height,\n source.aliases,\n source.unicode,\n source.svgPathData\n ]};\n\nexports.faPieChart = exports.definition;\nexports.prefix = source.prefix;\nexports.iconName = source.iconName;\nexports.width = source.width;\nexports.height = source.height;\nexports.ligatures = source.aliases;\nexports.unicode = source.unicode;\nexports.svgPathData = source.svgPathData;\nexports.aliases = source.aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fal';\nvar iconName = 'table-layout';\nvar width = 512;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'e290';\nvar svgPathData = 'M448 64c17.7 0 32 14.3 32 32v64L32 160l0-64c0-17.7 14.3-32 32-32l384 0zM32 416l0-224 128 0 0 256H64c-17.7 0-32-14.3-32-32zm160 32l0-256 288 0 0 224c0 17.7-14.3 32-32 32H192zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faTableLayout = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fal';\nvar iconName = 'user-check';\nvar width = 640;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'f4fc';\nvar svgPathData = 'M224 32a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm0 224A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 80h91.4c80 0 145 64.3 146.3 144H32c1.2-79.7 66.2-144 146.3-144zm0-32C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3zm457-116.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 281.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0l128-128z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faUserCheck = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'far';\nvar iconName = 'ban';\nvar width = 512;\nvar height = 512;\nvar aliases = [128683,\"cancel\"];\nvar unicode = 'f05e';\nvar svgPathData = 'M385.1 419.1L92.9 126.9C64.8 162.3 48 207.2 48 256c0 114.9 93.1 208 208 208c48.8 0 93.7-16.8 129.1-44.9zm33.9-33.9C447.2 349.7 464 304.8 464 256c0-114.9-93.1-208-208-208c-48.8 0-93.7 16.8-129.1 44.9L419.1 385.1zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faBan = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'far';\nvar iconName = 'chart-pie';\nvar width = 576;\nvar height = 512;\nvar aliases = [\"pie-chart\"];\nvar unicode = 'f200';\nvar svgPathData = 'M493.1 192H352V50.9C423.5 64 480 120.5 493.1 192zM352 240H527.4c9 0 16.6-7 16.6-16C544 100.3 443.7 0 320 0c-9 0-16 7.6-16 16.6V192v48h48zM222.1 321.9L348.4 448.2C325 458.4 299.2 464 272 464C166 464 80 378 80 272c0-83.6 53.4-154.7 128-181.1V288c0 12.7 5.1 24.9 14.1 33.9zM239 34.3C122.1 50.3 32 150.7 32 272c0 132.5 107.5 240 240 240c51.8 0 99.8-16.4 139-44.3c7.7-5.5 8.2-16.5 1.5-23.1L256 288V49.6c0-9.2-7.8-16.6-17-15.4zM558.4 288H320L478.7 446.7c5.8 5.8 15.2 6.3 21.2 .7c39.3-36.7 66.2-86.5 73.9-142.3c1.3-9.2-6.1-17-15.4-17z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faChartPie = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'far';\nvar iconName = 'check';\nvar width = 448;\nvar height = 512;\nvar aliases = [10003,10004];\nvar unicode = 'f00c';\nvar svgPathData = 'M441 103c9.4 9.4 9.4 24.6 0 33.9L177 401c-9.4 9.4-24.6 9.4-33.9 0L7 265c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l119 119L407 103c9.4-9.4 24.6-9.4 33.9 0z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faCheck = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'far';\nvar iconName = 'chevron-left';\nvar width = 320;\nvar height = 512;\nvar aliases = [9001];\nvar unicode = 'f053';\nvar svgPathData = 'M15 239c-9.4 9.4-9.4 24.6 0 33.9L207 465c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L65.9 256 241 81c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L15 239z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faChevronLeft = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'far';\nvar iconName = 'chevron-right';\nvar width = 320;\nvar height = 512;\nvar aliases = [9002];\nvar unicode = 'f054';\nvar svgPathData = 'M305 239c9.4 9.4 9.4 24.6 0 33.9L113 465c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l175-175L79 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L305 239z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faChevronRight = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'far';\nvar iconName = 'clock';\nvar width = 512;\nvar height = 512;\nvar aliases = [128339,\"clock-four\"];\nvar unicode = 'f017';\nvar svgPathData = 'M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faClock = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'far';\nvar iconName = 'download';\nvar width = 512;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'f019';\nvar svgPathData = 'M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V294.1l-95-95c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L239 369c9.4 9.4 24.6 9.4 33.9 0L409 233c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95V24zM128.8 304H64c-35.3 0-64 28.7-64 64v80c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V368c0-35.3-28.7-64-64-64H383.2l-48 48H448c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16H176.8l-48-48zM432 408a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faDownload = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'far';\nvar iconName = 'file-import';\nvar width = 512;\nvar height = 512;\nvar aliases = [\"arrow-right-to-file\"];\nvar unicode = 'f56f';\nvar svgPathData = 'M448 464H192c-8.8 0-16-7.2-16-16V368H128v80c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L402.7 18.7C390.7 6.7 374.5 0 357.5 0H192c-35.3 0-64 28.7-64 64V256h48V64c0-8.8 7.2-16 16-16H352v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16zM297 215c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H302.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faFileImport = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'far';\nvar iconName = 'gear';\nvar width = 512;\nvar height = 512;\nvar aliases = [9881,\"cog\"];\nvar unicode = 'f013';\nvar svgPathData = 'M256 0c17 0 33.6 1.7 49.8 4.8c7.9 1.5 21.8 6.1 29.4 20.1c2 3.7 3.6 7.6 4.6 11.8l9.3 38.5C350.5 81 360.3 86.7 366 85l38-11.2c4-1.2 8.1-1.8 12.2-1.9c16.1-.5 27 9.4 32.3 15.4c22.1 25.1 39.1 54.6 49.9 86.3c2.6 7.6 5.6 21.8-2.7 35.4c-2.2 3.6-4.9 7-8 10L459 246.3c-4.2 4-4.2 15.5 0 19.5l28.7 27.3c3.1 3 5.8 6.4 8 10c8.2 13.6 5.2 27.8 2.7 35.4c-10.8 31.7-27.8 61.1-49.9 86.3c-5.3 6-16.3 15.9-32.3 15.4c-4.1-.1-8.2-.8-12.2-1.9L366 427c-5.7-1.7-15.5 4-16.9 9.8l-9.3 38.5c-1 4.2-2.6 8.2-4.6 11.8c-7.7 14-21.6 18.5-29.4 20.1C289.6 510.3 273 512 256 512s-33.6-1.7-49.8-4.8c-7.9-1.5-21.8-6.1-29.4-20.1c-2-3.7-3.6-7.6-4.6-11.8l-9.3-38.5c-1.4-5.8-11.2-11.5-16.9-9.8l-38 11.2c-4 1.2-8.1 1.8-12.2 1.9c-16.1 .5-27-9.4-32.3-15.4c-22-25.1-39.1-54.6-49.9-86.3c-2.6-7.6-5.6-21.8 2.7-35.4c2.2-3.6 4.9-7 8-10L53 265.7c4.2-4 4.2-15.5 0-19.5L24.2 218.9c-3.1-3-5.8-6.4-8-10C8 195.3 11 181.1 13.6 173.6c10.8-31.7 27.8-61.1 49.9-86.3c5.3-6 16.3-15.9 32.3-15.4c4.1 .1 8.2 .8 12.2 1.9L146 85c5.7 1.7 15.5-4 16.9-9.8l9.3-38.5c1-4.2 2.6-8.2 4.6-11.8c7.7-14 21.6-18.5 29.4-20.1C222.4 1.7 239 0 256 0zM218.1 51.4l-8.5 35.1c-7.8 32.3-45.3 53.9-77.2 44.6L97.9 120.9c-16.5 19.3-29.5 41.7-38 65.7l26.2 24.9c24 22.8 24 66.2 0 89L59.9 325.4c8.5 24 21.5 46.4 38 65.7l34.6-10.2c31.8-9.4 69.4 12.3 77.2 44.6l8.5 35.1c24.6 4.5 51.3 4.5 75.9 0l8.5-35.1c7.8-32.3 45.3-53.9 77.2-44.6l34.6 10.2c16.5-19.3 29.5-41.7 38-65.7l-26.2-24.9c-24-22.8-24-66.2 0-89l26.2-24.9c-8.5-24-21.5-46.4-38-65.7l-34.6 10.2c-31.8 9.4-69.4-12.3-77.2-44.6l-8.5-35.1c-24.6-4.5-51.3-4.5-75.9 0zM208 256a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm48 96a96 96 0 1 1 0-192 96 96 0 1 1 0 192z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faGear = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'far';\nvar iconName = 'grip-dots';\nvar width = 448;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'e410';\nvar svgPathData = 'M352 192a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-160 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM64 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm288 96a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM224 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM32 320a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faGripDots = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'far';\nvar iconName = 'note-sticky';\nvar width = 448;\nvar height = 512;\nvar aliases = [62026,\"sticky-note\"];\nvar unicode = 'f249';\nvar svgPathData = 'M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H288V352c0-17.7 14.3-32 32-32h80V96c0-8.8-7.2-16-16-16H64zM288 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V320v5.5c0 17-6.7 33.3-18.7 45.3l-90.5 90.5c-12 12-28.3 18.7-45.3 18.7H288z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faNoteSticky = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'far';\nvar iconName = 'question';\nvar width = 320;\nvar height = 512;\nvar aliases = [10067,10068,61736];\nvar unicode = '3f';\nvar svgPathData = 'M64 160c0-44.2 35.8-80 80-80h32c44.2 0 80 35.8 80 80v4.6c0 24.1-12 46.6-32.1 59.9l-52.3 34.9C149.4 274.2 136 299.2 136 326v2c0 13.3 10.7 24 24 24s24-10.7 24-24v-2c0-10.7 5.3-20.7 14.2-26.6l52.3-34.9c33.4-22.3 53.4-59.7 53.4-99.8V160c0-70.7-57.3-128-128-128H144C73.3 32 16 89.3 16 160c0 13.3 10.7 24 24 24s24-10.7 24-24zm96 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faQuestion = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'far';\nvar iconName = 'text';\nvar width = 448;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'f893';\nvar svgPathData = 'M48 80v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V72C0 49.9 17.9 32 40 32H408c22.1 0 40 17.9 40 40v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V80H248l0 352h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h48l0-352H48z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faText = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'far';\nvar iconName = 'xmark';\nvar width = 384;\nvar height = 512;\nvar aliases = [128473,10005,10006,10060,215,\"close\",\"multiply\",\"remove\",\"times\"];\nvar unicode = 'f00d';\nvar svgPathData = 'M345 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-119 119L73 103c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l119 119L39 375c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l119-119L311 409c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-119-119L345 137z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faXmark = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'angles-left';\nvar width = 512;\nvar height = 512;\nvar aliases = [171,\"angle-double-left\"];\nvar unicode = 'f100';\nvar svgPathData = 'M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160zm352-160l-160 160c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L301.3 256 438.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faAnglesLeft = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'angles-right';\nvar width = 512;\nvar height = 512;\nvar aliases = [187,\"angle-double-right\"];\nvar unicode = 'f101';\nvar svgPathData = 'M470.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 256 265.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160zm-352 160l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L210.7 256 73.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faAnglesRight = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'ban';\nvar width = 512;\nvar height = 512;\nvar aliases = [128683,\"cancel\"];\nvar unicode = 'f05e';\nvar svgPathData = 'M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faBan = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'books';\nvar width = 512;\nvar height = 512;\nvar aliases = [128218];\nvar unicode = 'f5db';\nvar svgPathData = 'M0 32C0 14.3 14.3 0 32 0H96c17.7 0 32 14.3 32 32V96H0V32zm0 96H128V384H0V128zM0 416H128v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V416zM160 32c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V96H160V32zm0 96H288V384H160V128zm0 288H288v64c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V416zm203.6-19.9L320 232.6V142.8l100.4-26.9 66 247.4L363.6 396.1zM412.2 85L320 109.6V11l36.9-9.9c16.9-4.6 34.4 5.5 38.9 22.6L412.2 85zM371.8 427l122.8-32.9 16.3 61.1c4.5 17-5.5 34.5-22.5 39.1l-61.4 16.5c-16.9 4.6-34.4-5.5-38.9-22.6L371.8 427z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faBooks = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'building-user';\nvar width = 640;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'e4da';\nvar svgPathData = 'M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h89.9c-6.3-10.2-9.9-22.2-9.9-35.1c0-46.9 25.8-87.8 64-109.2V271.8 48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM576 272a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM352 477.1c0 19.3 15.6 34.9 34.9 34.9H605.1c19.3 0 34.9-15.6 34.9-34.9c0-51.4-41.7-93.1-93.1-93.1H445.1c-51.4 0-93.1 41.7-93.1 93.1z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faBuildingUser = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'check';\nvar width = 448;\nvar height = 512;\nvar aliases = [10003,10004];\nvar unicode = 'f00c';\nvar svgPathData = 'M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faCheck = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'circle-info';\nvar width = 512;\nvar height = 512;\nvar aliases = [\"info-circle\"];\nvar unicode = 'f05a';\nvar svgPathData = 'M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faCircleInfo = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'copy';\nvar width = 448;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'f0c5';\nvar svgPathData = 'M208 0H332.1c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9V336c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V48c0-26.5 21.5-48 48-48zM48 128h80v64H64V448H256V416h64v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faCopy = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'droplet';\nvar width = 384;\nvar height = 512;\nvar aliases = [128167,\"tint\"];\nvar unicode = 'f043';\nvar svgPathData = 'M192 512C86 512 0 426 0 320C0 228.8 130.2 57.7 166.6 11.7C172.6 4.2 181.5 0 191.1 0h1.8c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zM96 336c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faDroplet = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'ellipsis-vertical';\nvar width = 128;\nvar height = 512;\nvar aliases = [\"ellipsis-v\"];\nvar unicode = 'f142';\nvar svgPathData = 'M64 360a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm0-160a56 56 0 1 0 0 112 56 56 0 1 0 0-112zM120 96A56 56 0 1 0 8 96a56 56 0 1 0 112 0z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faEllipsisVertical = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'envelope';\nvar width = 512;\nvar height = 512;\nvar aliases = [128386,9993,61443];\nvar unicode = 'f0e0';\nvar svgPathData = 'M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faEnvelope = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'eye';\nvar width = 576;\nvar height = 512;\nvar aliases = [128065];\nvar unicode = 'f06e';\nvar svgPathData = 'M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faEye = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'eye-slash';\nvar width = 640;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'f070';\nvar svgPathData = 'M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223.1 149.5C248.6 126.2 282.7 112 320 112c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c8.4-19.3 10.6-41.4 4.8-63.3c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3c0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zM373 389.9c-16.4 6.5-34.3 10.1-53 10.1c-79.5 0-144-64.5-144-144c0-6.9 .5-13.6 1.4-20.2L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5L373 389.9z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faEyeSlash = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'filter';\nvar width = 512;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'f0b0';\nvar svgPathData = 'M3.9 54.9C10.5 40.9 24.5 32 40 32H472c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L320 320.9V448c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48c-8.1-6-12.8-15.5-12.8-25.6V320.9L9 97.3C-.7 85.4-2.8 68.8 3.9 54.9z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faFilter = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'folder';\nvar width = 512;\nvar height = 512;\nvar aliases = [128193,128447,61716,\"folder-blank\"];\nvar unicode = 'f07b';\nvar svgPathData = 'M64 480H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H288c-10.1 0-19.6-4.7-25.6-12.8L243.2 57.6C231.1 41.5 212.1 32 192 32H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faFolder = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'gears';\nvar width = 640;\nvar height = 512;\nvar aliases = [\"cogs\"];\nvar unicode = 'f085';\nvar svgPathData = 'M308.5 135.3c7.1-6.3 9.9-16.2 6.2-25c-2.3-5.3-4.8-10.5-7.6-15.5L304 89.4c-3-5-6.3-9.9-9.8-14.6c-5.7-7.6-15.7-10.1-24.7-7.1l-28.2 9.3c-10.7-8.8-23-16-36.2-20.9L199 27.1c-1.9-9.3-9.1-16.7-18.5-17.8C173.9 8.4 167.2 8 160.4 8h-.7c-6.8 0-13.5 .4-20.1 1.2c-9.4 1.1-16.6 8.6-18.5 17.8L115 56.1c-13.3 5-25.5 12.1-36.2 20.9L50.5 67.8c-9-3-19-.5-24.7 7.1c-3.5 4.7-6.8 9.6-9.9 14.6l-3 5.3c-2.8 5-5.3 10.2-7.6 15.6c-3.7 8.7-.9 18.6 6.2 25l22.2 19.8C32.6 161.9 32 168.9 32 176s.6 14.1 1.7 20.9L11.5 216.7c-7.1 6.3-9.9 16.2-6.2 25c2.3 5.3 4.8 10.5 7.6 15.6l3 5.2c3 5.1 6.3 9.9 9.9 14.6c5.7 7.6 15.7 10.1 24.7 7.1l28.2-9.3c10.7 8.8 23 16 36.2 20.9l6.1 29.1c1.9 9.3 9.1 16.7 18.5 17.8c6.7 .8 13.5 1.2 20.4 1.2s13.7-.4 20.4-1.2c9.4-1.1 16.6-8.6 18.5-17.8l6.1-29.1c13.3-5 25.5-12.1 36.2-20.9l28.2 9.3c9 3 19 .5 24.7-7.1c3.5-4.7 6.8-9.5 9.8-14.6l3.1-5.4c2.8-5 5.3-10.2 7.6-15.5c3.7-8.7 .9-18.6-6.2-25l-22.2-19.8c1.1-6.8 1.7-13.8 1.7-20.9s-.6-14.1-1.7-20.9l22.2-19.8zM112 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM504.7 500.5c6.3 7.1 16.2 9.9 25 6.2c5.3-2.3 10.5-4.8 15.5-7.6l5.4-3.1c5-3 9.9-6.3 14.6-9.8c7.6-5.7 10.1-15.7 7.1-24.7l-9.3-28.2c8.8-10.7 16-23 20.9-36.2l29.1-6.1c9.3-1.9 16.7-9.1 17.8-18.5c.8-6.7 1.2-13.5 1.2-20.4s-.4-13.7-1.2-20.4c-1.1-9.4-8.6-16.6-17.8-18.5L583.9 307c-5-13.3-12.1-25.5-20.9-36.2l9.3-28.2c3-9 .5-19-7.1-24.7c-4.7-3.5-9.6-6.8-14.6-9.9l-5.3-3c-5-2.8-10.2-5.3-15.6-7.6c-8.7-3.7-18.6-.9-25 6.2l-19.8 22.2c-6.8-1.1-13.8-1.7-20.9-1.7s-14.1 .6-20.9 1.7l-19.8-22.2c-6.3-7.1-16.2-9.9-25-6.2c-5.3 2.3-10.5 4.8-15.6 7.6l-5.2 3c-5.1 3-9.9 6.3-14.6 9.9c-7.6 5.7-10.1 15.7-7.1 24.7l9.3 28.2c-8.8 10.7-16 23-20.9 36.2L315.1 313c-9.3 1.9-16.7 9.1-17.8 18.5c-.8 6.7-1.2 13.5-1.2 20.4s.4 13.7 1.2 20.4c1.1 9.4 8.6 16.6 17.8 18.5l29.1 6.1c5 13.3 12.1 25.5 20.9 36.2l-9.3 28.2c-3 9-.5 19 7.1 24.7c4.7 3.5 9.5 6.8 14.6 9.8l5.4 3.1c5 2.8 10.2 5.3 15.5 7.6c8.7 3.7 18.6 .9 25-6.2l19.8-22.2c6.8 1.1 13.8 1.7 20.9 1.7s14.1-.6 20.9-1.7l19.8 22.2zM464 304a48 48 0 1 1 0 96 48 48 0 1 1 0-96z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faGears = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'house';\nvar width = 576;\nvar height = 512;\nvar aliases = [127968,63498,63500,\"home\",\"home-alt\",\"home-lg-alt\"];\nvar unicode = 'f015';\nvar svgPathData = 'M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faHouse = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'list-check';\nvar width = 512;\nvar height = 512;\nvar aliases = [\"tasks\"];\nvar unicode = 'f0ae';\nvar svgPathData = 'M152.1 38.2c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 113C-2.3 103.6-2.3 88.4 7 79s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zm0 160c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 273c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zM224 96c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32zM160 416c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32zM48 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faListCheck = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'pencil';\nvar width = 512;\nvar height = 512;\nvar aliases = [9999,61504,\"pencil-alt\"];\nvar unicode = 'f303';\nvar svgPathData = 'M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1v32c0 8.8 7.2 16 16 16h32zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faPencil = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'plus';\nvar width = 448;\nvar height = 512;\nvar aliases = [10133,61543,\"add\"];\nvar unicode = '2b';\nvar svgPathData = 'M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faPlus = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'rotate-left';\nvar width = 512;\nvar height = 512;\nvar aliases = [\"rotate-back\",\"rotate-backward\",\"undo-alt\"];\nvar unicode = 'f2ea';\nvar svgPathData = 'M48.5 224H40c-13.3 0-24-10.7-24-24V72c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2L98.6 96.6c87.6-86.5 228.7-86.2 315.8 1c87.5 87.5 87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3c-62.2-62.2-162.7-62.5-225.3-1L185 183c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8H48.5z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faRotateLeft = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'ruler-triangle';\nvar width = 512;\nvar height = 512;\nvar aliases = [128208];\nvar unicode = 'f61c';\nvar svgPathData = 'M0 32V448c0 35.3 28.7 64 64 64H480c17.7 0 32-14.3 32-32v-2.7c0-8.5-3.4-16.6-9.4-22.6l-51.3-51.3-24 24c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l24-24-57.4-57.4-24 24c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l24-24-57.4-57.4-24 24c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l24-24-57.4-57.4-24 24c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l24-24L131.3 83.3l-24 24c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l24-24L57.4 9.4C51.4 3.4 43.2 0 34.7 0H32C14.3 0 0 14.3 0 32zM128 256L256 384H128V256z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faRulerTriangle = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'table-layout';\nvar width = 512;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'e290';\nvar svgPathData = 'M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM448 96v64H64V96H448zM64 224h64V416H64V224zm384 0V416H192V224H448z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faTableLayout = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'trash-can';\nvar width = 448;\nvar height = 512;\nvar aliases = [61460,\"trash-alt\"];\nvar unicode = 'f2ed';\nvar svgPathData = 'M135.2 17.7C140.6 6.8 151.7 0 163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3zM32 128H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zm96 64c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faTrashCan = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'trash-can-undo';\nvar width = 448;\nvar height = 512;\nvar aliases = [\"trash-can-arrow-turn-left\",\"trash-undo-alt\"];\nvar unicode = 'f896';\nvar svgPathData = 'M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32V448c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V128zM217.8 199.9c8.9 9.9 8.1 25-1.8 33.9L182.5 264H240c48.6 0 88 39.4 88 88v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V352c0-22.1-17.9-40-40-40H182.5l33.5 30.2c9.9 8.9 10.7 24 1.8 33.9s-24 10.7-33.9 1.8l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c9.9-8.9 25-8.1 33.9 1.8z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faTrashCanUndo = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar source = require('./faTrashCanUndo');\nexports.definition = {\n prefix: source.prefix,\n iconName: source.iconName,\n icon: [\n source.width,\n source.height,\n source.aliases,\n source.unicode,\n source.svgPathData\n ]};\n\nexports.faTrashUndoAlt = exports.definition;\nexports.prefix = source.prefix;\nexports.iconName = source.iconName;\nexports.width = source.width;\nexports.height = source.height;\nexports.ligatures = source.aliases;\nexports.unicode = source.unicode;\nexports.svgPathData = source.svgPathData;\nexports.aliases = source.aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'user';\nvar width = 448;\nvar height = 512;\nvar aliases = [128100,62144];\nvar unicode = 'f007';\nvar svgPathData = 'M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faUser = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'user-group';\nvar width = 640;\nvar height = 512;\nvar aliases = [128101,\"user-friends\"];\nvar unicode = 'f500';\nvar svgPathData = 'M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM609.3 512H471.4c5.4-9.4 8.6-20.3 8.6-32v-8c0-60.7-27.1-115.2-69.8-151.8c2.4-.1 4.7-.2 7.1-.2h61.4C567.8 320 640 392.2 640 481.3c0 17-13.8 30.7-30.7 30.7zM432 256c-31 0-59-12.6-79.3-32.9C372.4 196.5 384 163.6 384 128c0-26.8-6.6-52.1-18.3-74.3C384.3 40.1 407.2 32 432 32c61.9 0 112 50.1 112 112s-50.1 112-112 112z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faUserGroup = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'wrench';\nvar width = 512;\nvar height = 512;\nvar aliases = [128295];\nvar unicode = 'f0ad';\nvar svgPathData = 'M352 320c88.4 0 160-71.6 160-160c0-15.3-2.2-30.1-6.2-44.2c-3.1-10.8-16.4-13.2-24.3-5.3l-76.8 76.8c-3 3-7.1 4.7-11.3 4.7H336c-8.8 0-16-7.2-16-16V118.6c0-4.2 1.7-8.3 4.7-11.3l76.8-76.8c7.9-7.9 5.4-21.2-5.3-24.3C382.1 2.2 367.3 0 352 0C263.6 0 192 71.6 192 160c0 19.1 3.4 37.5 9.5 54.5L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L297.5 310.5c17 6.2 35.4 9.5 54.5 9.5zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faWrench = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'xmark';\nvar width = 384;\nvar height = 512;\nvar aliases = [128473,10005,10006,10060,215,\"close\",\"multiply\",\"remove\",\"times\"];\nvar unicode = 'f00d';\nvar svgPathData = 'M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faXmark = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fasr';\nvar iconName = 'diagram-previous';\nvar width = 512;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'e478';\nvar svgPathData = 'M464 336L48 336l0 96 416 0V336zm48-48v48 96 48H464 48 0V432 336 288H48 232V201.9l-23 23-17 17L158.1 208l17-17 64-64 17-17 17 17 64 64 17 17L320 241.9l-17-17-23-23V288H464h48zM96.8 224L0 224V32l512 0V224H415.2l-39.6-39.6-80-80L256 64.8l-39.6 39.6-80 80L96.8 224z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faDiagramPrevious = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;","import dxPopup, { HidingEvent, ContentReadyEvent } from 'devextreme/ui/popup';\r\nimport Utils from 'pillar/Utils/Utils';\r\nexport default class Popup{\r\n static DefaultHideHandler(e, jsProp : IJsProp) {\r\n //this will not work//update this\r\n if(typeof jsProp !== 'undefined')\r\n {\r\n const popup = $('#' + jsProp.PopupID).dxPopup(\"instance\");\r\n popup.hide();\r\n }\r\n }\r\n\r\n static ShowPopupHandler(e, jsProp :IJsProp) {\r\n //this will not work//update this\r\n if(typeof jsProp !== 'undefined')\r\n {\r\n const popup = $('#' + jsProp.PopupID).dxPopup(\"instance\");\r\n popup.show();\r\n }\r\n }\r\n public static PopupOnHiding(e: HidingEvent & (IDefCancel | DXCancelProp), jsProp: IJsProp) : void{\r\n if (jsProp._jsManager.hidingPromise) {\r\n e.cancel = true;\r\n let p : Promise = jsProp._jsManager.hidingPromise;\r\n p.then((res) => {\r\n if (res) {\r\n e.component.hide();\r\n }\r\n })\r\n jsProp._jsManager.hidingPromise = null;\r\n //e.cancel = Utils.dxCancelPromise(e,jsProp._jsManager.hidingPromise);//this does not work\r\n \r\n }\r\n }\r\n\r\n\r\n private static CalculateMaxWidth(width: number): {width: number, adjusted : boolean} {\r\n let maxWidth : number = screen.width - 30;\r\n if (width > maxWidth) {\r\n return { width: maxWidth, adjusted : true };\r\n }\r\n return {width: width, adjusted : false};\r\n }\r\n\r\n private static CalculateMaxHeight(height: number): { height: number, adjusted: boolean } {\r\n let maxHeight : number = screen.height - 30;\r\n if (height > maxHeight) {\r\n return { height: maxHeight, adjusted: true };\r\n }\r\n return { height: height, adjusted: true };\r\n }\r\n\r\n public static MakeItFit(e: ContentReadyEvent, jsProp: IJsProp): void\r\n {\r\n let width = e.component.option('width');\r\n if (typeof width === 'function') {\r\n width = width();\r\n }\r\n\r\n if (typeof width === 'number') {\r\n let res = Popup.CalculateMaxWidth(width);\r\n if (res.adjusted)\r\n e.component.option('width', res.width);\r\n }\r\n\r\n let height = e.component.option('height');\r\n\r\n if (typeof height === 'function') {\r\n height = height();\r\n }\r\n if (typeof height === 'number') {\r\n let res = Popup.CalculateMaxHeight(height);\r\n\r\n if (res.adjusted) {\r\n e.component.option('height', res.height);\r\n }\r\n }\r\n }\r\n\r\n public static ResizePopupWidth(popup: dxPopup, size: number): void\r\n {\r\n let newWidth = Popup.CalculateMaxWidth(size).width;\r\n popup.option('width', newWidth);\r\n\r\n }\r\n\r\n public static ResizePopupHeight(popup: dxPopup, size: number): void\r\n {\r\n let newHeight = Popup.CalculateMaxHeight(size).height;\r\n popup.option('height', newHeight);\r\n }\r\n\r\n //Looks like we do it in jquery in some places, I'm not going to update it will just add a method to do the calculation at set those ones aswell\r\n public static ResizePopupContainerWidth(element: JQuery, size: number): void\r\n {\r\n let newWidth = Popup.CalculateMaxWidth(size).width;\r\n element.css('width', `${newWidth}px`);\r\n }\r\n\r\n //Looks like we do it in jquery in some places, I'm not going to update it will just add a method to do the calculation at set those ones aswell\r\n public static ResizePopupContainerHeight(element: JQuery, size: number): void\r\n {\r\n let newHeight = Popup.CalculateMaxHeight(size).height;\r\n element.css('height', `${newHeight}px`);\r\n }\r\n}","export default class DxControllerEventHandler{\r\n\r\n //Incase any of these don't have an endpoint but are enabled visualually and handle else where\r\n //we need to set an empty function for them else they will try and callback null\r\n static OnRead(e, jsProp: IJsProp) {\r\n let callerContext : any = this;\r\n callerContext._loadFunc = DxControllerEventHandler.Empty;\r\n }\r\n\r\n static Empty(key,values) {\r\n\r\n }\r\n\r\n static ProcessObjectsFromDataSource(items, userData){\r\n if(Array.isArray(items))\r\n {\r\n for(let key in items)\r\n {\r\n if(typeof items[key] === 'object')\r\n {\r\n for(let prop of Object.keys(items[key]))\r\n {\r\n let v: any = items[key][prop];\r\n if(v && v?.Type){\r\n\r\n if(items[key][prop].Type === \"EntityPropertyValueTuple\")\r\n {\r\n //If the Object is a EntityPropertyValueTuple then the display value will be .Text\r\n items[key][prop] = items[key][prop].Text;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n static OnUpdate(e, jsProp : IJsProp){\r\n let callerContext : any = this;\r\n if(typeof callerContext._updateFunc === \"undefined\")\r\n {\r\n callerContext._updateFunc = DxControllerEventHandler.Empty;\r\n }\r\n }\r\n\r\n static OnInsert(e, jsProp : IJsProp){\r\n let callerContext : any = this;\r\n if(typeof callerContext._insertFunc === \"undefined\")\r\n {\r\n callerContext._insertFunc = DxControllerEventHandler.Empty;\r\n }\r\n }\r\n static OnDelete(e, jsProp : IJsProp) {\r\n let callerContext : any = this;\r\n if(typeof callerContext._removeFunc === \"undefined\") {\r\n callerContext._removeFunc = DxControllerEventHandler.Empty;\r\n }\r\n }\r\n}\r\n\r\n","import BaseCrud from './BaseCrud';\r\nimport { IControllerEvent } from 'pillar/types/EndPointTypes';\r\n\r\nexport default class SingleCrudOperation extends BaseCrud {\r\n public endpoint: IControllerEvent;\r\n constructor(controllerEventHandler: any) {\r\n super(controllerEventHandler);\r\n this.endpoint = controllerEventHandler.Event;\r\n }\r\n\r\n protected GetParams(): any {\r\n return this._params;\r\n }\r\n\r\n public async ReadCallAsPromiseAsync(customSettings: JQuery.AjaxSettings = null): Promise {\r\n return await BaseCrud.ReadCallAsPromiseAsync(this.endpoint.FullEndPoint, this.GetParams(), customSettings);\r\n }\r\n\r\n public async PostCallAsPromiseAsync(customSettings: JQuery.AjaxSettings = null): Promise {\r\n return await BaseCrud.PostCallAsPromiseAsync(this.endpoint.FullEndPoint, this.GetParams(), customSettings);\r\n }\r\n\r\n public static CreateSingleCrudOperationHandler(...args): SingleCrudOperation {\r\n let controllerEventHandler = args[args.length - 1];\r\n return new SingleCrudOperation(controllerEventHandler);\r\n }\r\n}","import CrudWithType from './CrudWithType';\r\nimport SingleCrudOperation from './SingleCrudOperation';\r\nimport { ICrudParams } from './BaseCrud'\r\nimport { IClickEventType, IChangeEventType } from 'pillar/types/EndPointTypes';\r\n\r\nexport interface IJsEventOperations {\r\n args: any[];\r\n runCrud: () => Promise;\r\n CreateCrud(events: any) : ICrudParams;\r\n}\r\n\r\nexport interface IControllerToJsEventHandler {\r\n PreCrudEventFunc?: any;\r\n PostCrudEventFunc?: any;\r\n}\r\n\r\nexport interface IJsEventSettings {\r\n cancel: boolean;\r\n crud: ICrudParams;\r\n result: any;\r\n}\r\n\r\nexport class JsEventSettings implements IJsEventSettings {\r\n result: any;\r\n cancel: boolean;\r\n crud: ICrudParams;\r\n}\r\n\r\nexport default class JsEventCrudHandler {\r\n public static runPrePostEvent(JsEvent: IControllerToJsEventHandler, crudEventHandler: IJsEventOperations): Promise {\r\n let eventSettings: IJsEventSettings = new JsEventSettings();\r\n eventSettings.cancel = false;\r\n eventSettings.crud = crudEventHandler.CreateCrud(JsEvent);\r\n eventSettings.result = null;\r\n if (JsEvent.PreCrudEventFunc !== null && typeof JsEvent.PreCrudEventFunc === \"function\") {\r\n JsEvent.PreCrudEventFunc(eventSettings, ...crudEventHandler.args);\r\n if (eventSettings.cancel) {\r\n return;\r\n }\r\n }\r\n return crudEventHandler.runCrud().then(result => {\r\n eventSettings.result = result;\r\n if (JsEvent.PostCrudEventFunc !== null && typeof JsEvent.PostCrudEventFunc === \"function\") {\r\n JsEvent.PostCrudEventFunc(eventSettings,...crudEventHandler.args);\r\n }\r\n });\r\n }\r\n\r\n\r\n public static CreateJsEventHandlerCrud(crudEvent: IJsEventOperations): Promise {\r\n let controllerEventHandler: IControllerToJsEventHandler = crudEvent.args.pop();//last one should be the controllerEventHandler\r\n return JsEventCrudHandler.runPrePostEvent(controllerEventHandler, crudEvent);\r\n }\r\n\r\n public static CrudClickEvent(...args): Promise {//this whole thing should be moved to a seperate class //update this\r\n return JsEventCrudHandler.CreateJsEventHandlerCrud(new ClickCrudEvent(args));\r\n }\r\n\r\n public static CrudChangeEvent(...args): Promise {\r\n return JsEventCrudHandler.CreateJsEventHandlerCrud(new ChangeCrudEvent(args));\r\n }\r\n\r\n public static CrudEvent(...args): Promise {\r\n return JsEventCrudHandler.CreateJsEventHandlerCrud(new CrudEvent(args))\r\n }\r\n}\r\n\r\nclass CrudEvent implements IJsEventOperations {\r\n public crud: SingleCrudOperation;\r\n args: any[];\r\n\r\n constructor(args: any[]) {\r\n this.args = args;\r\n }\r\n public CreateCrud(events: any): ICrudParams {\r\n this.crud = new SingleCrudOperation(events);\r\n return this.crud;\r\n }\r\n public async runCrud(): Promise {\r\n return await this.crud.ReadCallAsPromiseAsync();\r\n }\r\n\r\n}\r\n\r\n\r\nclass ClickCrudEvent implements IJsEventOperations {\r\n public args: any[];\r\n public crud: CrudWithType;\r\n\r\n\r\n constructor(args: any[]) {\r\n this.args = args;\r\n }\r\n public CreateCrud(events: any): ICrudParams {\r\n this.crud = new CrudWithType(events);\r\n return this.crud;\r\n }\r\n public async runCrud(): Promise {\r\n let endPoint = this.crud._endpoints.CLICK;\r\n if (endPoint != null) {\r\n return await this.crud.ReadCallAsPromiseAsync(endPoint);\r\n }\r\n }\r\n\r\n}\r\n\r\nclass ChangeCrudEvent implements IJsEventOperations {\r\n args: any[];\r\n crud: CrudWithType;\r\n\r\n constructor(args: any[]) {\r\n this.args = args;\r\n }\r\n public CreateCrud(events: any): ICrudParams {\r\n this.crud = new CrudWithType(events);//will create a newone\r\n return this.crud;\r\n }\r\n\r\n public async runCrud(): Promise {\r\n let endPoint = this.crud._endpoints.CHANGED;\r\n if (endPoint != null) {\r\n return await this.crud.PostCallAsPromiseAsync(endPoint);\r\n }\r\n }\r\n\r\n}","import CrudWithType from './CrudWithType';\r\nimport dxLoadPanel from 'devextreme/ui/load_panel';\r\nimport { IViewComponentLoadType } from 'pillar/types/EndPointTypes';\r\n\r\n\r\n\r\n\r\nexport default class CrudViewComponentLoader extends CrudWithType\r\n{\r\n\r\n constructor(controllerEventHandler: any) {\r\n super(controllerEventHandler);\r\n }\r\n\r\n public GetLoadingPanel(element: JQuery): dxLoadPanel {\r\n let loadingPanelPlace = $('
');\r\n let anchorParent = element;\r\n anchorParent.append(loadingPanelPlace);\r\n let loadingPanel: dxLoadPanel = $(loadingPanelPlace).dxLoadPanel({\r\n visible: false,\r\n position: { of: element },\r\n showIndicator: true,\r\n showPane: true,\r\n }).dxLoadPanel('instance');\r\n return loadingPanel;\r\n }\r\n\r\n public async BuildElementContents(element: JQuery): Promise{\r\n \r\n let promise = this.PostCallAsPromiseAsync(this._endpoints.LOAD);\r\n let loadingPanel: dxLoadPanel = this.GetLoadingPanel(element);\r\n await loadingPanel.show();\r\n let result = await promise;\r\n let container = $(result);\r\n element.append(container);\r\n await loadingPanel.hide();\r\n }\r\n\r\n static CreateViewComponentLoader(...args): CrudViewComponentLoader {\r\n let controllerEventHandler = args[args.length - 1];\r\n return new CrudViewComponentLoader(controllerEventHandler);\r\n }\r\n}","\r\nimport dxDataGrid, { RowPreparedEvent} from 'devextreme/ui/data_grid';\r\nimport { Column, ContentReadyEvent } from 'devextreme/ui/data_grid';\r\nimport InMemoryDataStore from 'pillar/datastore/InMemoryDataStore';\r\nexport default class AgsDataGrid\r\n{\r\n static GetColumnNames(grid: dxDataGrid): Array {\r\n let columns: Column[] = grid.getVisibleColumns();\r\n let columnNames: Array = new Array();\r\n for (let i: number = 0; i < columns.length; i++) {\r\n columnNames[i] = columns[i].dataField;\r\n }\r\n return columnNames;\r\n }\r\n\r\n public static GetColumnsCaption(grid: dxDataGrid): Array {\r\n let columns: Column[] = grid.getVisibleColumns();\r\n let columnNames: Array = new Array();\r\n for (let i: number = 0; i < columns.length; i++) {\r\n columnNames[i] = columns[i].caption;\r\n }\r\n return columnNames;\r\n }\r\n\r\n static MapCollectionOfData(grid:dxDataGrid, data: Array>): Array> {\r\n let columnNames: Array = AgsDataGrid.GetColumnNames(grid);\r\n return InMemoryDataStore.MapCollectionOfDataByFields(columnNames, data);\r\n }\r\n\r\n static DataGrid_ContentReadyWidthHack(e: ContentReadyEvent): void {\r\n let gridElement = e.element;\r\n let parentElement = gridElement.parent();\r\n let parentWidth = parentElement.width();\r\n gridElement.width(parentWidth);\r\n let resizeObserver = new ResizeObserver(entires => {\r\n for (let entry of entires) {\r\n const width = entry.contentRect.width;\r\n gridElement.width(width);\r\n }\r\n });\r\n resizeObserver.observe(parentElement.get(0));\r\n }\r\n\r\n public static DataGrid_AddStripe(e: RowPreparedEvent, jsProp: IJsProp): void {\r\n if (jsProp.StripeColor && e.rowType == 'data') {\r\n let colorBlock = $(`
`)\r\n\r\n let closeGroup = e.rowElement.find(\".dx-datagrid-group-closed\");\r\n closeGroup.append(colorBlock);\r\n let openGroup = e.rowElement.find(\".dx-datagrid-group-opened\");\r\n openGroup.append(colorBlock);\r\n }\r\n }\r\n\r\n public static DataGrid_EditModeCheck(e: ContentReadyEvent, jsProp: IJsProp): void {\r\n if (!jsProp._jsManager.set) {\r\n jsProp._jsManager.set = true;\r\n let currentVisibleRows = e.component.getVisibleRows();\r\n\r\n for (let el of currentVisibleRows) {\r\n if (el.data.IsEditing) {\r\n let p = e.component.editRow(el.rowIndex);\r\n if (jsProp.OnlyOneRow) {\r\n break;\r\n }\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n public static DataGrid_ExpandRowOnRowEditButton(e: any): void {\r\n // Add expanded row key to component just incase you want to get the current row key for other uses\r\n e.component.option(\"expandedRowKey\", e.row.key);\r\n // Expand row\r\n e.component.expandRow(e.row.key);\r\n // Disable all edit command buttons except the current save and cancel buttons\r\n $(\".dx-command-edit span:not(.ags-link-save, .ags-link-cancel)\").addClass(\"edit-disabled\");\r\n // Disable add/print component\r\n $(\".ags-edit-component .ec-print-menu .dx-button\").addClass(\"dx-state-disabled\");\r\n $(\".ags-edit-component .ec-add-menu .dx-button\").addClass(\"dx-state-disabled\");\r\n }\r\n\r\n public static DataGrid_RowCancelButton(e: any): void {\r\n // Collapse the row\r\n e.component.beginUpdate();\r\n e.component.cancelEditData();\r\n e.component.collapseRow(e.row.key);\r\n // Clear expanded row key\r\n e.component.option(\"expandedRowKey\", null);\r\n e.component.endUpdate();\r\n }\r\n\r\n public static async DataGrid_RowSaveButton(e: any): Promise {\r\n e.component.beginUpdate();\r\n let promise: Promise = e.component.saveEditData();\r\n promise.then(() => {\r\n if (e.component.option(\"isRowExpandedValid\")) {\r\n e.component.collapseRow(e.row.key);\r\n // Clear expanded row key\r\n e.component.option(\"expandedRowKey\", null);\r\n } \r\n e.component.endUpdate();\r\n });\r\n }\r\n\r\n public static async DataGrid_OnExpandedRowSaving(e: any): Promise {\r\n // Get current event e.cancel to determine if row exapnded has valid input\r\n // e.cancel == true == not valid\r\n // e.cancel == false == valid\r\n e.component.option(\"isRowExpandedValid\", !e.cancel);\r\n }\r\n\r\n public static async DataGrid_OnExpandedRowSaved(e: any): Promise {\r\n // Referesh Grid after saving\r\n e.component.refresh();\r\n }\r\n}","\r\nimport cssx from 'cssx';\r\n\r\nexport interface ICssxColorStyles {\r\n BackgroundColor: string;\r\n TextColor: string;\r\n HoverTextColor: string;\r\n HoverBackgroundColor: string;\r\n ActiveEffectBackgroundColor: string;\r\n ActiveEffectTextColor: string;\r\n SelectedBackgroundColor: string;\r\n SelectedTextColor: string;\r\n TopBarColor: string;\r\n\r\n}\r\n\r\ninterface ICssxStyleGroup {\r\n Standard: {};\r\n Hover: {};\r\n Active: {};\r\n Selected: {};\r\n All: {}\r\n}\r\n\r\n\r\n//Well using cssx might not be as good as using standard styles\r\n//I wanted to make these controls as customizable as possible\r\n//through the viewmodel to give a DevExpress kinda feel\r\n//in hine site if we needed to deviate from devextremes standard colors\r\n//guess we could have just written css to do this all\r\n//but found using cssx is quite nice, the flexibility it provides is fantastic \r\n//and can let us create dynamic css to handle paticular situations in our controls\r\n//outside and inside devextreme elements\r\nexport default class AgsControlsDynamicStyleSheet{\r\n private _sheet : any;\r\n constructor(){\r\n this._sheet = cssx('dxtre-controls');\r\n }\r\n\r\n public add(element) : void{\r\n this._sheet.add(element);\r\n }\r\n\r\n public static instance : AgsControlsDynamicStyleSheet;\r\n\r\n\r\n public static getInstance(): AgsControlsDynamicStyleSheet {\r\n if(AgsControlsDynamicStyleSheet.instance == null) {\r\n AgsControlsDynamicStyleSheet.instance = new AgsControlsDynamicStyleSheet();\r\n }\r\n return AgsControlsDynamicStyleSheet.instance;\r\n }\r\n\r\n public static add(element) : void{\r\n AgsControlsDynamicStyleSheet.getInstance().add(element);\r\n }\r\n\r\n public LegacyControlCssxStyle(id: string, jsProp: IJsProp & ICssxColorStyles): void\r\n {\r\n //grab the ID of the Component\r\n let element = {};\r\n\r\n let styles = this.ProcessColors(jsProp);\r\n this.OverrideSelectedColors(styles,jsProp);\r\n this.ApplyCustomStyles(styles, jsProp);\r\n this.ApplyColorStyling(id, element, styles);\r\n //will add the styles to the style sheet \r\n this.add(element);\r\n }\r\n\r\n public static ControlContentReadyEventColorStylingEvent(e: DXContentReadyEvent, styleSettings: ICssxColorStyles): void {\r\n var id = \"#\" + e.element.attr('id');\r\n let instance = AgsControlsDynamicStyleSheet.getInstance();\r\n let element = {};\r\n let styles = instance.ProcessColors(styleSettings);\r\n instance.ApplyColorStyling(id, element, styles);\r\n instance.add(element);\r\n }\r\n\r\n public ApplyCustomStyles(group: ICssxStyleGroup,jsProp: IJsProp): void{\r\n if (jsProp.StyleAttributes && typeof jsProp.StyleAttributes === 'object') {\r\n group.All = { ...group.All, ...jsProp.StyleAttributes };\r\n }\r\n }\r\n\r\n public OverrideSelectedColors(styles: ICssxStyleGroup,jsProp: IJsProp): void {\r\n if (jsProp.Selected) {\r\n styles.Standard = styles.Selected;//will set the ActiveStyles as the standard ones\r\n }\r\n }\r\n\r\n public ApplyColorStyling(id: string, element: {}, styles: ICssxStyleGroup): void {\r\n element[id + \":not(.dx-state-hover):not(.dx-state-active)\"] = styles.Standard;\r\n element[id + '.dx-state-hover'] = styles.Hover;\r\n element[id + '.dx-state-active'] = styles.Active;\r\n element[id] = styles.All;\r\n }\r\n\r\n\r\n public ProcessColors(colorStyles: ICssxColorStyles): ICssxStyleGroup {\r\n\r\n let styles: ICssxStyleGroup = {\r\n Standard: {},\r\n Active: null,\r\n Hover: null,\r\n All: {},\r\n Selected: null\r\n };\r\n\r\n if (colorStyles.BackgroundColor) {\r\n styles.Standard['background-color'] = colorStyles.BackgroundColor;//if there is a background set will add it\r\n }\r\n\r\n if (colorStyles.TextColor) {\r\n styles.Standard['color'] = colorStyles.TextColor;\r\n }\r\n //make the standard the default incase there are no options for these ones\r\n styles.Active = { ...styles.Standard };\r\n styles.Hover = { ...styles.Standard };\r\n\r\n //will need to add a new object for the hover class on the root element\r\n\r\n\r\n if (colorStyles.HoverBackgroundColor) {\r\n styles.Hover['background-color'] = colorStyles.HoverBackgroundColor;\r\n }\r\n\r\n if (colorStyles.HoverTextColor) {\r\n styles.Hover['color'] = colorStyles.HoverTextColor;\r\n\r\n }\r\n else if (colorStyles.TextColor) {\r\n //if we don't set a customhovertextcolor but we do set a custom text color we want that custom text color\r\n //to be the same as the non hover color\r\n styles.Hover['color'] = colorStyles.TextColor;\r\n }\r\n\r\n\r\n\r\n if (colorStyles.ActiveEffectBackgroundColor) {\r\n //will need to add a new object for the active class on the root element \r\n styles.Active['background-color'] = colorStyles.ActiveEffectBackgroundColor;\r\n }\r\n\r\n if (colorStyles.ActiveEffectTextColor) {\r\n styles.Active['color'] = colorStyles.ActiveEffectTextColor;\r\n //styles.Active['font-weight'] = 'bold';//Hmm maybe we need a new property for this or it could be part of the color \r\n }\r\n styles.Selected = { ...styles.Active };\r\n\r\n if (colorStyles.SelectedBackgroundColor) {\r\n styles.Selected['background-color'] = colorStyles.SelectedBackgroundColor;\r\n }\r\n\r\n if (colorStyles.SelectedTextColor) {\r\n styles.Selected['color'] = colorStyles.SelectedTextColor;\r\n }\r\n\r\n\r\n\r\n if (colorStyles.TopBarColor) {\r\n styles.All['border-top-color'] = colorStyles.TopBarColor;\r\n }\r\n\r\n return styles;\r\n }\r\n}\r\n\r\n\r\n","import { IXTemplateEventData, } from 'pillar/HtmlTemplate/xTemplateEventData';\r\nimport RawProperty from 'pillar/HtmlTemplate/RawProperty';\r\nimport sheet from 'pillar/Utils/AgsControlsDynamicStyleSheet';\r\nexport default class AgsMenu {\r\n public static async OnMenuItemTemplate_InitAsync(e: IXTemplateEventData, jsProp: IJsProp): Promise {\r\n var tempItemData: any = e.model;\r\n tempItemData.Selected = false;\r\n tempItemData.Disabled = false;\r\n tempItemData.TopBarColor = tempItemData.BgColor;\r\n if (!tempItemData.TooltipText) {\r\n tempItemData.TooltipText = \"\";\r\n }\r\n\r\n if (jsProp?.SelectedIndex != null) {\r\n if (e.itemIndex == jsProp.SelectedIndex) {\r\n tempItemData.Selected = true;\r\n }\r\n }\r\n if (jsProp != undefined && jsProp.disabledItems != undefined && jsProp.disabledItems.includes(e.itemIndex)) {\r\n //itemElement.addClass('disabled-item');\r\n e.container.addClass('dx-state-disabled');\r\n tempItemData.Disabled = true;\r\n }\r\n }\r\n\r\n public static async OnMenuItemTemplateHyperLink_InitAsync(e: IXTemplateEventData, jsProp: IJsProp): Promise {\r\n //let definedInstanceId = e.GenerateDxTemplateId();\r\n //e.customTemplateIds = [definedInstanceId];\r\n var tempItemData: any = e.model;\r\n tempItemData.Selected = false;\r\n tempItemData.Disabled = false;\r\n tempItemData.TopBarColor = tempItemData.BgColor;\r\n if (!tempItemData.TooltipText) {\r\n tempItemData.TooltipText = \"\";\r\n }\r\n\r\n if (jsProp?.SelectedIndex != null) {\r\n if (e.itemIndex == jsProp.SelectedIndex) {\r\n tempItemData.Selected = true;\r\n }\r\n }\r\n }\r\n\r\n public static OnMenuContentReady(e: DXContentReadyEvent, jsProp: IJsProp): void {\r\n if (jsProp) {\r\n var element = {};\r\n if (jsProp.itemTemplateSpacingAttributes) {\r\n var obj = JSON.parse(jsProp.itemTemplateSpacingAttributes);\r\n var Id = \"#\" + e.element.attr('id');\r\n element[Id + ' ul.dx-menu-items-container li:not(:last-child)'] = obj;\r\n }\r\n sheet.add(element);\r\n }\r\n }\r\n}","import { ValueChangedEvent, OptionChangedEvent } from \"devextreme/ui/slider\";\r\nimport Logger from \"pillar/Utils/Logger\";\r\nimport Utils from 'pillar/Utils/Utils';\r\nexport default class AgsSlider {\r\n public static OnValueChanged_UpdateLabel(e: ValueChangedEvent): void\r\n { \r\n let lbl = e.element.parent().find('.lblPercent');\r\n lbl.text(`${e.value}%`);\r\n }\r\n public static FireOnUnfocusedEvent(e: OptionChangedEvent, jsProp: IJsProp): void {\r\n Logger.debug(`UnFocusedEvent Detected`);\r\n if (jsProp.OnUnFocusedEvent) {\r\n let event: DXSliderUnfocusedEvent = {\r\n component: e.component,\r\n element: e.element,\r\n }\r\n\r\n jsProp.OnUnFocusedEvent(event);\r\n }\r\n }\r\n\r\n public static async OnOptionChanged(e: OptionChangedEvent, jsProp: IJsProp): Promise {\r\n //Logger.debug(`${e.name}, ${e.previousValue}, ${e.value}`, e);\r\n if (e.name == 'isActive') {\r\n if (e.value) {\r\n jsProp._jsManager.isActive = true;\r\n jsProp._jsManager.NonActiveAdd = null;\r\n }\r\n else {\r\n jsProp._jsManager.isActive = false;\r\n await Promise.resolve(AgsSlider.FireOnUnfocusedEvent(e, jsProp));\r\n }\r\n }\r\n else if (e.name == 'value' && !jsProp._jsManager.isActive) {\r\n if (jsProp._jsManager.NonActiveAdd) {\r\n jsProp._jsManager.NonActiveAdd = e;\r\n }\r\n else {\r\n jsProp._jsManager.NonActiveAdd = e;\r\n //The value set event fires before the IsActive\r\n //Could not think of a better way of handling this\r\n await Utils.Sleep(50);\r\n if (jsProp._jsManager.NonActiveAdd) {\r\n e = jsProp._jsManager.NonActiveAdd;\r\n jsProp._jsManager.NonActiveAdd = null;\r\n await Promise.resolve(AgsSlider.FireOnUnfocusedEvent(e, jsProp));\r\n }\r\n }\r\n \r\n \r\n }\r\n }\r\n}","import dxLoadPanel from \"devextreme/ui/load_panel\";\r\nexport default class AgsLoadingPanel {\r\n\r\n private static GetPanel(...args): dxLoadPanel {\r\n if (args.length > 0) {\r\n let jsProp: IJsProp = args[args.length - 1];\r\n let panel: dxLoadPanel = null;\r\n if (jsProp.panel) {\r\n panel = jsProp?.panel;;\r\n }\r\n else if (jsProp._jsManager.panel) {\r\n panel = jsProp._jsManager.panel;\r\n }\r\n else if (jsProp.panelLocation) {\r\n panel = $(jsProp.panelLocation).dxLoadPanel('instance');\r\n }\r\n return panel;\r\n }\r\n return null;\r\n }\r\n\r\n public static ShowLoading(...args): void {\r\n let panel = AgsLoadingPanel.GetPanel(args);\r\n if (panel?.show) {\r\n panel.show();\r\n }\r\n }\r\n\r\n public static HideLoading(...args): void {\r\n let panel = AgsLoadingPanel.GetPanel(args);\r\n if (panel?.hide) {\r\n panel.hide();\r\n }\r\n\r\n }\r\n}","import dxTooltip from \"devextreme/ui/tooltip\";\r\nimport Utils from 'pillar/Utils/Utils';\r\n\r\nexport default class AgsToolTip {\r\n public static CreateToolTipFromControlRecord(container: JQuery, jsProp: IJsProp): dxTooltip {\r\n if (jsProp.TooltipText && !Utils.IsNullOrWhitespace(jsProp.TooltipText)) {\r\n return AgsToolTip.CreateToolTip(container, jsProp.TooltipText);\r\n }\r\n return null;\r\n }\r\n\r\n public static CreateToolTip(container: JQuery, toolTipText : string): dxTooltip {\r\n let div = $('
');\r\n div.append(toolTipText)\r\n container.append(div);\r\n\r\n div.dxTooltip({\r\n target: container,\r\n showEvent: 'mouseenter',\r\n hideEvent: 'mouseleave',\r\n hideOnOutsideClick: false\r\n });\r\n\r\n return div.dxTooltip('instance');\r\n }\r\n}","export default class ElementListener {\r\n private static Loadables: { [id: string]: (value: JQuery | PromiseLike>) => void; } = {};\r\n\r\n public static OnElementLoad(selector: string): Promise> {\r\n return new Promise>((res, reject) => {\r\n ElementListener.Loadables[selector] = res;\r\n });\r\n }\r\n\r\n private static DXBrokenSegmentFixOnLoad() : void { \r\n let loadingIndicators = $('.dx-loadindicator-icon');\r\n\r\n for (let el of loadingIndicators) {\r\n let jEl = $(el);\r\n for (let i: number = 0; i <= 7; i++) {\r\n let segment = jEl.find(`.dx-loadindicator-segment${i}`);\r\n if (segment.length == 0) {\r\n jEl.append($(`
`));\r\n }\r\n }\r\n }\r\n }\r\n\r\n private static DxBrokenSegmentFixOnElementAppend(e: JQuery.TriggeredEvent) : void {\r\n if ($(e.target).hasClass('dx-loadindicator-icon')) {\r\n let jEl = $(e.target);\r\n for (let i: number = 0; i <= 7; i++) {\r\n let segment = jEl.find(`.dx-loadindicator-segment${i}`);\r\n if (segment.length == 0) {\r\n jEl.append($(`
`));\r\n }\r\n }\r\n }\r\n }\r\n\r\n public static ElementListen() : void {\r\n //the css class the applies the font family to every element really foobars this\r\n //this is my quick hack to fix it\r\n\r\n $(document).ready(() => {\r\n \r\n ElementListener.DXBrokenSegmentFixOnLoad();\r\n $(document).on('DOMNodeInserted', function (e) {\r\n if (ElementListener.Loadables) {\r\n for (let el in ElementListener.Loadables) {\r\n let jEl = $(el);\r\n if (jEl.length > 0) {\r\n let resolve = ElementListener.Loadables[el];\r\n delete ElementListener.Loadables[el]\r\n resolve(jEl);\r\n }\r\n }\r\n }\r\n ElementListener.DxBrokenSegmentFixOnElementAppend(e);\r\n \r\n });\r\n\r\n });\r\n }\r\n\r\n}","export default class SaveCancel {\r\n public static async SaveHandler(e, control : IJsProp) :Promise {\r\n if(e.cancel === undefined)\r\n {\r\n e.cancel = false;\r\n }\r\n if(typeof control !== 'undefined')\r\n {\r\n let retVal = null;\r\n if(!e.cancel&&control.saving !== null&&typeof control.saving === \"function\")\r\n {\r\n retVal= control.saving.apply(this, [e]);\r\n if (retVal instanceof Promise) {\r\n await retVal;\r\n }\r\n }\r\n if(!e.cancel&&control.saved !== null&&typeof control.saved === \"function\")\r\n {\r\n retVal = control.saved.apply(this, [e]);\r\n if (retVal instanceof Promise) {\r\n await retVal;\r\n }\r\n }\r\n }\r\n }\r\n\r\n public static async CancelHandler(e, control: IJsProp): Promise {\r\n if(e.cancel === undefined)\r\n {\r\n e.cancel = false;\r\n }\r\n if(typeof control !== 'undefined')\r\n {\r\n let retVal = null;\r\n if(!e.cancel&&control.canceling !== null&&typeof control.canceling === \"function\")\r\n {\r\n retVal = control.canceling.apply(this, [e]);\r\n if (retVal instanceof Promise) {\r\n await retVal;\r\n }\r\n }\r\n if(!e.cancel&&control.canceled !== null&& typeof control.canceled === \"function\")\r\n {\r\n retVal = control.canceled.apply(this, [e]);\r\n if (retVal instanceof Promise) {\r\n await retVal;\r\n }\r\n }\r\n }\r\n\r\n }\r\n}","import dxButton from 'devextreme/ui/button';\r\nimport Utils from 'pillar/Utils/Utils';\r\n\r\nenum WidgetContainerType {\r\n SPLIT_VIEW,\r\n SIDE,\r\n SIDE_BAR\r\n}\r\n\r\nexport default class SideWidgets {\r\n\r\n //This will be the delay it takes to close the full panel\r\n //if you update this also update the CSS Class Transition time aswell\r\n public static readonly TRANSITION_DELAY: number = 700;\r\n //this will be the width the sidebar is triggered at\r\n public static readonly SIDEBAR_TRIGGER_WIDTH: number = 1600;\r\n //this will keep track of the state if the SideWidgets is showing or not\r\n public static sideWidgetsHidden: boolean = false;\r\n\r\n //If we are in the middle of a transition will queue the next action for after the transition occurs\r\n //or when the promise is resolved\r\n public static transition: Promise = null;\r\n\r\n private static defaultType: WidgetContainerType = WidgetContainerType.SIDE;\r\n\r\n\r\n //Will Resolve once the transition is over\r\n private static async WaitForTransition(): Promise {\r\n //we only sleep here cause the transition occurs in CSS\r\n await Utils.Sleep(SideWidgets.TRANSITION_DELAY);\r\n }\r\n\r\n //One Page load we need to determin if the Sidebar should show or not\r\n private static async SetSideBarInitLoadState(): Promise {\r\n let sideWidgets = $(\"#sideBar\");\r\n let container = $(\"body\");\r\n let curretWidth = container.width();\r\n //if the width is less then or equal to the trigger width\r\n if (curretWidth <= SideWidgets.SIDEBAR_TRIGGER_WIDTH) {\r\n //Hide the sidewidgets\r\n SideWidgets.sideWidgetsHidden = true;\r\n sideWidgets.hide();\r\n //Show the side bar\r\n await SideWidgets.ShowHideSlideOutTabs(true);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n //this will hookup the resize observer which will listen for resize events\r\n public static AttachSideWidgetResizeObserver(e: IJsProp): void {\r\n let sideBar = $(\"#sideBar\");\r\n let resizeObserver = new ResizeObserver(entires => {\r\n for (let entry of entires) {\r\n\r\n //this will ensure that the new side is okay with if the side widgets should show or not\r\n const width = entry.contentRect.width;\r\n if (SideWidgets.sideWidgetsHidden) {\r\n if (width > SideWidgets.SIDEBAR_TRIGGER_WIDTH) {\r\n //The Width is greater then the trigger width but were still showing the side bar\r\n //so we need to hide the side bar and show the side widgets instead\r\n SideWidgets.CollapseShowHideWidgetsInstantly(e);\r\n SideWidgets.ShowHideSlideOutTabs(false);\r\n $('.tab-container').toggleClass('is-hidden', true);\r\n sideBar.show();\r\n SideWidgets.sideWidgetsHidden = false;\r\n SideWidgets.MoveWidgetsFromSideBarMode();\r\n $('.widget-panel-container').removeClass('widget-panel-container-sidebar');\r\n }\r\n }\r\n else\r\n {\r\n if (width <= SideWidgets.SIDEBAR_TRIGGER_WIDTH) {\r\n //this means were currently showing the side widgets but we should be display a side bar instead\r\n //so will go ahead and show the side bar instead\r\n SideWidgets.MoveWidgetsToSideBarMode();\r\n SideWidgets.ShowHideSlideOutTabs(true);\r\n sideBar.hide();\r\n SideWidgets.sideWidgetsHidden = true;\r\n $('.widget-panel-container').addClass('widget-panel-container-sidebar');\r\n\r\n }\r\n }\r\n }\r\n });\r\n resizeObserver.observe($(\"body\").get(0));\r\n }\r\n\r\n //When the SideWidgets load will go ahead and set the inital state\r\n public static async InitSideBar(e: IJsProp): Promise {\r\n\r\n SideWidgets.defaultType = e.ContainerType;\r\n if (SideWidgets.defaultType == WidgetContainerType.SIDE_BAR) {\r\n //Sometimes we always want to show the bar and never show the widgets on the side\r\n SideWidgets.MoveWidgetsToSideBarMode();\r\n await SideWidgets.ShowHideSlideOutTabs(true);\r\n\r\n }\r\n else {\r\n let asSideBar: boolean = await SideWidgets.SetSideBarInitLoadState();\r\n if (!asSideBar) {\r\n if (SideWidgets.defaultType == WidgetContainerType.SIDE) {\r\n $('.widget-panel-container').addClass('widget-panel-container-side');\r\n }\r\n else if (SideWidgets.defaultType == WidgetContainerType.SPLIT_VIEW) {\r\n $('.widget-panel-container').addClass('widget-panel-container-split');\r\n }\r\n }\r\n SideWidgets.AttachSideWidgetResizeObserver(e);\r\n }\r\n //the ui can do some weird stuff during the loading process so we hide them initalially\r\n //will remove this load-hide class which will make the widgets visible\r\n $('.widget-panel-container').removeClass('load-hide');\r\n }\r\n\r\n //this will go ahead and update the widget code that will be displayed\r\n public static async TabChange(e: IJsProp): Promise {\r\n if (!$('.tab-container').hasClass('tab-container-full-view')) {\r\n //unhide selected widget div\r\n let tab = $(\"#\" + e.TabID);\r\n if (tab.hasClass(\"is-open\")) {\r\n //if we select the tab but it's already open we should close it\r\n await SideWidgets.SlideIn();\r\n }\r\n else {\r\n var selectedWidgetDiv: any = document.querySelector('#' + e.TabContentID);\r\n\r\n let p: Promise = SideWidgets.SlideIn();\r\n var allWidgets: any = document.querySelectorAll('.widget-div');\r\n selectedWidgetDiv.style.display = 'unset';\r\n document.querySelector(`#${e.TabID} > .slideout-tab`).classList.remove('not-selected');\r\n let p2: Promise = SideWidgets.SlideOut(e.TabID);\r\n await p;\r\n allWidgets.forEach(function (widgetDiv) {\r\n if (widgetDiv !== selectedWidgetDiv) {\r\n widgetDiv.style.display = 'none';\r\n }\r\n });\r\n\r\n await p2;\r\n }\r\n }\r\n }\r\n\r\n //This will move all the widgets from the sidebar to the full panel\r\n private static MoveAllWidgetsFromSidePanels(): void {\r\n let widgetPanel = $('.widget-panel-container .content-present > div');\r\n let toWidgetContainers = widgetPanel.children();\r\n let fromWidgetContainers = $('.widget-panel-container .slideout > .widget-div:not(.widget-full-div) > .widget-content > div');\r\n\r\n for (let i = 0; i < fromWidgetContainers.length; i++) {\r\n toWidgetContainers[i].append(fromWidgetContainers[i]);\r\n }\r\n widgetPanel.addClass('widgetPanel');\r\n }\r\n\r\n //This will move all the widgets from the full panel to the side bar\r\n private static MoveAllWidgetsToSidePanels(): void {\r\n let widgetPanel = $('.widget-panel-container .content-present > div');\r\n if (widgetPanel.hasClass(\"widgetPanel\")) {\r\n let toWidgetContainers = $('.widget-panel-container .slideout > .widget-div:not(.widget-full-div) > .widget-content');\r\n let fromWidgetContainer = widgetPanel.find('.widget-container');\r\n for (let i = 0; i < toWidgetContainers.length; i++) {\r\n toWidgetContainers[i].append(fromWidgetContainer[i]);\r\n }\r\n widgetPanel.removeClass('widgetPanel');\r\n }\r\n }\r\n\r\n //this will move all the widgets to the side bar full panel instead of the right column\r\n private static MoveWidgetsToSideBarMode(): void {\r\n\r\n let widgetPanel = $('.widget-panel-container #sideBar');\r\n if (widgetPanel.hasClass('content-present')) {\r\n let toWidgetContainer = $('#fullPanel .slideout .widget-full-div .widget-content');\r\n let fromWidgetContainer = $('.widget-panel-container #sideBar > div');\r\n toWidgetContainer.append(fromWidgetContainer);\r\n widgetPanel.removeClass('content-present');\r\n toWidgetContainer.addClass('content-present');\r\n }\r\n \r\n }\r\n //this will move all the widgets from the side bar full panel instead of the right column\r\n private static MoveWidgetsFromSideBarMode(): void {\r\n let from = $('.widget-panel-container .slideout .widget-full-div .widget-content.content-present');\r\n if (from.length == 1) {\r\n let fromWidgetContainer = from.children(\".widgetPanel\");\r\n let toWidgetContainers = $('.widget-panel-container #sideBar');\r\n toWidgetContainers.append(fromWidgetContainer);\r\n from.removeClass('content-present');\r\n toWidgetContainers.addClass('content-present');\r\n }\r\n\r\n }\r\n\r\n private static async SlideoutFullPanelClose(button: dxButton, jsProp: IJsProp): Promise {\r\n let tab = $(\"#fullPanel\");\r\n if (tab.hasClass(\"is-open\")) {\r\n tab.css(\"transform\", \"\");\r\n button.option('icon', jsProp.ClosedIcon);\r\n await SideWidgets.SlideIn();\r\n SideWidgets.MoveAllWidgetsToSidePanels();\r\n }\r\n }\r\n\r\n\r\n private static async SlideoutFullPanel(button: dxButton, jsProp: IJsProp): Promise {\r\n let tab = $(\"#fullPanel\");\r\n if (tab.hasClass(\"is-open\")) {\r\n let p: Promise = SideWidgets.SlideoutFullPanelClose(button, jsProp);\r\n $('.tab-container').toggleClass('tab-container-full-view', false);\r\n }\r\n else {\r\n $('.tab-container').toggleClass('tab-container-full-view',true);\r\n var selectedWidgetDiv: any = document.querySelector('#fullPanelContent');\r\n let closed = SideWidgets.SlideInNoTransitionDelay();\r\n var allWidgets: any = document.querySelectorAll('.widget-div');\r\n selectedWidgetDiv.style.display = 'unset';\r\n if (closed) {\r\n await Utils.Sleep(SideWidgets.TRANSITION_DELAY / 2);\r\n }\r\n allWidgets.forEach(function (widgetDiv) {\r\n widgetDiv.style.display = 'none';\r\n });\r\n SideWidgets.MoveAllWidgetsFromSidePanels();\r\n document.querySelector(\"#fullPanel > .slideout-tab\").classList.remove('not-selected');\r\n selectedWidgetDiv.style.display = 'unset';\r\n let width = screen.width;\r\n if (width > 850) {\r\n width = 850;\r\n }\r\n\r\n $('.slideout-fullcontent').width(width);\r\n width += 60;\r\n tab.css(\"transform\", `translateX(-${width}px)`);\r\n button.option('icon', jsProp.OpenIcon);\r\n await SideWidgets.SlideOut(jsProp.FullTabID);\r\n }\r\n }\r\n //when we click on a tab\r\n public static TabClickEvent(e: IJsProp): void {\r\n if (SideWidgets.transition === null) {\r\n SideWidgets.transition = SideWidgets.TabChange(e);\r\n }\r\n else {\r\n //if a transition is still going we will wait till it's finished before triggering the next tabchange\r\n SideWidgets.transition = SideWidgets.transition.then(async x => await SideWidgets.TabChange(e));\r\n }\r\n }\r\n\r\n\r\n public static SlideoutClickEvent(e: IJsProp): void {\r\n \r\n }\r\n\r\n public static ExpandCollapsePanelClickEvent(e: DXButtonClickEvent, jsProp: IJsProp) {\r\n if (SideWidgets.transition === null) {\r\n SideWidgets.transition = SideWidgets.SlideoutFullPanel(e.component,jsProp);\r\n }\r\n else {\r\n SideWidgets.transition = SideWidgets.transition.then(async x => await SideWidgets.SlideoutFullPanel(e.component,jsProp));\r\n }\r\n }\r\n\r\n public static CollapseShowHideWidgetsInstantly(e: IJsProp): void {\r\n if (!SideWidgets.TabsAreVisible()) {\r\n $('.show-hide-button').text(e.ShowWidgetsText);\r\n if ($('.tab-container').hasClass('tab-container-full-view')) {\r\n let btn = $('.slideout-expand-collapse > .dx-button').dxButton('instance');\r\n let tab = $(\"#fullPanel\");\r\n if (tab.hasClass(\"is-open\")) {\r\n tab.css(\"transform\", \"\");\r\n btn.option('icon', e.ClosedIcon);\r\n SideWidgets.SlideInNoTransitionDelay();\r\n SideWidgets.MoveAllWidgetsToSidePanels();\r\n }\r\n $('.tab-container').toggleClass('is-hidden', true);\r\n $('.tab-container').toggleClass('tab-container-full-view', false);\r\n }\r\n else if (SideWidgets.SlideOutIsOpen()) {\r\n SideWidgets.SlideInNoTransitionDelay();\r\n $('.tab-container').toggleClass('is-hidden', true);\r\n }\r\n else {\r\n $('.tab-container').toggleClass('is-hidden', true);\r\n }\r\n }\r\n }\r\n\r\n public static async ShowHideWidgets(e: IJsProp): Promise {\r\n if (SideWidgets.TabsAreVisible()) {\r\n $('.show-hide-button').text(e.HideWidgetsText);\r\n $('.tab-container').toggleClass('is-hidden', false);\r\n }\r\n else {\r\n $('.show-hide-button').text(e.ShowWidgetsText);\r\n if ($('.tab-container').hasClass('tab-container-full-view')) {\r\n let btn = $('.slideout-expand-collapse > .dx-button').dxButton('instance');\r\n await SideWidgets.SlideoutFullPanelClose(btn, e);\r\n $('.tab-container').toggleClass('is-hidden', true);\r\n $('.tab-container').toggleClass('tab-container-full-view', false);\r\n }\r\n else if (SideWidgets.SlideOutIsOpen()) {\r\n await SideWidgets.SlideIn();\r\n $('.tab-container').toggleClass('is-hidden', true);\r\n }\r\n else {\r\n $('.tab-container').toggleClass('is-hidden', true);\r\n }\r\n }\r\n\r\n }\r\n\r\n public static ShowHideClickEvent(e: IJsProp): void {\r\n if (SideWidgets.transition === null) {\r\n SideWidgets.transition = SideWidgets.ShowHideWidgets(e);\r\n }\r\n else {\r\n SideWidgets.transition = SideWidgets.transition.then(async x => await SideWidgets.ShowHideWidgets(e));\r\n }\r\n }\r\n\r\n private static async ShowHideSlideOutTabs(showSlideoutTabs: boolean): Promise {\r\n $('.slideout-panel').toggleClass('slideout-panel-hidden', !showSlideoutTabs);\r\n if (showSlideoutTabs) {\r\n if (SideWidgets.defaultType == WidgetContainerType.SIDE) {\r\n $('.widget-panel-container').removeClass('widget-panel-container-side');\r\n }\r\n else if (SideWidgets.defaultType == WidgetContainerType.SPLIT_VIEW) {\r\n $('.widget-panel-container').removeClass('widget-panel-container-split');\r\n }\r\n\r\n $('.widget-panel-container').addClass('widget-panel-container-sidebar');\r\n SideWidgets.MoveAllWidgetsToSidePanels();\r\n }\r\n else {\r\n if (SideWidgets.defaultType == WidgetContainerType.SIDE) {\r\n $('.widget-panel-container').addClass('widget-panel-container-side');\r\n }\r\n else if (SideWidgets.defaultType == WidgetContainerType.SPLIT_VIEW) {\r\n $('.widget-panel-container').addClass('widget-panel-container-split');\r\n }\r\n\r\n $('.widget-panel-container').removeClass('widget-panel-container-sidebar');\r\n //right this is needed for when we collapse the full panel but\r\n //becomes an issue when we collapse the entire thing\r\n //since we want to hide everything on load\r\n $('.tab-container').removeClass('is-hidden');\r\n SideWidgets.MoveAllWidgetsFromSidePanels();\r\n \r\n if (SideWidgets.SlideOutIsOpen()) {\r\n await SideWidgets.SlideIn();\r\n }\r\n }\r\n }\r\n\r\n private static SlideOutIsOpen(): boolean {\r\n return $('.slideout-container-item').hasClass('is-open');\r\n }\r\n\r\n private static async SlideOut(tabID: string): Promise {\r\n if (SideWidgets.SlideOutNoTransitionDelay(tabID)) {\r\n await SideWidgets.WaitForTransition();\r\n }\r\n }\r\n\r\n private static async SlideIn(): Promise {\r\n if (SideWidgets.SlideInNoTransitionDelay()) {\r\n await SideWidgets.WaitForTransition();\r\n }\r\n }\r\n\r\n private static SlideOutNoTransitionDelay(tabID: string): boolean {\r\n var slideout = $('#' + tabID);\r\n if (!slideout.hasClass('is-open')) {\r\n slideout.addClass('is-open');\r\n $('.tab-container').toggleClass('is-open', true);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n\r\n private static SlideInNoTransitionDelay(): boolean{\r\n var allTabs = document.querySelectorAll('.slideout-tab');\r\n allTabs.forEach(function (widgetTab) {\r\n widgetTab.classList.remove('not-selected');\r\n });\r\n let container = $('.slideout-container-item');\r\n if (container.hasClass('is-open')) {\r\n $('.slideout-container-item').removeClass('is-open');\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private static TabsAreVisible(): boolean {\r\n return $('.tab-container').hasClass('is-hidden');\r\n }\r\n\r\n}","/**\r\n * @deprecated ArgType should be remove. I added it only for a bug which I fixed\r\n */\r\nexport default class ArgType\r\n{\r\n public jsProp : IJsProp;\r\n public e : any;\r\n public additional : Array;\r\n constructor(args : Array){\r\n if(args.length > 2)\r\n {\r\n this.jsProp = args[args.length - 1];\r\n this.e = args[0];\r\n this.additional = [];\r\n for(let i = 1;i < args.length - 1;i++)\r\n {\r\n this.additional.push(args[i]);\r\n }\r\n }\r\n else if(args.length > 1)\r\n {\r\n this.jsProp = args[args.length - 1];\r\n this.e = args[0];\r\n this.additional = null;\r\n }\r\n else if(args.length > 0)\r\n {\r\n this.jsProp = args[0];\r\n this.e = null\r\n this.additional = null;\r\n }\r\n else{\r\n this.jsProp = null;\r\n this.e = null;\r\n this.additional = null;\r\n }\r\n }\r\n}","import {IJsManager, IJsManagerProperties} from './JsManagerTypes';\r\nimport BaseJsManager from './BaseJsManager';\r\nexport default class JsManagerInstanceManager {\r\n private _createNewInstance : (identifier : string,commonProp : IJsProp) => BaseJsManager;\r\n constructor(newInstance : (identifier : string,commonProp : IJsProp) => BaseJsManager){\r\n this._createNewInstance = newInstance;\r\n }\r\n private SetInstance(identifier : string, instance : BaseJsManager) {\r\n window.PillarJs.JsManager.Instances[identifier] = instance;\r\n }\r\n //this will create a new JsManager instance a place it in the CommonProperties\r\n //WindowVariable\r\n private CreateNewJsManager(identifier, commonProp) : BaseJsManager {\r\n let jsManager = this._createNewInstance(identifier,commonProp);\r\n this.SetInstance(identifier,jsManager);\r\n return jsManager;\r\n }\r\n\r\n //if we don't have a jsManager with this identifier then create a new one else grab the exist one\r\n private GetJsManagerInstance(identifier : string): BaseJsManager {\r\n if (!window.PillarJs.JsManager.Instances.hasOwnProperty(identifier))\r\n {\r\n return this.CreateNewJsManager(identifier,null);\r\n }\r\n return window.PillarJs.JsManager.Instances[identifier];\r\n }\r\n public CreateNewJsManagerIfMissing(args: any[], jsManagerProperties: IJsManagerProperties): BaseJsManager {\r\n let jsManager: BaseJsManager = null;\r\n if (typeof jsManagerProperties.commonProps !== 'undefined' && jsManagerProperties.commonProps !== null) {\r\n //This will force recreate a jsManager if it already exists since this has commonProps\r\n jsManager = this.CreateNewJsManager(jsManagerProperties.id, jsManagerProperties.commonProps)\r\n }\r\n else {\r\n jsManager = this.GetJsManagerInstance(jsManagerProperties.id);\r\n }\r\n return jsManager;\r\n }\r\n}","\r\nimport { IJsManager, IJsManagerProperties} from './JsManagerTypes';\r\nexport default abstract class BaseJsManager implements IJsManager {\r\n public identifier : string;\r\n public commonProp : any;\r\n constructor(identifier : string, commonProp : IJsProp) {\r\n this.identifier = identifier;\r\n this.commonProp = commonProp;\r\n } \r\n\r\n\r\n public static ValidateJsEvents(jsManagerProperties: IJsManagerProperties): boolean {\r\n let valid: boolean = true;\r\n if (jsManagerProperties.events && Array.isArray(jsManagerProperties.events)){\r\n for (let i: number = 0; i < jsManagerProperties.events.length; i++) {\r\n if (jsManagerProperties.events[i]) {\r\n if (!jsManagerProperties.events[i].func) {\r\n console.error(\"detected a javascript function that does not exist.\");\r\n valid = false;\r\n }\r\n }\r\n else {\r\n console.error(\"detected empty event\");\r\n valid = false;\r\n }\r\n }\r\n }\r\n else {\r\n console.error(\"can't parse jsevents\");\r\n valid = false;\r\n }\r\n if (!valid) {\r\n console.error(jsManagerProperties); \r\n }\r\n\r\n return valid;\r\n }\r\n}","import { IJsManager, IJsEvent, IJsFunc, IJsManagerProperties } from './JsManagerTypes';\r\nexport default abstract class BaseJsFunc implements IJsFunc {\r\n public stopProcessingEvents: boolean;\r\n\r\n public jsManager: IJsManager;\r\n protected _callContext: any;\r\n protected retVals: Array;\r\n public properties: IJsManagerProperties;\r\n public args: any[];\r\n constructor(jsManager: IJsManager, callerContext: any, properties: IJsManagerProperties, args: any[]) {\r\n this.jsManager = jsManager;\r\n this._callContext = callerContext;\r\n this.stopProcessingEvents = false;\r\n this.properties = properties;\r\n this.args = args;\r\n }\r\n\r\n protected abstract ProcessEvent(e: IJsEvent): any;\r\n\r\n protected async ProcessJsEventsAsync(triggerPromise: Promise, remainingEvents: IJsEvent[]): Promise {\r\n try {\r\n let currentPromise : Promise = triggerPromise;\r\n let index : number = 0;\r\n do \r\n {\r\n let retValue = await Promise.resolve(currentPromise);\r\n this.ProcessCurrrentReturnValues(retValue);\r\n if (this.stopProcessingEvents)\r\n break;\r\n if(remainingEvents != null&&index < remainingEvents.length) {\r\n retValue = this.ProcessEvent(remainingEvents[index]);\r\n currentPromise = Promise.resolve(retValue);\r\n index++;\r\n }\r\n else{\r\n currentPromise = null;\r\n }\r\n }while(currentPromise != null);\r\n\r\n let retData = this.ProcessReturnValue();\r\n if (typeof retData !== 'undefined') {\r\n return retData;\r\n }\r\n }\r\n catch (ex) {\r\n //Since this method returns a promise and the caller returns it immediately\r\n //it exits the try and catch so btw this function throws and exception it will be unhandle\r\n //so we need to put a try catch in here aswell\r\n if (this.ProcessJsError(ex)) {\r\n throw ex;\r\n }\r\n }\r\n }\r\n\r\n public ProcessJsError(ex: any): boolean {\r\n let throwException : boolean = true;\r\n try {\r\n if (this.properties.errorEvents) {\r\n for (let i = 0; i < this.properties.errorEvents.length; i++) {\r\n //this is javascript, (undefined === false) != (!undefined)\r\n // (0 == false) != (0 === false)\r\n if (this.ProcessEvent(this.properties.errorEvents[i]) === false)\r\n throwException = false;\r\n }\r\n }\r\n }\r\n catch {\r\n\r\n }\r\n \r\n return throwException;\r\n }\r\n\r\n public ProcessJsEvents(): any{\r\n this.retVals = [];\r\n let retValue;\r\n let retValueIsPromiseStartIndex : number = null;\r\n try {\r\n for (let i = 0; i < this.properties.events.length; i++) {\r\n retValue = this.ProcessEvent(this.properties.events[i]);\r\n //If we return a Promise that means this whole thing is now async\r\n if (retValue instanceof Promise) {\r\n retValueIsPromiseStartIndex = i + 1\r\n break;\r\n }\r\n this.ProcessCurrrentReturnValues(retValue);\r\n if (this.stopProcessingEvents)\r\n break;\r\n }\r\n if (!retValueIsPromiseStartIndex) {\r\n let retData = this.ProcessReturnValue();\r\n if (typeof retData !== 'undefined') {\r\n return retData;\r\n }\r\n }\r\n }\r\n catch (ex) {\r\n if (this.ProcessJsError(ex)) {\r\n throw ex;\r\n }\r\n }\r\n if (retValueIsPromiseStartIndex) {\r\n let splicedEventsArray: IJsEvent[] = null;\r\n if (retValueIsPromiseStartIndex < this.properties.events.length) {\r\n splicedEventsArray = this.properties.events.splice(retValueIsPromiseStartIndex);\r\n }\r\n\r\n return this.ProcessJsEventsAsync(retValue, splicedEventsArray);\r\n }\r\n }\r\n\r\n protected ProcessCurrrentReturnValues(currentRetData) : void {\r\n //if it's undefined thenthe method did not return anything\r\n if (typeof currentRetData !== 'undefined') {\r\n\r\n //if there are already items in the retVals array then\r\n //that means we need to handle processing multiple returns\r\n if(this.retVals.length > 0)\r\n {\r\n //if there is already data and we returned null then ignore it\r\n //... this is kinda opionated maybe we want to reset the return value\r\n //cross that bridge when we get there\r\n if(currentRetData !== null){\r\n //we grab the last item in the list\r\n //this will tell us the type of return\r\n let lastItem = this.retVals[this.retVals.length - 1];\r\n if(Array.isArray(lastItem)&&Array.isArray(currentRetData))\r\n {\r\n //concatenate the array to the last object\r\n this.retVals.push(currentRetData);\r\n }\r\n else if (typeof lastItem === 'object' && typeof currentRetData === 'object') {\r\n //we will splice this object to the previous object\r\n this.retVals.push(currentRetData)\r\n }\r\n else{\r\n //the return items are not equal, this means will overwrite it\r\n this.retVals = [currentRetData];\r\n }\r\n\r\n }\r\n }\r\n else{\r\n //no other values we push whatever was return into here\r\n this.retVals.push(currentRetData);\r\n }\r\n }\r\n }\r\n protected ProcessReturnValue(): any {\r\n let item = undefined;\r\n if(this.retVals.length > 0)\r\n {\r\n item = this.retVals[0];\r\n if(this.retVals.length > 1)\r\n {\r\n if(Array.isArray(item))\r\n {\r\n item = [].concat.apply([],this.retVals);\r\n }\r\n else if (typeof item === 'object') {\r\n for(let i = 1;i < this.retVals.length;i++)\r\n {\r\n for (const k in this.retVals[i]) {\r\n item[k] = this.retVals[i][k];\r\n }\r\n }\r\n } \r\n \r\n }\r\n else{\r\n \r\n }\r\n }\r\n if (this.properties.retDataHandler) {\r\n this.properties.retDataHandler(item, this);\r\n }\r\n return item;\r\n }\r\n\r\n}","import BaseJsFunc from './BaseJsFunc';\r\nimport { IJsManager, IJsEvent, IJsManagerProperties } from './JsManagerTypes';\r\nexport default class JsFunc extends BaseJsFunc {\r\n constructor(jsManager: IJsManager, callerContext: any, properties: IJsManagerProperties, args: any[]) {\r\n super(jsManager,callerContext,properties,args);\r\n }\r\n\r\n protected override ProcessEvent(e: IJsEvent) : any{\r\n let currentArgs: Array = null;\r\n let prop = this.GetProp(e.props);\r\n if (prop) {\r\n currentArgs = [...this.args, prop];\r\n }\r\n else {\r\n currentArgs = [...this.args];\r\n }\r\n let retValue = e.func.apply(this._callContext, [...currentArgs]);\r\n return retValue;\r\n }\r\n\r\n private GetProp(prop) : any {\r\n //we can provide this as an argument so we can modified the commonproperty and\r\n //any other settings from the JsManager\r\n if(typeof prop === 'undefined') {\r\n prop = null;\r\n }\r\n if(typeof this.jsManager.commonProp === 'undefined') {\r\n this.jsManager.commonProp = null;\r\n }\r\n \r\n let retProp : any = {};\r\n if(this.jsManager.commonProp !== null)\r\n {\r\n retProp = {...this.jsManager.commonProp};\r\n }\r\n if(prop !== null)\r\n {\r\n Object.assign(retProp, {...prop})\r\n }\r\n retProp._jsManager = this.jsManager;\r\n retProp._jsFunc = this;\r\n return retProp;\r\n }\r\n}","import ArgType from \"pillar/types/ArgType\";\r\nimport JsManagerInstanceManager from \"./JsManagerInstanceManager\";\r\n\r\nimport {IJsEvent, IJsManagerProperties, IJsManager, IJsFunc} from './JsManagerTypes';\r\nimport BaseJsManager from \"./BaseJsManager\";\r\nimport JsFunc from \"./JsFunc\";\r\n\r\n\r\nexport default class JsManager extends BaseJsManager{\r\n private static _jsInstanceManager : JsManagerInstanceManager = new JsManagerInstanceManager((a,b) => new JsManager(a,b));\r\n constructor(identifier : string,commonProp : any){\r\n super(identifier,commonProp)\r\n }\r\n\r\n public static ProcessJsEvent(args: any[], jsManagerProperties: IJsManagerProperties) :any {\r\n let jsManager: BaseJsManager = JsManager._jsInstanceManager.CreateNewJsManagerIfMissing(args, jsManagerProperties);\r\n if (BaseJsManager.ValidateJsEvents(jsManagerProperties)) {\r\n let context = new JsFunc(jsManager,this,jsManagerProperties,args);\r\n return context.ProcessJsEvents();\r\n }\r\n }\r\n}","import BaseJsFunc from './BaseJsFunc';\r\nimport { IJsManager, IJsEvent, IJsManagerProperties} from './JsManagerTypes';\r\nexport default class JsFuncContextArg extends BaseJsFunc {\r\n constructor(jsManager: IJsManager, callerContext: any, properties: IJsManagerProperties, args: any[]) {\r\n super(jsManager,callerContext,properties,args);\r\n }\r\n\r\n protected override ProcessEvent(e: IJsEvent) : any {\r\n let retValue = e.func.apply(this._callContext, [this]);\r\n return retValue;\r\n }\r\n}","import BaseJsManager from \"./BaseJsManager\";\r\nimport JsManagerInstanceManager from \"./JsManagerInstanceManager\";\r\nimport {IJsEvent, IJsManagerProperties, IJsManager, IJsFunc} from './JsManagerTypes';\r\nimport JsFuncContextArg from \"./JsFuncContextArg\";\r\n\r\nexport default class JsManagerContextArg extends BaseJsManager {\r\n private static _jsInstanceManager : JsManagerInstanceManager = new JsManagerInstanceManager((a,b) => new JsManagerContextArg(a,b));\r\n\r\n\r\n constructor(identifier : string,commonProp : any) {\r\n super(identifier,commonProp);\r\n }\r\n\r\n public static ProcessJsEvent(args : any[], jsManagerProperties: IJsManagerProperties) : any {\r\n let jsManager: BaseJsManager = JsManagerContextArg._jsInstanceManager.CreateNewJsManagerIfMissing(args, jsManagerProperties);\r\n if (BaseJsManager.ValidateJsEvents(jsManagerProperties)) {\r\n let context = new JsFuncContextArg(jsManager,this,jsManagerProperties,args);\r\n return context.ProcessJsEvents();\r\n }\r\n } \r\n}","export interface ITemplateProcessing {\r\n GetTemplate(): JQuery | string;\r\n GetTemplateContent(): string;\r\n GetTemplateIds(): string[];\r\n processed: boolean;\r\n ProcessTemplate() : void;\r\n}\r\n\r\nexport default class TemplateProcessing implements ITemplateProcessing {\r\n protected _template : JQuery;\r\n protected _templateIdentifier : string;\r\n private _templateContent: string;\r\n public processed: boolean;\r\n\r\n\r\n constructor(identifier: string) {\r\n this._templateIdentifier = identifier;\r\n this._template = $('#' + identifier);\r\n this._templateContent = null;\r\n this.processed = false;\r\n }\r\n\r\n //Get the Content for a template if we \r\n public GetTemplateContent() : string {\r\n if(this._templateContent == null) \r\n {\r\n this._templateContent = this._template.eq(0).html();\r\n }\r\n return this._templateContent;\r\n }\r\n\r\n //Update Template Content based on any modifications\r\n protected UpdateTemplateContent(content : string) : void {\r\n this._templateContent = content;\r\n }\r\n\r\n public GetTemplateIds(): string[] {\r\n //We will include 1 Id by default\r\n return ['\"ags-\" + new DevExpress.data.Guid()'];\r\n }\r\n\r\n //External References for building the template\r\n public ProcessTemplate(): void {\r\n this.processed = true;\r\n }\r\n\r\n public GetTemplate() : JQuery | string {\r\n if(this._templateContent == null) \r\n {\r\n return this._template;\r\n }\r\n else{\r\n return this._templateContent;\r\n }\r\n\r\n }\r\n}","import { IPlaceHolder } from './DxTemplateHelpers';\r\nexport default class XTemplatePlaceHolderManager\r\n{\r\n public _formatDevExContent: IPlaceHolder[];\r\n private _templateIdentifier: string;\r\n constructor(templateIdentifier : string) {\r\n this._formatDevExContent = [];\r\n this._templateIdentifier = templateIdentifier;\r\n }\r\n\r\n public ToPlaceHolders(devExContent: RegExpMatchArray, content: string): string {\r\n let nonDevExContent: string = content;\r\n for (let i = 0; i < devExContent.length; i++) {\r\n let placeholder = `
`;\r\n this._formatDevExContent[i] = { placeholder: placeholder, devExContent: devExContent[i], devexID: null };\r\n nonDevExContent = nonDevExContent.replace(devExContent[i], placeholder);\r\n }\r\n return nonDevExContent;\r\n }\r\n\r\n public FillPlaceHolders(content: string): string {\r\n for (let i = 0; i < this._formatDevExContent.length; i++) {\r\n content = content.replace(this._formatDevExContent[i].placeholder, this._formatDevExContent[i].devExContent);\r\n }\r\n return content;\r\n }\r\n}","import TemplateProcessing from './TemplateProcessing';\r\nimport { WrapInFunctionTemplate, IPlaceHolder, WrapInFunctionTemplateWithArgs } from './DxTemplateHelpers';\r\nimport XTemplatePlaceHolderManager from './XTemplatePlaceHolderManager';\r\n\r\n\r\nexport default class AdditionalProcessing extends TemplateProcessing {\r\n static readonly MATCH_DEV_EX_CONTENT = /<%!function\\(\\){%>.*?(\\)%><%})\\(.*?(\\)%>)/gs//this will get each instance of a devex block\r\n static readonly DEV_EX_STRIP_ARGS = /(?<=<%!function\\(\\){%>).*},arguments\\[.+\\].*\\)%>.*(?=<%})/gs//this will get the content of each devex block\r\n static readonly DEV_EX_ARGS_ID = /(?<=<%!function\\(\\){%>.*},arguments\\[.+\\].*\\)%>.*<%}\\().*?(?=\\)%>)/gs;\r\n static readonly DEV_EX_ARGS_ERP_REPLACE_ID = /(?<=<%=arguments\\[)0(?=\\]%>)/gs;\r\n static readonly DEV_EX_ARGS_REPLACE_ID = /(?<=arguments\\[)0(?=\\]\\)%>)/;\r\n\r\n private _requiredElementsToReformat: number;\r\n private _placeHolderManager: XTemplatePlaceHolderManager;\r\n constructor(identifier: string, requiredElementsToReformat : number = 1) {\r\n super(identifier);\r\n this._requiredElementsToReformat = requiredElementsToReformat;\r\n }\r\n\r\n public override ProcessTemplate(): void {\r\n super.ProcessTemplate();\r\n this.ReformatTemplate();\r\n }\r\n\r\n public override GetTemplateIds(): string[] {\r\n \r\n if (this._placeHolderManager?._formatDevExContent) {\r\n let res: string[] = [];\r\n for (let i: number = 0; i < this._placeHolderManager._formatDevExContent.length; i++) {\r\n res[i] = this._placeHolderManager._formatDevExContent[i].devexID;\r\n }\r\n return res;\r\n }\r\n return super.GetTemplateIds();\r\n }\r\n\r\n private ReformatDevexContent() : void {\r\n for (let i: number = 0; i < this._placeHolderManager._formatDevExContent.length;i++)\r\n {\r\n let str = this._placeHolderManager._formatDevExContent[i].devExContent;\r\n this._placeHolderManager._formatDevExContent[i].devexID = str.match(AdditionalProcessing.DEV_EX_ARGS_ID)[0];\r\n str = str.match(AdditionalProcessing.DEV_EX_STRIP_ARGS)[0];\r\n if(i > 0)\r\n {\r\n str = str.replace(AdditionalProcessing.DEV_EX_ARGS_ERP_REPLACE_ID, i.toString());\r\n str = str.replace(AdditionalProcessing.DEV_EX_ARGS_REPLACE_ID, i.toString());\r\n } \r\n this._placeHolderManager._formatDevExContent[i].devExContent = str;\r\n }\r\n }\r\n\r\n private ReformatTemplate() : void {\r\n let templateContent : string = this.GetTemplateContent();\r\n let devExContent : RegExpMatchArray = templateContent.match(AdditionalProcessing.MATCH_DEV_EX_CONTENT);\r\n if (devExContent != null && devExContent.length >= this._requiredElementsToReformat) {\r\n this._placeHolderManager = new XTemplatePlaceHolderManager(this._templateIdentifier);\r\n let content = this._placeHolderManager.ToPlaceHolders(devExContent, templateContent);\r\n this.ReformatDevexContent();\r\n content = this._placeHolderManager.FillPlaceHolders(content);\r\n //this I can add that fill code here\r\n this.UpdateTemplateContent(content);\r\n }\r\n }\r\n}","import {IRenderOptions, IRenderModel } from './DxTemplateHelpers';\r\n\r\nexport interface IXTemplateEventData extends IRenderOptions {\r\n itemIndex : number;\r\n parentContainer: JQuery;\r\n customTemplateIds: string[];\r\n GenerateDxTemplateId(): string;\r\n}\r\n\r\nexport class XTemplateEventData implements IXTemplateEventData {\r\n public itemIndex : number;\r\n public parentContainer: JQuery;\r\n public container: any;\r\n public model: IRenderModel;\r\n public change: any;\r\n public customTemplateIds: string[];\r\n\r\n\r\n private SetItemIndex(options: IRenderOptions & any) : void {\r\n this.itemIndex = null;\r\n if (options.index !== null) {\r\n this.itemIndex = options.index;\r\n }\r\n else if (this.model.rowIndex !== null) {\r\n this.itemIndex = this.model.rowIndex;\r\n }\r\n }\r\n\r\n private CopyContainer(options: IRenderOptions): void {\r\n //since some of these properties are passed in as reference we need to make a shallow copy\r\n //otherwise by the time the template is resolved it will use whatever the last template loaded was\r\n this.container = $(options.container);\r\n\r\n let itemData = { ...options?.model?.data };//first will make a shallow copy of the data property in model\r\n this.model = { ...options?.model };//will make a shallow copy of the model itself\r\n this.model.data = itemData;//then will set the data property reference to our new copy to the itemdata\r\n this.SetItemIndex(options);\r\n\r\n\r\n this.parentContainer = $(this.model.component);\r\n\r\n //I'm not to sure what this is for, will keep it as a reference\r\n this.change = options.change;\r\n }\r\n\r\n\r\n constructor(options: IRenderOptions) {\r\n this.customTemplateIds = null\r\n this.CopyContainer(options);\r\n }\r\n\r\n public GenerateDxTemplateId(): string {\r\n //return `dx-${DevExpress.Data.}`\r\n return `dx-${new window[\"DevExpress\"].data.Guid()}`;\r\n }\r\n}","import { IXTemplateEventData } from './xTemplateEventData';\r\nimport { IRawProperty } from './RawProperty';\r\n\r\n\r\nexport type IRenderModel = AnyProperties & {\r\n data: any\r\n component: any;\r\n}\r\n\r\n\r\nexport interface IRenderOptions {\r\n container: JQuery;\r\n model: IRenderModel;\r\n change: any;\r\n}\r\n\r\nexport interface ITemplateEngine {\r\n compile(element: any): any;\r\n render(template: any, data: any, index?: any): any;\r\n} \r\n\r\nexport interface IDxTemplate {\r\n render(options: IRenderOptions): any;\r\n}\r\n\r\nexport interface IXTemplateSettings {\r\n SetTemplateEventFunc: (event: IXTemplateEventData) => Promise;\r\n TemplateIdentifier: string;\r\n}\r\n\r\n//DevExtreme Expected Properties\r\nexport interface IDXTemplateManager {\r\n allowRenderToDetachedContainer: boolean;\r\n skipTemplates: boolean;\r\n isAsyncTemplate: boolean;\r\n}\r\n\r\nexport interface IPlaceHolder {\r\n placeholder: string;\r\n devExContent: string;\r\n devexID: string;\r\n}\r\n\r\nfunction NormalizeData(templateData: {}): {} {\r\n let newNomalizedObject: {} = {};\r\n Object.keys(templateData).forEach(key => {\r\n newNomalizedObject[key] = Normalize(templateData[key]);\r\n });\r\n return newNomalizedObject;\r\n}\r\n\r\nfunction Normalize(data: any): any {\r\n //since the placeholder fills in just content some data types need to be wrapped\r\n //IDK if there is a better way of handling this but it's kinda nightmarish\r\n switch (typeof data) {\r\n case \"boolean\":\r\n return data;\r\n case \"number\":\r\n return data;\r\n case \"bigint\":\r\n return data;\r\n case \"symbol\":\r\n break;\r\n case \"string\":\r\n return `\"${data}\"`;\r\n case \"function\":\r\n return data;\r\n case \"object\":\r\n if (Array.isArray(data)) {\r\n let newData = []\r\n data.forEach(d => newData.push(Normalize(d)));\r\n return newData;\r\n }\r\n let rawProp: IRawProperty = data;\r\n if (rawProp?.getRawValue) {\r\n return rawProp.getRawValue();\r\n }\r\n return \"null\";\r\n default:\r\n case \"undefined\":\r\n return \"null\";\r\n }\r\n}\r\n\r\nexport function RenderCustomTemplateAsString(templateInput: JQuery | string, templateData: {}) : string {\r\n let template_engine: ITemplateEngine = window.Pillardx.getCurrentTemplateEngine();\r\n let data = NormalizeData(templateData);\r\n\r\n let template = template_engine.compile(templateInput);\r\n let result = template_engine.render(template, data);\r\n return result;\r\n}\r\n\r\nexport function WrapInFunctionTemplate(template : string): string {\r\n return `<%!function(){%>${template}<%}()%>`;\r\n}\r\nexport function WrapInFunctionTemplateWithArgs(template: string, args: string[]) {\r\n let sb = [];\r\n sb.push(\"<%!function(){%>\");\r\n sb.push(template);\r\n sb.push(\"<%}\");\r\n sb.push(\"(\");\r\n for (let i = 0; i < args.length; i++) {\r\n sb.push(args[i]);\r\n if (i < args.length - 1) {\r\n sb.push(',');\r\n }\r\n }\r\n sb.push(\")%>\");\r\n return sb.join(\"\");\r\n}\r\nconst FIND_PLACEHOLDER = /(?!(<%!function\\(\\){%>))((<%((=|-))arguments\\[\\d+?\\]%>))/gs;\r\nconst FIND_PLACEHOLDER_WITH_STRING = /('|\"|`)(?!(<%!function\\(\\){%>))((<%((=|-))arguments\\[\\d+?\\]%>))('|\"|`)/gs;\r\nexport function FixArguments(str: string): string {\r\n let matches = str.match(FIND_PLACEHOLDER_WITH_STRING);\r\n if (matches && matches.length > 0) {\r\n for (let j: number = 0; j < matches.length; j++) {\r\n let content = matches[j].trim();\r\n content = content.substr(4, content.length - (4 + 3));\r\n str = str.replace(FIND_PLACEHOLDER_WITH_STRING, content);\r\n }\r\n }\r\n matches = str.match(FIND_PLACEHOLDER);\r\n if (matches && matches.length > 0) {\r\n for (let j: number = 0; j < matches.length; j++) {\r\n let content = matches[j].trim();\r\n content = content.substr(3, content.length - (3 + 2));\r\n str = str.replace(FIND_PLACEHOLDER, content);\r\n }\r\n }\r\n return str;\r\n}","import { IRenderOptions, IDxTemplate } from './DxTemplateHelpers';\r\nimport { IXTemplateEventData } from './xTemplateEventData';\r\nimport { ITemplateProcessing } from './TemplateProcessing';\r\n\r\nexport interface ITemplateBuilder {\r\n BuildTemplate(): void;\r\n GetTemplate(): JQuery | string;\r\n}\r\n\r\nexport default class TemplateBuilder implements ITemplateBuilder {\r\n protected _renderOptions: IRenderOptions;\r\n protected _templateProcessing: ITemplateProcessing;\r\n constructor(options : IRenderOptions) {\r\n this._renderOptions = options;\r\n }\r\n\r\n public ProcessTemplateForInstance(templateData: IXTemplateEventData): void {}\r\n\r\n public AttachTemplate(templateProcessing: ITemplateProcessing): void {\r\n this._templateProcessing = templateProcessing;\r\n }\r\n\r\n public GetTemplate(): JQuery | string {\r\n return this._templateProcessing.GetTemplate();\r\n }\r\n\r\n public BuildTemplate(): void {\r\n let template = this.GetTemplate();\r\n let templateCreator: IDxTemplate = window.Pillardx.createTemplate(template);\r\n let result = templateCreator.render(this._renderOptions);\r\n }\r\n}","import { IXTemplateEventData } from './xTemplateEventData';\r\nimport { ITemplateEngine, IRenderOptions, RenderCustomTemplateAsString, WrapInFunctionTemplate, WrapInFunctionTemplateWithArgs } from './DxTemplateHelpers';\r\nimport TemplateBuilder from './TemplateBuilder';\r\nimport { ITemplateProcessing } from './TemplateProcessing';\r\nimport XTemplatePlaceHolderManager from './XTemplatePlaceHolderManager';\r\nimport { FixArguments } from './DxTemplateHelpers';\r\nexport default class CustomTemplateBuilder extends TemplateBuilder {\r\n static readonly MATCH_COMPONENT = /(?:<%[^=|-]).+?%>([^%%]*)(?=%>)/gs;\r\n private _templateIdentifier: string;\r\n private _templateData: {};\r\n private _templateContent: string;\r\n private _templateIds : string[]\r\n constructor(templateIdentifier : string, options: IRenderOptions){\r\n super(options);\r\n this._templateIdentifier = templateIdentifier;\r\n }\r\n\r\n public override AttachTemplate(templateProcessing: ITemplateProcessing) {\r\n this._templateContent = templateProcessing.GetTemplateContent();\r\n this._templateIds = templateProcessing.GetTemplateIds();\r\n }\r\n\r\n public override GetTemplate(): JQuery | string {\r\n return this._templateContent;\r\n }\r\n\r\n public override ProcessTemplateForInstance(templateData : IXTemplateEventData): void {\r\n this._templateData = templateData.model;\r\n this.ApplyCustomFuncArgs(templateData.customTemplateIds);\r\n this.FillDXComponentsPlaceHolders();\r\n this.ApplyFunctionBlock();\r\n }\r\n\r\n private ApplyFunctionBlock(): void {\r\n this._templateContent = WrapInFunctionTemplateWithArgs(this._templateContent, this._templateIds);\r\n }\r\n\r\n private ApplyCustomFuncArgs(args : string[]): void { \r\n if (args != null) {\r\n let c = this._templateIds;\r\n this._templateIds = [];\r\n let max: number;\r\n if (c.length > args.length) {\r\n max = c.length;\r\n }\r\n else {\r\n max = args.length;\r\n }\r\n for (let i: number = 0; i < max; i++) {\r\n if (i < args.length) {\r\n this._templateIds[i] = `\"${args[i]}\"`;\r\n }\r\n else if(i < c.length) {\r\n this._templateIds[i] = c[i];\r\n }\r\n }\r\n }\r\n else {\r\n this._templateIds = [...this._templateIds];\r\n }\r\n }\r\n\r\n private FillDXComponentsPlaceHolders(): void {\r\n //DevExtreme has limitations in place with it's template code the Contents in the createComponent break the template code so we need to replace it before devextreme has a look at it\r\n //We need to provide a copy of the template because that's what devextreme is expecting. devextreme will copy the template via a Jquery text / html template to create the element\r\n let templateContent: string = this._templateContent;//this.GetTemplateContent();\r\n let match: RegExpMatchArray = templateContent.match(CustomTemplateBuilder.MATCH_COMPONENT);//this will get the DevExpress.aspnet.createComponent method inside the template using regex\r\n\r\n if (match != null&&match.length > 0) {\r\n let placeHolderManager = new XTemplatePlaceHolderManager(this._templateIdentifier);\r\n let content = placeHolderManager.ToPlaceHolders(match, templateContent);\r\n\r\n //let's go ahead and fill in the place holders in the components\r\n for (let i: number = 0; i < placeHolderManager._formatDevExContent.length; i++) {\r\n let dxContent = placeHolderManager._formatDevExContent[i].devExContent;\r\n dxContent = dxContent.substring(2);\r\n dxContent = FixArguments(dxContent);\r\n let templateString = WrapInFunctionTemplate(dxContent);\r\n\r\n let result = RenderCustomTemplateAsString(templateString, this._templateData);\r\n placeHolderManager._formatDevExContent[i].devExContent = `<%${result}`;\r\n }\r\n\r\n //let's put the dx components back into there placeholders\r\n this._templateContent = placeHolderManager.FillPlaceHolders(content);\r\n }\r\n\r\n }\r\n}","import {ITemplateProcessing} from './TemplateProcessing';\r\nimport { IXTemplateEventData, XTemplateEventData } from './xTemplateEventData';\r\nimport { IRenderOptions, IXTemplateSettings, RenderCustomTemplateAsString } from './DxTemplateHelpers';\r\nimport TemplateBuilder, { ITemplateBuilder} from './TemplateBuilder';\r\nimport CustomTemplateBuilder from './CustomTemplateBuilder';\r\nimport XTemplateManager from './xTemplateManager';\r\n\r\n\r\n\r\n\r\nexport default class XTemplate {\r\n private _settings: IXTemplateSettings;\r\n private _templateEvent: IXTemplateEventData;\r\n private _templateBuilder: TemplateBuilder;\r\n constructor(settings: IXTemplateSettings) {\r\n this._settings = settings;\r\n }\r\n\r\n private async SetCustomModelData(): Promise {\r\n let setTemplateEventFunc = this._settings.SetTemplateEventFunc;\r\n if (typeof setTemplateEventFunc === 'function') {\r\n await Promise.resolve(setTemplateEventFunc(this._templateEvent));\r\n }\r\n }\r\n\r\n private async PrepareDataAndTemplate(templateProcessing: ITemplateProcessing): Promise {\r\n let p: Promise = this.SetCustomModelData();\r\n if (!templateProcessing.processed) {\r\n templateProcessing.ProcessTemplate();\r\n }\r\n await p;\r\n this._templateBuilder.AttachTemplate(templateProcessing);\r\n this._templateBuilder.ProcessTemplateForInstance(this._templateEvent);\r\n }\r\n\r\n\r\n public InitDxTemplateManager(options: IRenderOptions) : void{\r\n this._templateEvent = new XTemplateEventData(options);\r\n this._templateBuilder = new CustomTemplateBuilder(this._settings.TemplateIdentifier,this._templateEvent);\r\n }\r\n\r\n public async RenderAsStringAsync(templateProcessing: ITemplateProcessing): Promise {\r\n await this.PrepareDataAndTemplate(templateProcessing);\r\n let template = this._templateBuilder.GetTemplate();\r\n return RenderCustomTemplateAsString(template,this._templateEvent.model);\r\n }\r\n\r\n public async RenderAsync(templateProcessing: ITemplateProcessing): Promise {\r\n await this.PrepareDataAndTemplate(templateProcessing);\r\n this._templateBuilder.BuildTemplate();\r\n }\r\n}","import { ITemplateProcessing } from './TemplateProcessing';\r\nimport { IXTemplateEventData } from './xTemplateEventData'\r\nimport { IDXTemplateManager, IXTemplateSettings, IRenderOptions } from './DxTemplateHelpers';\r\nimport AdditionalProcessing from './AdditionalProcessing';\r\nimport XTemplate from './xTemplate';\r\n\r\n\r\n\r\n\r\n\r\nexport default class XTemplateManager implements IDXTemplateManager {\r\n public settings: IXTemplateSettings;\r\n private _templateProcessor: ITemplateProcessing;\r\n\r\n\r\n\r\n public allowRenderToDetachedContainer: boolean;\r\n public skipTemplates: boolean;\r\n public isAsyncTemplate: boolean;\r\n\r\n constructor(settings: IXTemplateSettings) {\r\n this.allowRenderToDetachedContainer = false;\r\n this.skipTemplates = false;\r\n this.isAsyncTemplate = true;\r\n this.settings = settings;\r\n this._templateProcessor = new AdditionalProcessing(settings.TemplateIdentifier);\r\n }\r\n\r\n public static ParseArguments(args: any[]): IRenderOptions {\r\n if (args.length == 1) {\r\n return args[0];\r\n }\r\n else if (args.length > 2) {\r\n let options: IRenderOptions = {\r\n container: args[0],\r\n model: args[1],\r\n change: args[2],\r\n //index: \r\n };\r\n return options;\r\n }\r\n throw \"FailedToParseRenderOptions\";\r\n }\r\n\r\n\r\n public render(...args: any[]): void {\r\n let templateInstance: XTemplate = new XTemplate(this.settings);\r\n templateInstance.InitDxTemplateManager(XTemplateManager.ParseArguments(args));\r\n templateInstance.RenderAsync(this._templateProcessor);\r\n }\r\n\r\n public static CreateTemplateHandler(settings: IXTemplateSettings): XTemplateManager {\r\n return new XTemplateManager(settings);\r\n }\r\n\r\n public static async HandleNestedTemplate(e: IXTemplateEventData, settings: IJsProp & IXTemplateSettings) : Promise {\r\n let templateInstance: XTemplate = new XTemplate(settings);\r\n templateInstance.InitDxTemplateManager(e);\r\n let additionalProcessing: AdditionalProcessing = new AdditionalProcessing(settings.TemplateIdentifier,0);\r\n let templateString = await templateInstance.RenderAsStringAsync(additionalProcessing);\r\n e.model[`${settings.TemplateIdentifier}`] = templateString;\r\n }\r\n}","\r\nimport sheet from 'pillar/Utils/AgsControlsDynamicStyleSheet'\r\nimport { IXTemplateEventData } from 'pillar/HtmlTemplate/xTemplateEventData';\r\n\r\nexport default class BasePage {\r\n\r\n public static async AdminMenuTemplateItemLoadAsync(e: IXTemplateEventData, jsProp: IJsProp): Promise {\r\n if (typeof e.model.CssClass !== 'undefined' && e.model.CssClass != null && (typeof e.model.CaptionText === 'undefined' || e.model.CaptionText == null)) {\r\n e.model.CaptionText = ` 0) {\r\n //Clear submenu \r\n $('.left-admin-submenu').empty();\r\n // Add submenu items\r\n for (let i = 0; i < groupLabels.length; ++i) {\r\n // Create group container\r\n $('.left-admin-submenu').append(``);\r\n\r\n // Add group label for that container\r\n $(`#submenuGroup-${i}`).append(`
${groupLabels[i].CaptionText}
`);\r\n\r\n // Get children of group pabel to output menu items \r\n let menuItems = groupLabels[i].Items;\r\n for (let j = 0; j < menuItems.length; ++j) {\r\n if (menuItems[j].ControlRefId === jsProp.SelectedControlRefId) {\r\n $(`#submenuGroup-${i}`).append(`${menuItems[j].CaptionText}`)\r\n }\r\n else {\r\n $(`#submenuGroup-${i}`).append(`${menuItems[j].CaptionText}`)\r\n }\r\n }\r\n }\r\n \r\n // Show custom submenu\r\n $('#main-admin-submenu-container').css('display', 'flex');\r\n $('#right-admin-titlebar-submenu-dialog').css('display', 'block');\r\n }\r\n // Else do nothing - if it has a link and no children it should automaticticaly go to that link\r\n }\r\n\r\n}\r\n\r\n","\r\nimport ICrudContainer from \"pillar/crud/ICrudContainer\";\r\nimport { IUpdateType } from \"pillar/types/UpdateType\";\r\n\r\nexport default abstract class BaseDetailRowCellTemplateClientSideCrud implements ICrudContainer {\r\n public _formKey: string;\r\n private _updateEvents: Record;\r\n constructor(key: string) {\r\n this._formKey = key;\r\n this._updateEvents = {};\r\n }\r\n\r\n _fetchEditFormData(callback): void {\r\n //let endpoint = this._endpoints.READ_CONTENT;\r\n //if (endpoint != null) {\r\n // LegacyDraftController.ReadCallJson(endpoint.FullEndPoint, this._getDetailsRowParams())\r\n // .done(result => {\r\n // callback(result);\r\n // });\r\n //}\r\n }\r\n\r\n public AttachField(fieldName: string,source: T) : void {\r\n this._updateEvents[fieldName] = source;\r\n }\r\n\r\n protected abstract UpdateControl(c: T, record: IUpdateType): Promise;\r\n\r\n\r\n public _update(record: IUpdateType): any {\r\n if (record.Field.FieldName in this._updateEvents) {\r\n this.UpdateControl(this._updateEvents[record.Field.FieldName], record);\r\n }\r\n \r\n }\r\n}","import { ColumnEditCellTemplateData } from \"devextreme/ui/data_grid\";\r\nimport { IUpdateType } from \"../../types/UpdateType\";\r\nimport BaseDetailRowCellTemplateClientSideCrud from './BaseDetailRowCellTemplateClientSideCrud';\r\n\r\nexport default class DetailRowEditCellTemplateClientSideCrud extends BaseDetailRowCellTemplateClientSideCrud\r\n{\r\n constructor(key: string) {\r\n super(key);\r\n\r\n }\r\n\r\n public AttachColumnEditCellTemplate(fieldName: string, control: ColumnEditCellTemplateData) {\r\n this.AttachField(fieldName, control);\r\n }\r\n\r\n protected override async UpdateControl(c: ColumnEditCellTemplateData, record: IUpdateType): Promise {\r\n if (c.setValue) {\r\n c.setValue(record.value, record.text);\r\n }\r\n }\r\n}","import DetailRowItemBuilder, {IDetailsItemField} from \"./DetailRowItemBuilder\";\r\nimport {GetKeyFromItemData, GetKeyFromEventData } from 'pillar/Utils/TemplateHelper';\r\nimport ArgType from \"pillar/types/ArgType\";\r\nimport { IBaseControlEditFormItem} from \"../AgsEditForm/EditFormItems/base/BaseControlEditFormItem\";\r\nimport DetailRowEditCellTemplateClientSideCrud from \"./DetailRowEditCellTemplateClientSideCrud\";\r\nimport { IUpdateType } from \"pillar/types/UpdateType\";\r\nimport ICrudContainer from \"pillar/crud/ICrudContainer\";\r\n\r\nexport default class OldCellInstanceManager {\r\n /**\r\n * @deprecated Use OnCellTemplate_InitAsync\r\n */\r\n static OnCellTemplate_Init(itemData, itemIndex, itemElement, mainElement, jsProp: IJsProp & IDetailsItemField): any {\r\n let a: ArgType = new ArgType([itemData,jsProp]);\r\n let key: string = GetKeyFromItemData(itemData);\r\n if (key !== null&&typeof jsProp._jsManager !== 'undefined') {\r\n if (typeof jsProp._jsManager._rows === 'undefined') {\r\n jsProp._jsManager._rows = {};\r\n }\r\n let row: DetailRowItemBuilder = null;\r\n if (!(key in jsProp._jsManager._rows)) {\r\n let dxContainer: any = null;\r\n if (typeof jsProp._jsManager.dxContainer !== 'undefined') {\r\n dxContainer = jsProp._jsManager.dxContainer;\r\n }\r\n row = new DetailRowItemBuilder(dxContainer);\r\n row._formKey = key;\r\n row._crud = a.jsProp.CreateClientSideCrudObjectFunc({ ...a.jsProp, formKey: row._formKey });\r\n jsProp._jsManager._rows[key] = row;\r\n }\r\n else {\r\n row = jsProp._jsManager._rows[key];\r\n }\r\n jsProp._jsManager._rowToMap = row;\r\n row._validationGroup = jsProp.ValidationGroup;\r\n let cell: IBaseControlEditFormItem = row.AddCellItem(jsProp);\r\n let mapEventToCrud: DetailRowEditCellTemplateClientSideCrud = row._crud as DetailRowEditCellTemplateClientSideCrud;\r\n if (mapEventToCrud.AttachColumnEditCellTemplate) {\r\n mapEventToCrud.AttachColumnEditCellTemplate(cell.Field.FieldName, itemData);\r\n }\r\n row.details_initalValuesFromColumns(a);\r\n cell._populateTemplateValues(itemData, jsProp);\r\n\r\n return itemData;\r\n }\r\n }\r\n static OnCellControl_Init(...args) : void {\r\n let a: ArgType = new ArgType(args);\r\n let field: IBaseControlEditFormItem = OldCellInstanceManager.ElementMap(a);\r\n if (field !== null) {\r\n field._initEvent(a.e);\r\n field._setState(true);\r\n }\r\n }\r\n static OnCellControlUnFocus(...args): void {\r\n \r\n }\r\n static OnCellControlValueChanged(...args): void {\r\n let a: ArgType = new ArgType(args);\r\n let field: IBaseControlEditFormItem = OldCellInstanceManager.GetField(a);\r\n if (field !== null) {\r\n let update: IUpdateType = a.e;\r\n update.Field = a.jsProp.Field;\r\n field.ValueUpdatedEvent(a.e);\r\n }\r\n }\r\n static OnContainerInit(...args): void {\r\n let a: ArgType = new ArgType(args);\r\n if (a.jsProp !== null&&a.e !== null&&typeof a.e.component !== 'undefined') {\r\n a.jsProp._jsManager.dxContainer = a.e.component;\r\n }\r\n }\r\n public static CreateCrudObject(invokerArgs : any,jsProp: IJsProp): ICrudContainer {\r\n return new DetailRowEditCellTemplateClientSideCrud(invokerArgs.formKey);\r\n }\r\n\r\n//Helpers\r\n\r\n public static ElementMap(a: ArgType): IBaseControlEditFormItem {\r\n let row: DetailRowItemBuilder = a.jsProp._jsManager._rowToMap;\r\n let field: IBaseControlEditFormItem = row.GetField(a.jsProp.Field);\r\n if (typeof a.jsProp._jsManager !== 'undefined') {\r\n if (typeof a.jsProp._jsManager._elementMap === 'undefined') {\r\n a.jsProp._jsManager._elementMap = {};\r\n }\r\n a.jsProp._jsManager._elementMap[a.e.component._$element.attr('id')] = field;\r\n }\r\n return field;\r\n }\r\n static GetField(a: ArgType): IBaseControlEditFormItem {\r\n let key = a.e.element.attr('id');\r\n if (key in a.jsProp._jsManager._elementMap) {\r\n return a.jsProp._jsManager._elementMap[key];\r\n }\r\n return null;\r\n }\r\n\r\n public static ResetJsManagerValuesFromPars(a : ArgType): void {\r\n if (typeof a.jsProp._jsManager !== 'undefined') {\r\n OldCellInstanceManager.ResetJsManagerValues(a.jsProp._jsManager);\r\n }\r\n }\r\n\r\n public static ResetJsManagerValues(jsManager: any) : void {\r\n jsManager._rowToMap = null;\r\n jsManager._elementMap = {};\r\n jsManager._rows = {};\r\n }\r\n}","import {IXTemplateEventData } from 'pillar/HtmlTemplate/xTemplateEventData';\r\n\r\nexport function GetKeyFromItemData(itemData: any) {\r\n let keyType: string = typeof itemData.key;\r\n if (keyType === 'string') {\r\n return itemData.key;\r\n }\r\n else if (keyType === 'object') {\r\n if (typeof itemData.key.__KEY__ !== 'undefined') {\r\n return itemData.key.__KEY__;\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nexport function GetKeyFromEventData(e: IXTemplateEventData) : string {\r\n let key = e.model.key;\r\n let keyType: string = typeof key;\r\n if (keyType === 'string') {\r\n return key;\r\n }\r\n else if (keyType === 'object') {\r\n if (typeof key.__KEY__ !== 'undefined') {\r\n return key.__KEY__;\r\n }\r\n }\r\n return null;\r\n}","import IDetailRowCrud from 'pillar/crud/IDetailRowCrud';\r\nimport { IUpdateType } from 'pillar/types/UpdateType';\r\nimport {IRenderModel} from 'pillar/HtmlTemplate/DxTemplateHelpers';\r\nimport IDraftStatus from 'pillar/types/IDraftStatus';\r\n\r\nexport default class CellClientSideDataManager implements IDetailRowCrud \r\n{ \r\n public _dataKey: string;\r\n private _e : any;\r\n constructor(e : any) {\r\n this._e = e;\r\n }\r\n CheckDraftAsync(): Promise {\r\n return null;\r\n }\r\n DeleteRecordAsync(): Promise {\r\n throw new Error('Method not implemented.');\r\n }\r\n\r\n public SetKeyFromTemplateModel(model: IRenderModel) : void \r\n {\r\n \r\n }\r\n\r\n\r\n public async GetDataAsync(): Promise{\r\n return this._e.model.data;\r\n }\r\n public async CreateNewItemAsync(): Promise{\r\n return null;\r\n }\r\n public async StartEditAsync(): Promise{\r\n return true;\r\n }\r\n public async UpdateAsync(record: IUpdateType) : Promise{\r\n return true;\r\n }\r\n public async SaveEditAsync(): Promise{\r\n return true;\r\n }\r\n public async CancelEditAsync(): Promise{\r\n return true;\r\n }\r\n}","import IDetailRowCrud from 'pillar/crud/IDetailRowCrud';\r\nimport { IUpdateType } from 'pillar/types/UpdateType';\r\nimport { IRenderModel } from 'pillar/HtmlTemplate/DxTemplateHelpers';\r\nimport { IControllerEvent } from 'pillar/types/EndPointTypes';\r\nimport DraftController from 'pillar/crud/DraftController';\r\n\r\nexport default class CellControllerDataManager extends DraftController implements IDetailRowCrud {\r\n constructor(controllerEventHandler: any) {\r\n super(controllerEventHandler); \r\n }\r\n\r\n public SetKeyFromTemplateModel(model: IRenderModel): void {\r\n if (model?.data && this.key in model.data) {\r\n this._dataKey = model.data[this.key];\r\n }\r\n }\r\n\r\n public async GetDataAsync(): Promise {\r\n return await this.ReadAllRecordsAsync();\r\n }\r\n public async StartEditAsync(): Promise {\r\n return await this.StartDraftAsync();\r\n }\r\n public async UpdateAsync(record: IUpdateType): Promise {\r\n return await this.UpdateDraftAsync(record);\r\n }\r\n public async SaveEditAsync(): Promise {\r\n return await this.SaveDraftAsync();\r\n }\r\n public async CancelEditAsync(): Promise {\r\n return await this.DiscardDraftAsync();\r\n }\r\n}","import DetailRowItemBuilder, { IDetailsItemField, IDetailsRowContainer } from \"./DetailRowItemBuilder\";\r\nimport { IXTemplateEventData } from \"pillar/HtmlTemplate/xTemplateEventData\";\r\nimport { IBaseControlEditFormItem} from \"../AgsEditForm/EditFormItems/base/BaseControlEditFormItem\";\r\nimport {GetKeyFromItemData, GetKeyFromEventData } from 'pillar/Utils/TemplateHelper';\r\nimport DetailRowEditCellTemplateClientSideCrud from \"./DetailRowEditCellTemplateClientSideCrud\";\r\nimport IDetailRowCrud from 'pillar/crud/IDetailRowCrud';\r\nimport CellClientSideDataManager from \"./CellClientSideDataManager\";\r\nimport {IBaseDxControlEditFormItem} from 'pillar/controlcomponents/AgsEditForm/EditFormItems/base/BaseDxControlEditFormItem';\r\nimport {IUpdateType,UpdateType } from \"pillar/types/UpdateType\";\r\nimport CellControllerDataManager from \"./CellControllerDataManager\";\r\nexport default class CellInstanceManager {\r\n public static async OnCellTemplate_InitAsync(e: IXTemplateEventData, jsProp: IJsProp & IDetailsItemField): Promise {\r\n let row : DetailRowItemBuilder = CellInstanceManager.GetInstanceOrCreateNewInstance(e,jsProp);\r\n if(row != null) {\r\n row._validationGroup = jsProp.ValidationGroup;\r\n let cell: IBaseControlEditFormItem = row.AddCellItem(jsProp);\r\n CellInstanceManager.MapComponent(e, cell, jsProp);\r\n let data = await row.GetDataAsync(jsProp);\r\n cell.SetValue(data)\r\n cell.PopulateTemplateValues(e.model, jsProp);\r\n }\r\n\r\n }\r\n\r\n public static async OnCellControl_InitAsync(e: DXInitEvent, jsProp : IJsProp) : Promise \r\n {\r\n let field: IBaseControlEditFormItem = CellInstanceManager.GetFieldByEvent(e, jsProp)\r\n let row: DetailRowItemBuilder = field._root as DetailRowItemBuilder;\r\n if (field !== null&&row.InitControlAsync) {\r\n await field.AddPromiseToChain(row.InitControlAsync(field, e, jsProp));\r\n }\r\n }\r\n\r\n public static async OnCellControlUnFocusAsync(e: DXUnfocusedEvent, jsProp: IJsProp): Promise \r\n { \r\n \r\n }\r\n\r\n public static async _OnCellControlValueChangedAsync(field: IBaseControlEditFormItem,e: DXValueChangedEvent, jsProp: IJsProp): Promise {\r\n let obj: UpdateType = new UpdateType();\r\n obj.Field = jsProp.Field;\r\n obj.value = e.value;\r\n obj.previousValue = e.previousValue;\r\n await field.WaitForPromises();\r\n await field.ValueUpdatedEventAsync(obj);\r\n }\r\n\r\n public static async OnCellControlValueChangedAsync(e: DXValueChangedEvent, jsProp : IJsProp): Promise \r\n {\r\n let field: IBaseControlEditFormItem = CellInstanceManager.GetFieldByEvent(e,jsProp);\r\n if (field !== null) {\r\n field.AddPromiseToChain(CellInstanceManager._OnCellControlValueChangedAsync(field, e, jsProp));\r\n }\r\n\r\n }\r\n public static async OnContainerInitAsync(e: DXContainerInitializedEvent, jsProp : IJsProp): Promise \r\n { \r\n jsProp._jsManager.dxContainer = e.component;\r\n }\r\n public static CreateCrudObject(invokerArgs : any,jsProp: IJsProp): IDetailRowCrud \r\n {\r\n if (jsProp.Controller) {\r\n return new CellControllerDataManager(jsProp.Controller);\r\n }\r\n else {\r\n return new CellClientSideDataManager(invokerArgs);\r\n }\r\n\r\n }\r\n\r\n\r\n //helpers\r\n private static GetInstanceOrCreateNewInstance(e: IXTemplateEventData, jsProp : IJsProp) : DetailRowItemBuilder {\r\n let key: string = GetKeyFromEventData(e);\r\n let row : DetailRowItemBuilder = null;\r\n if (key !== null && typeof jsProp._jsManager !== 'undefined') {\r\n if (typeof jsProp._jsManager._rows === 'undefined') {\r\n jsProp._jsManager._rows = {};\r\n }\r\n if (!(key in jsProp._jsManager._rows)) {\r\n let dxContainer: any = null;\r\n if (typeof jsProp._jsManager.dxContainer !== 'undefined') {\r\n dxContainer = jsProp._jsManager.dxContainer;\r\n }\r\n row = new DetailRowItemBuilder(dxContainer);\r\n jsProp._jsManager._rows[key] = row;\r\n row.InitDataManager(key,e,jsProp);\r\n return row;\r\n \r\n }\r\n else {\r\n row = jsProp._jsManager._rows[key];\r\n }\r\n }\r\n return row;\r\n }\r\n\r\n private static MapComponent(e: IXTemplateEventData, cell: IBaseControlEditFormItem, jsProp: IJsProp): void {\r\n //will defined the ID for the instance here\r\n //This will generate an ID that will look something like dx-\r\n let definedInstanceId = e.GenerateDxTemplateId();\r\n\r\n //this will allow us to set our customTemplateID like this\r\n //you don't need to use the GenerateDxTemplateId, it's just a helper just make sure it's uniquie\r\n if (e.customTemplateIds == null) {\r\n //the reason it's an array is because sometimes a template has more then 1 devextreme object with an id\r\n e.customTemplateIds = [definedInstanceId];\r\n }\r\n else {\r\n e.customTemplateIds.push(definedInstanceId);\r\n }\r\n if (typeof jsProp._jsManager._elementMap === 'undefined') {\r\n jsProp._jsManager._elementMap = {};\r\n }\r\n //Now we know what the devextreme componentID will be once the component is rendered\r\n //will store the template data which will contain model data which might be useful in another function\r\n jsProp._jsManager._elementMap[definedInstanceId] = cell;\r\n }\r\n\r\n public static GetFieldByEvent(e: DXBaseEvent, jsProp: IJsProp): IBaseControlEditFormItem {\r\n let key = e.element.attr('id');\r\n return CellInstanceManager.GetField(key, jsProp);\r\n }\r\n\r\n public static GetField(key : string, jsProp:IJsProp): IBaseControlEditFormItem{\r\n if (key in jsProp._jsManager._elementMap) {\r\n return jsProp._jsManager._elementMap[key];\r\n }\r\n return null;\r\n }\r\n\r\n public static ResetAllCells(jsProp: IJsProp): void {\r\n jsProp._elementMap = {};\r\n jsProp._rows = {};\r\n }\r\n\r\n}","import Popup from 'pillar/controlcomponents/popup'\r\nimport DxControllerEventHandler from 'pillar/crud/DxControllerEventHandler';\r\nimport Crud from 'pillar/crud/Crud';\r\nimport JsEventCrudHandler from 'pillar/crud/JsEventCrudHandler';\r\nimport CrudViewComponentLoader from 'pillar/crud/CrudViewComponentLoader';\r\nimport SingleCrudOperation from 'pillar/crud/SingleCrudOperation';\r\nimport Validator from 'pillar/validator/validator';\r\nimport AgsDataGrid from 'pillar/controlcomponents/AgsDataGrid';\r\nimport AgsTextBox from 'pillar/controlcomponents/AgsTextBox'\r\nimport AgsTextArea from 'pillar/controlcomponents/AgsTextArea'\r\nimport AgsMenu from 'pillar/controlcomponents/AgsMenu';\r\nimport AgsButton from 'pillar/controlcomponents/AgsButton';\r\nimport AgsFileUploader from 'pillar/controlcomponents/AgsFileUploader';\r\nimport AgsFileManager from 'pillar/controlcomponents/AgsFileManager';\r\nimport AgsSlider from 'pillar/controlcomponents/AgsSlider';\r\nimport AgsLoadingPanel from 'pillar/controlcomponents/AgsLoadingPanel';\r\nimport AgsHyperLink from 'pillar/controlcomponents/AgsHyperLink';\r\n\r\nimport SaveCancel from 'pillar/components/SaveCancel'\r\nimport DiffComponent from 'pillar/components/DiffComponent';\r\nimport EditComponent from \"pillar/components/EditComponent\";\r\nimport SideWidgets from 'pillar/components/SideWidgets';\r\n\r\nimport OldControlEditFormInstanceManager from 'pillar/controlcomponents/AgsEditForm/OldControlEditFormInstanceManager';\r\nimport ControlEditFormInstanceManager from 'pillar/controlcomponents/AgsEditForm/ControlEditFormInstanceManager';\r\nimport { FixContext } from 'pillar/Utils/ContextFixer';\r\nimport Utils from 'pillar/Utils/Utils';\r\nimport ElementListener from 'pillar/Utils/ElementListener';\r\nimport JsManager from 'pillar/JsManager/JsManager';\r\nimport JsManagerContextArg from 'pillar/JsManager/JsManagerContextArg';\r\nimport { AttachDxComponentToJsManager } from 'pillar/JsManager/JsManagerTypes'\r\nimport XTemplateManager from 'pillar/HtmlTemplate/xTemplateManager';\r\n\r\n//Pages\r\nimport BasePage from 'pillar/pages/BasePage';\r\nimport CacheClearPage from 'pillar/pages/CacheClearPage';\r\nimport Logger from 'pillar/Utils/Logger';\r\nimport AgsControlsDynamicStyleSheet from 'pillar/Utils/AgsControlsDynamicStyleSheet';\r\n\r\nimport InMemoryDataStore from 'pillar/datastore/InMemoryDataStore';\r\nimport DataSourceProperties from 'pillar/datastore/DataSourceProperties';\r\nimport OldCellInstanceManager from 'pillar/controlcomponents/DetailRow/OldCellInstanceManager';\r\nimport CellInstanceManager from 'pillar/controlcomponents/DetailRow/CellInstanceManager';\r\nimport {showSuccessMsg, showErrorMsg} from 'pillar/Utils/AlertHelper';\r\n\r\n\r\n//let's declare a namespace for all archweb related controls\r\nlet PillarJs = {};\r\n\r\n//Pages\r\nPillarJs.Pages = {};\r\nPillarJs.Pages.BasePage = {};\r\nPillarJs.Pages.BasePage.agscontrol_button_homemenu_styles = BasePage.agscontrol_button_homemenu_styles;\r\nPillarJs.Pages.BasePage.AdminMenuTemplateItemLoad = BasePage.AdminMenuTemplateItemLoad;\r\nPillarJs.Pages.BasePage.AdminMenuTemplateItemLoadAsync = BasePage.AdminMenuTemplateItemLoadAsync;\r\nPillarJs.Pages.BasePage.AdminMenuOnItemClick = BasePage.AdminMenuOnItemClick;\r\nPillarJs.Pages.CacheClearPage = CacheClearPage;\r\n\r\n//Controls\r\nPillarJs.Controls = {};\r\nPillarJs.Controls.ControlEditForm = {};\r\nPillarJs.Controls.ControlEditForm.OnEditFormTemplate_InitAsync = ControlEditFormInstanceManager.OnEditFormTemplate_InitAsync;\r\nPillarJs.Controls.ControlEditForm.OnControlTemplate_InitAsync = ControlEditFormInstanceManager.OnControlTemplate_InitAsync\r\nPillarJs.Controls.ControlEditForm.InitAsync = ControlEditFormInstanceManager.InitAsync;\r\nPillarJs.Controls.ControlEditForm.CreateNewEmptyInstanceAsync = ControlEditFormInstanceManager.CreateNewEmptyInstanceAsync;\r\nPillarJs.Controls.ControlEditForm.EditingStartedAsync = ControlEditFormInstanceManager.EditingStartedAsync;\r\nPillarJs.Controls.ControlEditForm.EditingCancelingAsync = ControlEditFormInstanceManager.EditingCancelingAsync;\r\nPillarJs.Controls.ControlEditForm.EditingCanceledAsync = ControlEditFormInstanceManager.EditingCanceledAsync;\r\nPillarJs.Controls.ControlEditForm.SavingAsync = ControlEditFormInstanceManager.SavingAsync;\r\nPillarJs.Controls.ControlEditForm.SavedAsync = ControlEditFormInstanceManager.SavedAsync;\r\nPillarJs.Controls.ControlEditForm.CreateCrudObj = ControlEditFormInstanceManager.CreateCrudObj;\r\nPillarJs.Controls.ControlEditForm.OnControlUnFocusAsync = ControlEditFormInstanceManager.OnControlUnFocusAsync;\r\nPillarJs.Controls.ControlEditForm.OnControlValueChangedAsync = ControlEditFormInstanceManager.OnControlValueChangedAsync;\r\nPillarJs.Controls.ControlEditForm.OnControlInitAsync = ControlEditFormInstanceManager.OnControlInitAsync;\r\nPillarJs.Controls.ControlEditForm.Grid_EditingStartedAsync = ControlEditFormInstanceManager.Grid_EditingStartedAsync;\r\nPillarJs.Controls.ControlEditForm.Grid_OnContentReadyAsync = ControlEditFormInstanceManager.Grid_OnContentReadyAsync;\r\nPillarJs.Controls.ControlEditForm.DeletingRecordAsync = ControlEditFormInstanceManager.DeletingRecordAsync;\r\nPillarJs.Controls.ControlEditForm.DeletedRecordAsync = ControlEditFormInstanceManager.DeletedRecordAsync;\r\n\r\nPillarJs.Controls.OldControlEditForm = FixContext(new OldControlEditFormInstanceManager());\r\n\r\nPillarJs.Controls.OldCell = {};\r\nPillarJs.Controls.OldCell.OnCellTemplate_Init = OldCellInstanceManager.OnCellTemplate_Init;\r\nPillarJs.Controls.OldCell.OnCellControl_Init = OldCellInstanceManager.OnCellControl_Init;\r\nPillarJs.Controls.OldCell.OnCellControlUnFocus = OldCellInstanceManager.OnCellControlUnFocus;\r\nPillarJs.Controls.OldCell.OnCellControlValueChanged = OldCellInstanceManager.OnCellControlValueChanged;\r\nPillarJs.Controls.OldCell.OnContainerInit = OldCellInstanceManager.OnContainerInit;\r\nPillarJs.Controls.OldCell.CreateCrudObject = OldCellInstanceManager.CreateCrudObject;\r\n\r\nPillarJs.Controls.Cell = {};\r\nPillarJs.Controls.Cell.OnCellTemplate_InitAsync = CellInstanceManager.OnCellTemplate_InitAsync;\r\nPillarJs.Controls.Cell.OnCellControl_InitAsync = CellInstanceManager.OnCellControl_InitAsync;\r\nPillarJs.Controls.Cell.OnCellControlUnFocusAsync = CellInstanceManager.OnCellControlUnFocusAsync;\r\nPillarJs.Controls.Cell.OnCellControlValueChangedAsync = CellInstanceManager.OnCellControlValueChangedAsync;\r\nPillarJs.Controls.Cell.OnContainerInitAsync = CellInstanceManager.OnContainerInitAsync;\r\nPillarJs.Controls.Cell.CreateCrudObject = CellInstanceManager.CreateCrudObject;\r\n\r\nPillarJs.Controls.AgsMenu = {};\r\nPillarJs.Controls.AgsMenu.OnMenuItemTemplate_InitAsync = AgsMenu.OnMenuItemTemplate_InitAsync;\r\nPillarJs.Controls.AgsMenu.OnMenuItemTemplateHyperLink_InitAsync = AgsMenu.OnMenuItemTemplateHyperLink_InitAsync;\r\nPillarJs.Controls.AgsMenu.OnMenuContentReady = AgsMenu.OnMenuContentReady;\r\n\r\nPillarJs.Controls.AgsDataGrid = AgsDataGrid;\r\n\r\nPillarJs.Controls.Popup = {};\r\nPillarJs.Controls.Popup.DefaultHideHandler = Popup.DefaultHideHandler;\r\nPillarJs.Controls.Popup.ShowPopupHandler = Popup.ShowPopupHandler;\r\nPillarJs.Controls.Popup.PopupOnHiding = Popup.PopupOnHiding;\r\nPillarJs.Controls.Popup.MakeItFit = Popup.MakeItFit;\r\n\r\nPillarJs.Controls.AgsTextBox = {};\r\nPillarJs.Controls.AgsTextBox.OnTextBox_Init = AgsTextBox.OnTextBox_Init;\r\n\r\nPillarJs.Controls.AgsTextArea = {};\r\nPillarJs.Controls.AgsTextArea.OnTextArea_Init = AgsTextArea.OnTextArea_Init;\r\n\r\nPillarJs.Controls.AgsButton = AgsButton;\r\nPillarJs.Controls.AgsFileUploader = AgsFileUploader;\r\nPillarJs.Controls.AgsFileManager = AgsFileManager;\r\n\r\nPillarJs.Controls.AgsSlider = AgsSlider;\r\nPillarJs.Controls.AgsLoadingPanel = AgsLoadingPanel;\r\nPillarJs.Controls.AgsHyperLink = AgsHyperLink;\r\nPillarJs.Controls.AgsDataGrid = AgsDataGrid;\r\n\r\nPillarJs.DxControllerEventHandler = {};\r\nPillarJs.DxControllerEventHandler.OnUpdate = DxControllerEventHandler.OnUpdate;\r\nPillarJs.DxControllerEventHandler.OnInsert = DxControllerEventHandler.OnInsert;\r\nPillarJs.DxControllerEventHandler.OnDelete = DxControllerEventHandler.OnDelete;\r\nPillarJs.DxControllerEventHandler.OnRead = DxControllerEventHandler.OnRead;\r\nPillarJs.DxControllerEventHandler.ProcessObjectsFromDataSource = DxControllerEventHandler.ProcessObjectsFromDataSource;\r\nPillarJs.DxControllerEventHandler.CreateCrudObject = DxControllerEventHandler.CreateCrudObject;\r\n\r\nPillarJs.Crud = {};\r\nPillarJs.Crud.OnSendInclude = Crud.OnSendInclude;\r\nPillarJs.Crud.RemoteProviderBeforeSend = Crud.RemoteProviderBeforeSend;\r\nPillarJs.Crud.CreateCrudObject = Crud.CreateCrudObject;\r\nPillarJs.Crud.CrudClickEvent = JsEventCrudHandler.CrudClickEvent;\r\nPillarJs.Crud.CrudChangeEvent = JsEventCrudHandler.CrudChangeEvent;\r\nPillarJs.Crud.CrudEvent = JsEventCrudHandler.CrudEvent;\r\nPillarJs.Crud.CreateViewComponentLoader = CrudViewComponentLoader.CreateViewComponentLoader;\r\nPillarJs.Crud.CreateSingleCrudOperationHandler = SingleCrudOperation.CreateSingleCrudOperationHandler;\r\nPillarJs.Crud.InitUploadHeaders = Crud.InitUploadHeaders;\r\nPillarJs.Crud.SetUploadHeaders = Crud.SetUploadHeaders;\r\n\r\n\r\nPillarJs.Components = {};\r\n\r\nPillarJs.Components.SaveCancel = {};\r\nPillarJs.Components.SaveCancel.SaveHandler = SaveCancel.SaveHandler;\r\nPillarJs.Components.SaveCancel.CancelHandler = SaveCancel.CancelHandler;\r\n\r\nPillarJs.Components.DiffComponent = {};\r\nPillarJs.Components.DiffComponent.TemplateInitEvent = DiffComponent.TemplateInitEvent;\r\n\r\n//EditComponent\r\nPillarJs.Components.EditComponent = EditComponent;\r\nPillarJs.Components.SideWidgets = {};\r\nPillarJs.Components.SideWidgets.InitSideBar = SideWidgets.InitSideBar;\r\nPillarJs.Components.SideWidgets.TabClickEvent = SideWidgets.TabClickEvent;\r\nPillarJs.Components.SideWidgets.ShowHideClickEvent = SideWidgets.ShowHideClickEvent;\r\nPillarJs.Components.SideWidgets.SlideoutClickEvent = SideWidgets.SlideoutClickEvent;\r\nPillarJs.Components.SideWidgets.AttachSideWidgetResizeObserver = SideWidgets.AttachSideWidgetResizeObserver;\r\nPillarJs.Components.SideWidgets.ExpandCollapsePanelClickEvent = SideWidgets.ExpandCollapsePanelClickEvent;\r\n\r\n\r\nPillarJs.Validator = {}\r\nPillarJs.Validator.CreateValidator = Validator.CreateValidator;\r\n\r\nPillarJs.JsManager = {};\r\nPillarJs.JsManager.Instances = {};\r\nPillarJs.JsManager.ProcessJsEvent = JsManager.ProcessJsEvent;\r\nPillarJs.JsManager.ProcessJsEventContext = JsManagerContextArg.ProcessJsEvent;\r\nPillarJs.JsManager.AttachDxComponentToJsManager = AttachDxComponentToJsManager;\r\n\r\nPillarJs.XTemplateManager = {};\r\nPillarJs.XTemplateManager.CreateTemplateHandler = XTemplateManager.CreateTemplateHandler;\r\nPillarJs.XTemplateManager.HandleNestedTemplate = XTemplateManager.HandleNestedTemplate;\r\n\r\nPillarJs.DataStore = {};\r\nPillarJs.DataStore.InMemoryDataStore = {};\r\nPillarJs.DataStore.InMemoryDataStore.CreatedInMemoryDataStore = InMemoryDataStore.CreatedInMemoryDataStore;\r\nPillarJs.DataStore.DataSourceProperties = DataSourceProperties;\r\n\r\nPillarJs.Styling = {};\r\nPillarJs.Styling.ControlContentReadyEventColorStylingEvent = AgsControlsDynamicStyleSheet.ControlContentReadyEventColorStylingEvent;\r\n\r\nPillarJs.Utils = Utils;\r\n\r\nPillarJs.AlertHelper = {}\r\nPillarJs.AlertHelper.showSuccessMsg = showSuccessMsg;\r\nPillarJs.AlertHelper.showErrorMsg = showErrorMsg;\r\nElementListener.ElementListen();\r\n\r\n\r\n//If debug\r\nPillarJs.Logger = FixContext(Logger.Instance);\r\n\r\n//End of debug\r\n\r\n\r\nwindow.PillarJs = PillarJs;","import { showSuccessMsg, showErrorMsg } from 'pillar/Utils/AlertHelper';\r\nimport Logger from 'pillar/Utils/Logger';\r\nexport default class CacheClearPage {\r\n\r\n\r\n public static ClearRedisCache(s: DXButtonClickEvent): void {\r\n let panel = $('#CacheRefrehLoadingPanel').dxLoadPanel('instance');\r\n panel.show();\r\n Logger.Log('Clearing Cache...');\r\n\r\n $.ajax({\r\n url: '/Cache/ClearCache',\r\n type: 'POST',\r\n data: {},\r\n success: function (data, textStatus, xhr) {\r\n let msg = 'Cache Cleared';\r\n showSuccessMsg(msg);\r\n Logger.Log(msg);\r\n panel.hide();\r\n\r\n },\r\n error: function (xhr, textStatus, errorThrown) {\r\n let msg = 'Cache failed to Cleared';\r\n showErrorMsg(msg);\r\n Logger.Log(msg);\r\n panel.hide();\r\n }\r\n });\r\n }\r\n\r\n public static ClearElasticSearchCache(s: DXButtonClickEvent): void {\r\n let panel = $('#CacheRefrehLoadingPanel').dxLoadPanel('instance');\r\n panel.show();\r\n Logger.Log('Clearing ElasticSearch Cache...');\r\n\r\n $.ajax({\r\n url: '/Cache/ResetElasticSearch',\r\n type: 'GET',\r\n data: {},\r\n success: function (data, textStatus, xhr) {\r\n let msg = 'ElasticSearch Cache Cleared';\r\n showSuccessMsg(msg);\r\n Logger.Log(msg);\r\n panel.hide();\r\n\r\n },\r\n error: function (xhr, textStatus, errorThrown) {\r\n let msg = 'ElasticSearch Cache failed to Cleared';\r\n showErrorMsg(msg);\r\n Logger.Log(msg);\r\n panel.hide();\r\n }\r\n });\r\n }\r\n\r\n public static CosmosTestEvent(s: DXButtonClickEvent): void {\r\n let panel = $('#CacheRefrehLoadingPanel').dxLoadPanel('instance');\r\n panel.show();\r\n $(\"#cosmosTestMessage\").text(\"Running Cosmos Test..\");\r\n $.ajax({\r\n url: '/Cache/CosmosTestButtonClickEvent',\r\n type: 'GET',\r\n success: function (data, textStatus, xhr) {\r\n let msg = data;\r\n $(\"#cosmosTestMessage\").text(msg);\r\n Logger.Log(msg);\r\n showSuccessMsg(msg);\r\n panel.hide();\r\n },\r\n error: function (xhr, textStatus, errorThrown) {\r\n let msg = 'Cosmos test failed';\r\n showErrorMsg(msg);\r\n Logger.Log(msg);\r\n $(\"#cosmosTestMessage\").text(msg);\r\n panel.hide();\r\n }\r\n });\r\n }\r\n\r\n public static CosmosRefreshEvent(s: DXButtonClickEvent): void {\r\n let panel = $('#CacheRefrehLoadingPanel').dxLoadPanel('instance');\r\n let refreshString = \"Running Cosmos Refresh..\";\r\n panel.show();\r\n Logger.Log(refreshString);\r\n $(\"#cosmosRefreshMessage\").text(refreshString);\r\n $.ajax({\r\n url: '/Cache/CosmosRefreshButtonClickEvent',\r\n type: 'GET',\r\n success: function (data, textStatus, xhr) {\r\n let msg = data;\r\n showSuccessMsg(msg);\r\n $(\"#cosmosRefreshMessage\").text(msg);\r\n Logger.Log(msg);\r\n panel.hide();\r\n },\r\n error: function (xhr, textStatus, errorThrown) {\r\n let msg = 'Cosmos refresh failed';\r\n showErrorMsg(msg);\r\n $(\"#cosmosRefreshMessage\").text(msg);\r\n Logger.Log(msg);\r\n panel.hide();\r\n }\r\n });\r\n }\r\n\r\n public static CosmosMigrageEvent(s: DXButtonClickEvent): void {\r\n let panel = $('#CacheRefrehLoadingPanel').dxLoadPanel('instance');\r\n let migrationString = \"Running Cosmos Migrations..\";\r\n panel.show();\r\n $(\"#cosmosMigrationMessage\").text(migrationString);\r\n Logger.Log(migrationString);\r\n $.ajax({\r\n url: '/Cache/CosmosMigration',\r\n type: 'GET',\r\n success: function (data, textStatus, xhr) {\r\n let msg = data;\r\n showSuccessMsg(msg);\r\n $(\"#cosmosMigrationMessage\").text(msg);\r\n Logger.Log(msg);\r\n panel.hide();\r\n },\r\n error: function (xhr, textStatus, errorThrown) {\r\n let msg = 'Cosmos Migration failed';\r\n showErrorMsg(msg);\r\n $(\"#cosmosMigrationMessage\").text(msg);\r\n Logger.Log(msg);\r\n panel.hide();\r\n }\r\n });\r\n }\r\n}","import ControlEditForm from \"./ControlEditForm\";\r\nimport {v4 as CreateUUID} from 'uuid'\r\nimport Logger from 'pillar/Utils/Logger'\r\nimport ArgType from \"pillar/types/ArgType\";\r\nimport { IXTemplateEventData } from 'pillar/HtmlTemplate/xTemplateEventData';\r\nimport { EditingStartEvent, InitializedEvent, ContentReadyEvent,InitNewRowEvent } from 'devextreme/ui/data_grid';\r\nimport {IEditFormLegacyCrud} from 'pillar/crud/ICrudContainer';\r\nimport IDetailRowCrud from 'pillar/crud/IDetailRowCrud';\r\nimport EditFormCrud from \"./EditFormCrud\";\r\nimport EditFormControllerDataManager from \"./EditFormControllerDataManager\";\r\n\r\n/**\r\n * @deprecated Use the new ControlEditFormInstanceManager\r\n */\r\nexport default class OldControlEditFormInstanceManager {\r\n\r\n public EditForms: Record;\r\n constructor(){\r\n this.EditForms = {};\r\n }\r\n\r\n private _GetInstanceKey(jsProp: IJsProp) : string {\r\n if (jsProp !== null && typeof jsProp._jsManager !== \"undefined\"\r\n && typeof jsProp._jsManager.InstanceKey !== \"undefined\" && typeof jsProp._jsManager.InstanceKey !== null) {\r\n Logger.debug(`Got Row Key of value ${jsProp._jsManager.InstanceKey}`);\r\n return jsProp._jsManager.InstanceKey;\r\n }\r\n else{\r\n let result = CreateUUID();\r\n Logger.debug(`Got Row Key of value ${result}`);\r\n return result;\r\n }\r\n\r\n }\r\n\r\n private _SetJsManagerInstanceKey(jsProp : IJsProp,instanceKey) : void{\r\n if(typeof jsProp._jsManager !== 'undefined'){\r\n jsProp._jsManager.InstanceKey = instanceKey;\r\n }\r\n }\r\n\r\n _GetInstance(instanceKey : string,reset?: boolean ) : ControlEditForm\r\n {\r\n Logger.debug(`GetInstance with instanceKey: ${instanceKey}, reset: ${reset}`);\r\n var editForm : ControlEditForm = null;\r\n\r\n if (instanceKey !== 'undefined'&&instanceKey !== null)\r\n {\r\n if (typeof this.EditForms[instanceKey] !== 'undefined' && this.EditForms[instanceKey] !== null)\r\n {\r\n editForm = this.EditForms[instanceKey];\r\n Logger.debug(`edit form retrieve`,editForm);\r\n if (reset) {\r\n Logger.debug(`editForm Reset`);\r\n editForm = editForm._Reset();\r\n this.EditForms[instanceKey] = editForm;\r\n }\r\n }\r\n else{\r\n editForm = this._newInstance();\r\n this.EditForms[instanceKey] = editForm;\r\n }\r\n \r\n }\r\n else {\r\n console.error('could not process EditForm Data');\r\n }\r\n return editForm;\r\n }\r\n _SetInstance(instanceKey : string,editForm: ControlEditForm) :ControlEditForm\r\n {\r\n Logger.debug(`SetInstance with a instanceKey: ${instanceKey}`, editForm);\r\n if (instanceKey !== 'undefined'&&instanceKey !== null)\r\n {\r\n this.EditForms[instanceKey] = editForm;\r\n Logger.debug(`SetInstance set`);\r\n \r\n }\r\n else {\r\n console.error('could not process EditForm Data');\r\n }\r\n return editForm;\r\n }\r\n\r\n\r\n _newInstance() : ControlEditForm {\r\n let instance : ControlEditForm = new ControlEditForm(this);\r\n Logger.debug(`added new editform`, instance);\r\n //this.Instances.push(instance);\r\n return instance;\r\n }\r\n\r\n _clearEditForm(instanceKey) : void{\r\n Logger.debug(`clearEditForm called with instanceKey of ${instanceKey}`)\r\n this.EditForms[instanceKey] = null;\r\n }\r\n\r\n CreateCrudObj(invokerArgs: any, jsProp : IJsProp) : IEditFormLegacyCrud {\r\n Logger.debug(`CreateLegacyCrudObj Called`, jsProp);\r\n return new EditFormCrud(jsProp.Controller);\r\n }\r\n\r\n Init(...args) : void {\r\n let a : ArgType = new ArgType(args);\r\n let instanceKey : string = this._GetInstanceKey(a.jsProp);\r\n Logger.debug(`Init Called ${instanceKey}`,a.jsProp, a.e);\r\n this._SetJsManagerInstanceKey(a.jsProp,instanceKey);\r\n let editForm : ControlEditForm = this._GetInstance(instanceKey, true);\r\n if (editForm != null && editForm._IsValid(a.e, a.jsProp)) {\r\n editForm._crud = a.jsProp.CreateClientSideCrudObjectFunc(a.jsProp);\r\n editForm._SetEventData(a.e);//Load data when the editform is initalzied\r\n editForm._CheckDraft();\r\n }\r\n Logger.debug(`End of Init ${instanceKey}`,a.jsProp, a.e);\r\n }\r\n\r\n\r\n /**\r\n * @deprecated Use EditStartedAsync\r\n */\r\n EditingStarted(...args) : void\r\n {\r\n let a: ArgType = new ArgType(args);\r\n let instanceKey : string = this._GetInstanceKey(a.jsProp);\r\n Logger.debug(`EditingStarted Called ${instanceKey}`,a.jsProp,a.e);\r\n let editForm : ControlEditForm = this._GetInstance(instanceKey);\r\n if (editForm != null && editForm._IsValid(a.e,a.jsProp))\r\n {\r\n editForm._StartDraft();\r\n } \r\n $(\".dx-command-edit span\").addClass(\"edit-disabled\");\r\n Logger.debug(`End of EditingStarted ${instanceKey}`,a.jsProp,a.e);\r\n }\r\n\r\n /**\r\n * @deprecated Use Grid_OnContentReadyAsync\r\n */\r\n Grid_OnContentReady(...args) : void {\r\n let a: ArgType = new ArgType(args);\r\n let instanceKey : string = this._GetInstanceKey(a.jsProp);\r\n Logger.debug(`Grid_OnContentReady Called ${instanceKey}`,a.jsProp,a.e);\r\n let editForm : ControlEditForm = this._GetInstance(instanceKey);\r\n if (editForm != null && editForm._IsValid(a.e,a.jsProp))\r\n {\r\n //once all the controls are loaded let's get a draft\r\n editForm._StartDraft();\r\n }\r\n Logger.debug(`End of Grid_OnContentReady ${instanceKey}`,a.jsProp,a.e);\r\n }\r\n \r\n /**\r\n * @deprecated Use Grid_EditingStartedAsync\r\n */\r\n Grid_EditingStarted(...args) : void{\r\n let a: ArgType = new ArgType(args);\r\n let instanceKey : string = this._GetInstanceKey(a.jsProp);\r\n Logger.debug(`Grid_EditingStarted Called ${instanceKey}`,a.jsProp,a.e);\r\n this._SetJsManagerInstanceKey(a.jsProp,instanceKey);\r\n let editForm : ControlEditForm = this._GetInstance(instanceKey);\r\n if(editForm != null)\r\n {\r\n editForm._SetContainer(a);\r\n if (editForm._IsValid(a.e, a.jsProp)) {\r\n editForm._crud = a.jsProp.CreateClientSideCrudObjectFunc(a.jsProp);\r\n editForm._SetEventData(a.e);\r\n }\r\n }\r\n\r\n $(\".dx-command-edit span\").addClass(\"edit-disabled\");\r\n Logger.debug(`End of Grid_EditingStarted ${instanceKey}`,a.jsProp,a.e);\r\n }\r\n\r\n /**\r\n * @deprecated Use CreateNewEmptyInstanceAsync\r\n */\r\n CreateNewEmptyInstance(...args) : void {\r\n let a: ArgType = new ArgType(args);\r\n let crud: any = a.jsProp.CreateClientSideCrudObjectFunc(a.jsProp);//Update this\r\n let newInstance : ControlEditForm = new ControlEditForm(crud);\r\n newInstance._crud = crud;\r\n newInstance._CreateNewDraft();\r\n let instanceKey : string = this._GetInstanceKey(a.jsProp);\r\n Logger.debug(`CreateNewEmptyInstance Called ${instanceKey}`,a.jsProp,a.e);\r\n this._SetInstance(instanceKey,newInstance);\r\n this._SetJsManagerInstanceKey(a.jsProp,instanceKey);\r\n newInstance._InitEditFormData(a.jsProp);\r\n if(newInstance != null)\r\n {\r\n newInstance._SetContainer(a);\r\n let event = a.e;\r\n if (event == null){\r\n event = { key: newInstance._crud._formKey };\r\n }\r\n\r\n if (newInstance._IsValid(event, a.jsProp)) {\r\n newInstance._SetEventData(event);\r\n }\r\n }\r\n\r\n $(\".dx-command-edit span\").addClass(\"edit-disabled\");\r\n Logger.debug(`End of CreateNewEmptyInstance ${instanceKey}`,a.jsProp,a.e);\r\n }\r\n \r\n EditingCanceling(...args) : void\r\n {\r\n let a: ArgType = new ArgType(args);\r\n let instanceKey : string = this._GetInstanceKey(a.jsProp);\r\n Logger.debug(`EditingCanceling Called ${instanceKey}`,a.jsProp,a.e);\r\n let editForm : ControlEditForm = this._GetInstance(instanceKey);\r\n if (editForm != null && editForm._IsValid(a.e,a.jsProp))\r\n {\r\n editForm._CancelDraft();\r\n }\r\n Logger.debug(`End of EditingCanceling ${instanceKey}`,a.jsProp,a.e);\r\n }\r\n EditingCanceled(...args) : void\r\n {\r\n Logger.debug(`EditingCanceling Called`);\r\n //this.EditForms[jsProp.EditFormID] = {};//will still have the object stay loaded in memory, we can modify the data in EditStarted\r\n $(\".dx-command-edit span\").removeClass(\"edit-disabled\");\r\n Logger.debug(`End of EditingCanceling`);\r\n }\r\n\r\n //This is called during the delete operation from the grid\r\n //Since the editform is not created during this state it breaks\r\n //so we need to check if it's a remove operation\r\n //in which case we will need to just let it fall though and ignore the operation\r\n _PerformSave(a) : boolean {\r\n if(a.e !== null&& Array.isArray(a.e.changes)){\r\n for(let el of a.e.changes){\r\n if(typeof el.type !== \"undefined\" && el.type == \"remove\"){\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n Saving(...args) : void\r\n {\r\n let a: ArgType = new ArgType(args);\r\n if(this._PerformSave(a)){\r\n\r\n let instanceKey : string = this._GetInstanceKey(a.jsProp);\r\n Logger.debug(`Saving Called ${instanceKey}`,a.jsProp,a.e);\r\n let editForm : ControlEditForm = this._GetInstance(instanceKey);\r\n if(editForm != null)\r\n {\r\n if (editForm._IsValid(a.e,a.jsProp))\r\n {\r\n if(!editForm._validate()){\r\n a.e.cancel = true;\r\n Logger.debug(`Validation Failed ${instanceKey}`,a.jsProp,a.e);\r\n return;\r\n }\r\n // else{\r\n // editForm._setChangesInEvent(a.e);//this is for updating the editGrid values we may want to incorporate something like this or we could reload the grid\r\n // }\r\n }\r\n }\r\n Logger.debug(`End of Saving, Validation Passed ${instanceKey}`,a.jsProp,a.e);\r\n }\r\n else{\r\n Logger.debug(`Saving Operation is not required`,a.jsProp,a.e);\r\n }\r\n }\r\n\r\n Saved(...args) : void\r\n {\r\n let a: ArgType = new ArgType(args);\r\n if(this._PerformSave(a)){\r\n let instanceKey : string = this._GetInstanceKey(a.jsProp);\r\n Logger.debug(`Saved Called ${instanceKey}`,a.jsProp,a.e);\r\n //this will only run in e.cancel = false\r\n let editForm : ControlEditForm = this._GetInstance(instanceKey);\r\n if (editForm != null && editForm._IsValid(a.e,a.jsProp))\r\n {\r\n editForm._SaveDraft();//save the draft\r\n this._clearEditForm(a.jsProp);\r\n editForm._RefreshContainer();\r\n }\r\n $(\".dx-command-edit span\").removeClass(\"edit-disabled\");\r\n Logger.debug(`End of Saved ${instanceKey}`,a.jsProp,a.e);\r\n }\r\n else{\r\n Logger.debug(`Saved Operation is not required`,a.jsProp,a.e);\r\n }\r\n }\r\n\r\n /**\r\n * @deprecated Use OnEditFormTemplate_Init\r\n */\r\n OnEditFormTemplate_Init(itemData, itemIndex, itemElement, mainElement, jsProp : IJsProp) : any {\r\n //we don't have the row key yet, since we are initalizing this in a template\r\n //this is the point where we grab once from the data source or we generate one\r\n \r\n let a: ArgType = new ArgType([itemData, jsProp]);//this needs to be fixed\r\n let instanceKey : string = this._GetInstanceKey(a.jsProp);\r\n Logger.debug(`OnEditFormTemplate_Init Called ${instanceKey}`,itemData,a.jsProp,a.e);\r\n this._SetJsManagerInstanceKey(a.jsProp,instanceKey);\r\n let editForm : ControlEditForm = this._GetInstance(instanceKey);\r\n if (editForm != null) {\r\n editForm._SetContainer(a);\r\n editForm._EditForm_InitFromTemplate(itemData, itemIndex, itemElement, mainElement, jsProp);\r\n }\r\n Logger.debug(`End of OnEditFormTemplate_Init ${instanceKey}`,itemData,a.jsProp,a.e);\r\n return itemData;\r\n }\r\n\r\n /**\r\n * @deprecated Use OnControlTemplate_InitAsync\r\n */\r\n OnControlTemplate_Init(itemData, itemIndex, itemElement, mainElement, jsProp : IJsProp) : any\r\n {\r\n let a: ArgType = new ArgType([itemData, jsProp]);//this needs to be fixed\r\n let instanceKey : string = this._GetInstanceKey(a.jsProp);\r\n Logger.debug(`OnControlTemplate_Init Called ${instanceKey}`,itemData,a.jsProp,a.e);\r\n let editForm : ControlEditForm = this._GetInstance(instanceKey);\r\n if (editForm != null && editForm._IsValid(null, jsProp))\r\n {\r\n let contextResults = editForm._populateTemplateValue(jsProp);\r\n Object.assign(itemData, contextResults);\r\n Logger.debug(`End of OnControlTemplate_Init ${instanceKey}`,itemData,a.jsProp,a.e);\r\n return itemData;\r\n }\r\n Logger.debug(`OnControlTemplate_Init ended in an invalid state`);\r\n }\r\n\r\n OnControlUnFocus(...args) :void {\r\n let a: ArgType = new ArgType(args);\r\n let instanceKey : string = this._GetInstanceKey( a.jsProp);\r\n Logger.debug(`OnControlUnFocus Called ${instanceKey}`,a.jsProp,a.e);\r\n let editForm : ControlEditForm = this._GetInstance(instanceKey);\r\n if (editForm != null && editForm._IsValid(null,a.jsProp))\r\n {\r\n editForm._unfocusEvent(a.jsProp.Field);\r\n }\r\n Logger.debug(`End of OnControlUnFocus ${instanceKey}`,a.jsProp,a.e);\r\n }\r\n\r\n OnControlValueChanged(...args): void {\r\n\r\n }\r\n\r\n OnControlInit(...args) : void {\r\n let a = new ArgType(args);\r\n let instanceKey = this._GetInstanceKey(a.jsProp);\r\n let editForm = this._GetInstance(instanceKey);\r\n if (editForm != null && editForm._IsValid(null,a.jsProp))\r\n {\r\n editForm._controlInitEvent(a.jsProp.Field,a.e);\r\n }\r\n }\r\n}","export default class AgsTextBox\r\n{\r\n static OnTextBox_Init(e) { \r\n e.element.find(\"input\").attr(\"data-lpignore\", \"true\"); \r\n }\r\n}","export default class AgsTextArea\r\n{\r\n static OnTextArea_Init(e) {\r\n e.element.find(\"input\").attr(\"data-lpignore\", \"true\");\r\n }\r\n}","import sheet, { ICssxColorStyles } from 'pillar/Utils/AgsControlsDynamicStyleSheet';\r\nimport Utils from 'pillar/Utils/Utils';\r\nexport default class AgsButton {\r\n public static OnButtonContentReady(e: DXContentReadyEvent, jsProp: IJsProp & ICssxColorStyles): void {\r\n var id = \"#\" + e.element.attr('id');\r\n sheet.getInstance().LegacyControlCssxStyle(id, jsProp);\r\n }\r\n\r\n public static OnButtonNavigateEvent(e: DXButtonClickEvent, jsProp: IJsProp) : void {\r\n if (jsProp) {\r\n if (!Utils.IsNullOrWhitespace(jsProp.navLink)) {\r\n if (jsProp.newTab) {\r\n window.open(jsProp.navLink, '_blank');\r\n } else {\r\n window.location.href = jsProp.navLink;\r\n }\r\n }\r\n }\r\n }\r\n}","import AgsButton from './AgsButton';\r\nimport sheet, { ICssxColorStyles } from 'pillar/Utils/AgsControlsDynamicStyleSheet';\r\nexport default class AgsFileUploader {\r\n public static OnFileUploaderContentReady(e: DXContentReadyEvent, jsProp: IJsProp & ICssxColorStyles) : void {\r\n var id = \"#\" + e.element.attr('id') + \" .dx-button\";\r\n sheet.getInstance().LegacyControlCssxStyle(id, jsProp);\r\n }\r\n}","import SingleCrudOperation from 'pillar/crud/SingleCrudOperation';\r\n\r\nexport default class AgsFileManager {\r\n public static async SaveSession(s: DXButtonClickEvent, prop: IJsProp): Promise {\r\n let crudManager: SingleCrudOperation = prop.SaveSessionEndPoint;\r\n await crudManager.ReadCallAsPromiseAsync();\r\n\r\n let fileManager = $(`#${prop.ContainerID}`).dxFileManager('instance');\r\n await fileManager.refresh();\r\n \r\n }\r\n\r\n public static async CancelSession(s: DXButtonClickEvent, prop: IJsProp): Promise {\r\n let crudManager: SingleCrudOperation = prop.CancelSessionEndPoint;\r\n await crudManager.ReadCallAsPromiseAsync();\r\n\r\n let fileManager = $(`#${prop.ContainerID}`).dxFileManager('instance');\r\n await fileManager.refresh();\r\n }\r\n}","import AgsControlsDynamicStyleSheet, { ICssxColorStyles } from \"pillar/Utils/AgsControlsDynamicStyleSheet\";\r\nimport AgsToolTip from './AgsToolTip';\r\nimport ElementListener from 'pillar/Utils/ElementListener';\r\n\r\nexport default class AgsHyperLink {\r\n public static OnLoad(jsProp: IJsProp & ICssxColorStyles) : void {\r\n var id = \"#\" + jsProp.Id + ' > a';\r\n let element = {};\r\n let sheet: AgsControlsDynamicStyleSheet = AgsControlsDynamicStyleSheet.getInstance();\r\n let styles = sheet.ProcessColors(jsProp);\r\n sheet.OverrideSelectedColors(styles, jsProp);\r\n sheet.ApplyCustomStyles(styles, jsProp);\r\n element[id] = { ...styles.All, ...styles.Standard };\r\n element[`${id}:active`] = styles.Active;\r\n element[`${id}:hover`] = styles.Hover;\r\n sheet.add(element);\r\n ElementListener.OnElementLoad(id).then((el) => {\r\n AgsToolTip.CreateToolTipFromControlRecord(el, jsProp);\r\n })\r\n }\r\n}","export default class DiffComponent {\r\n public static TemplateInitEvent(itemData, itemIndex, itemElement, mainElement, jsProp : IJsProp): void {\r\n\r\n }\r\n}","export interface IJsEvent {\r\n func: any;\r\n props?: any;\r\n}\r\n\r\nexport interface IJsManagerProperties {\r\n commonProps: any;\r\n id: string;\r\n events: IJsEvent[];\r\n errorEvents?: IJsEvent[];\r\n retDataHandler: (retVal : any ,func : IJsFunc) => void\r\n}\r\n\r\nexport interface IJsManager {\r\n identifier: string;\r\n commonProp: any;\r\n}\r\n\r\nexport interface IJsFunc {\r\n stopProcessingEvents: boolean;\r\n jsManager: IJsManager;\r\n properties: IJsManagerProperties;\r\n args: any[];\r\n}\r\n\r\nexport function AttachDxComponentToJsManager(e: DXInitEvent, jsProp: IJsProp) {\r\n if (e.component && jsProp._jsManager) {\r\n jsProp._jsManager[jsProp.propName] = e.component;\r\n }\r\n}","import IDataSourceProperties, { IDataSourcePropertiesText } from 'pillar/types/IDataSourceProperties';\r\nimport Utils from 'pillar/Utils/Utils';\r\nimport {showSuccessMsg, showErrorMsg } from 'pillar/Utils/AlertHelper'\r\n\r\nexport default class DataSourceProperties {\r\n public static SuccessMessageToast(msg : IDataSourcePropertiesText) : void {\r\n if (msg?.SuccessText && !Utils.IsNullOrWhitespace(msg.SuccessText)) {\r\n showSuccessMsg(msg.SuccessText);\r\n }\r\n }\r\n\r\n public static FailureMessageToast(msg: IDataSourcePropertiesText): void {\r\n if (msg?.FailureText && !Utils.IsNullOrWhitespace(msg.FailureText)) {\r\n showSuccessMsg(msg.FailureText);\r\n }\r\n }\r\n}","const __WEBPACK_NAMESPACE_OBJECT__ = (...args) => window.Toastify.apply(this,args);","import Toastify from \"toastify-js\";\r\n\r\n//Toastify Functions\r\nexport function showSuccessMsg(message: any): void {\r\n Toastify({\r\n text: message,\r\n duration: 3000,\r\n destination: \"\",\r\n close: true,\r\n gravity: \"top\", // `top` or `bottom`\r\n position:'right',\r\n backgroundColor: \"#346271\",\r\n }).showToast();\r\n}\r\n\r\nexport function showErrorMsg(message : any) : void {\r\n Toastify({\r\n text: message,\r\n duration: 3000,\r\n destination: \"\",\r\n close: true,\r\n gravity: \"top\", // `top` or `bottom`\r\n position:'right',\r\n backgroundColor: \"#ff5050\"\r\n }).showToast();\r\n}","//I hate javascript, this will be this\r\n\r\n//making this a seperate function will make the arguments passed in part of the closure context\r\n//this will allow use to use these variables once the function is called\r\nfunction RegisterFunc(func : string,context : any,proto : any) : (...args) => any {\r\n \r\n return function(...args) \r\n {\r\n context.__callercontext = this;\r\n var result = proto[func].apply(context,args);\r\n context.__callercontext = null;\r\n return result;\r\n } \r\n}\r\n\r\n\r\nasync function dxAsyncCall(event: () => Promise): Promise {\r\n await event();\r\n return true;\r\n}\r\n\r\nexport function MakeAsyncForDx(dxEvent: any, event: () => Promise): void {\r\n dxEvent.cancel = dxAsyncCall(event);\r\n}\r\n\r\nexport function FixContext(context: T): T\r\n{\r\n let proto = (context as any).__proto__;\r\n let obj: Record T> = {};\r\n (obj as any).__context = context;\r\n while(proto != null&&proto.__proto__ != null)\r\n {\r\n var funcs = Object.getOwnPropertyNames(proto);\r\n for(var f of funcs)\r\n {\r\n if(f !== \"constructor\"&&!obj.hasOwnProperty(f))\r\n {\r\n obj[f] = RegisterFunc(f,context,proto);\r\n }\r\n }\r\n proto = proto.__proto__;\r\n }\r\n return obj as T;\r\n}","import {sprintf } from 'sprintf-js';\r\n\r\nexport enum LogFlag {\r\n LIGHT = 1 << 0,\r\n STANDARD = 1 << 1,\r\n VERBOSE = 1 << 2,\r\n VERBOSEPLUS = 1 << 3,\r\n OBJECT = 1 << 4,\r\n TO_FILE = 1 << 5,\r\n ERROR = 1 << 6,\r\n WARN = 1 << 7\r\n}\r\n\r\n\r\nclass ObjLogItem {\r\n public message : string;\r\n public obj : any;\r\n constructor(message : string, obj:any)\r\n {\r\n this.message = message;\r\n this.obj = obj;\r\n }\r\n}\r\n\r\nexport class LogTimer {\r\n private _logger: Logger;\r\n private _startTime: number;\r\n private _message: string;\r\n private _level: LogFlag;\r\n private _obj : Array\r\n constructor(logger: Logger, message : string, level: LogFlag = LogFlag.STANDARD, obj: Array)\r\n {\r\n this._logger = logger;\r\n this._message = message;\r\n this._level = level;\r\n this._obj = obj;\r\n this._startTime = window.performance.now()\r\n }\r\n public LogDuration(message: string = null) {\r\n if (!message) {\r\n message = \"%2$s took %1$sms to run\";\r\n } \r\n const endTime : number = window.performance.now();\r\n const duration: number = endTime - this._startTime;\r\n this._logger.Log(sprintf(message,duration,this._message), this._level, this._obj);\r\n }\r\n}\r\n\r\n//We can disable this in the future or do something else\r\n//trying to debug a weired intermidant issue and breakpoints are working marginally\r\n//we might also beable to exclude this and any call to it during transpile\r\nexport default class Logger{\r\n static ENABLE_DEBUG_LOG: LogFlag = LogFlag.LIGHT | LogFlag.STANDARD;\r\n\r\n static Instance = new Logger(Logger.ENABLE_DEBUG_LOG);\r\n\r\n private _enableDebugLog: LogFlag;\r\n private _objLog : Array;\r\n private _log : Array;\r\n\r\n\r\n constructor(enableDebugLog: LogFlag){\r\n this._enableDebugLog = enableDebugLog;\r\n this._objLog = [];\r\n this._log = [];\r\n }\r\n\r\n public Log(message: string, level: LogFlag, ...obj: Array): void {\r\n if (level & this._enableDebugLog) {\r\n if (this._enableDebugLog & LogFlag.ERROR) {\r\n console.error(message);\r\n }\r\n else if (this._enableDebugLog & LogFlag.WARN) {\r\n console.warn(message);\r\n }\r\n else {\r\n console.log(message);\r\n }\r\n \r\n if (this._enableDebugLog & LogFlag.OBJECT) {\r\n if (obj !== null) {\r\n for (let o of obj) {\r\n console.log(o);\r\n }\r\n }\r\n }\r\n }\r\n if (this._enableDebugLog & LogFlag.TO_FILE) {\r\n if (level & this._enableDebugLog) {\r\n this._log.push(message);\r\n if (this._enableDebugLog & LogFlag.OBJECT) {\r\n if (obj !== null) {\r\n for (let o of obj) {\r\n this._objLog.push(new ObjLogItem(message, o));\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n public StartLogTimer(message: string, level: LogFlag = LogFlag.STANDARD, ...obj: Array): LogTimer {\r\n Logger.Log(message, level, obj);\r\n return new LogTimer(this,message,level,obj);\r\n }\r\n\r\n public LogException(ex: any, level: LogFlag = LogFlag.LIGHT | LogFlag.ERROR): void {\r\n if (ex.message) {\r\n Logger.Log(`An Exception has been thrown: ${ex.message}`, level, ex);\r\n } else {\r\n Logger.Log(`An Exception has been thrown`, level, ex);\r\n }\r\n }\r\n\r\n\r\n\r\n public _clearLogs() : void{\r\n this._objLog = [];\r\n this._log = [];\r\n }\r\n\r\n public _outputLog() : void{\r\n const blob = new Blob([this._log.join('\\n')], {type: 'text/plain'});\r\n\r\n const fileName = `log-${Date.now()}.txt`;\r\n // if(window[\"navigator\"].msSaveOrOpenBlob) {\r\n // window.navigator.msSaveBlob(blob, fileName);\r\n // }\r\n // else{\r\n const elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(blob);\r\n elem.download = fileName; \r\n document.body.appendChild(elem);\r\n elem.click(); \r\n document.body.removeChild(elem);\r\n //}\r\n }\r\n\r\n\r\n\r\n static debug(message : string, ...obj : Array) : void{\r\n Logger.Instance.Log(message,LogFlag.STANDARD,obj);\r\n }\r\n public static Log(message: string, level: LogFlag = LogFlag.STANDARD, ...obj: Array): void {\r\n Logger.Instance.Log(message, level, obj);\r\n }\r\n\r\n public static LogException(ex : any, level : LogFlag = LogFlag.LIGHT | LogFlag.ERROR) : void {\r\n Logger.Instance.LogException(ex, level);\r\n }\r\n\r\n public static StartLogTimer(message: string, level: LogFlag = LogFlag.STANDARD, ...obj: Array): LogTimer {\r\n return Logger.Instance.StartLogTimer(message, level, obj);\r\n }\r\n\r\n}","export interface IPromiseChain {\r\n WaitForPromises(): Promise;\r\n AddPromiseToChain(promise: Promise): Promise;\r\n}\r\n\r\nfunction ChainPromise(promise: Promise): (res) => Promise {\r\n return (res) => promise;\r\n} \r\n\r\nexport default class PromiseChain implements IPromiseChain {\r\n private _promise: Promise\r\n constructor() {\r\n this._promise = null;\r\n }\r\n\r\n public async WaitForPromises(): Promise {\r\n if (this._promise != null) {\r\n try {\r\n let currentPromise = this._promise;\r\n await currentPromise;\r\n }\r\n catch(ex) {\r\n this._promise = null;\r\n throw ex;\r\n }\r\n\r\n }\r\n }\r\n\r\n public Then(fptr: (res: () => void, rej: (reason?: string) => void) => void): void {\r\n let cRes = null;\r\n let cRej = null;\r\n\r\n let cPromise = new Promise(function (res, rej) {\r\n cRes = res;\r\n cRej = rej;\r\n });\r\n if(this._promise == null) {\r\n this._promise = cPromise;\r\n fptr(cRes, cRej);\r\n }\r\n else {\r\n this._promise = this._promise.then(async() => {\r\n fptr(cRes, cRej);\r\n await cPromise;\r\n });\r\n }\r\n \r\n }\r\n\r\n public async AddPromiseToChain(promise: Promise): Promise {\r\n try {\r\n if (this._promise == null) {\r\n this._promise = promise;\r\n }\r\n else {\r\n this._promise = this._promise.then(ChainPromise(promise));\r\n }\r\n return await promise;\r\n }\r\n catch (ex) {\r\n this._promise = null;\r\n throw ex;\r\n }\r\n \r\n }\r\n}\r\n\r\n\r\n//export class PromiseChainCollection implements IPromiseChain {\r\n// private _promises: Array>;\r\n// constructor() {\r\n// this._promises = [];\r\n// }\r\n\r\n// public async WaitForPromises(): Promise {\r\n// for (let el of this._promises) {\r\n// await el;\r\n// }\r\n// this._promises = [];\r\n// }\r\n\r\n// public AddPromiseToChain(promise: Promise): void {\r\n// this._promises.push(promise);\r\n// }\r\n//}","import {Library, IconDefinition, IconPack} from '@fortawesome/fontawesome-svg-core';\r\n\r\n\r\nimport {LoadSolid} from '../fa-solid';\r\nimport {LoadRegular} from '../fa-regular';\r\nimport {LoadLight} from '../fa-light';\r\nimport {LoadDuotone} from '../fa-duotone';\r\nimport {LoadSharpRegular} from '../fa-sharp-regular';\r\n\r\n\r\nexport interface IconTypes {\r\n regular? : string[],\r\n solid? : string[],\r\n light? : string[],\r\n brands?: string[],\r\n duotone?: string[],\r\n sharpregular?: string[],\r\n}\r\n\r\ntype IconDefinitionOrPack = IconDefinition | IconPack;\r\nclass FaFont implements Library {\r\n private data : string[];\r\n constructor() { \r\n this.data = [];\r\n }\r\n\r\n public add(...definitions: IconDefinitionOrPack[]): void {\r\n for(let icon of definitions) {\r\n let name : any = icon.iconName;\r\n this.data.push(name);\r\n }\r\n\r\n }\r\n public reset(): void {\r\n this.data = [];\r\n }\r\n\r\n public GetData() : string[] {\r\n return this.data;\r\n }\r\n}\r\n\r\n\r\n\r\nexport function GetSubsetterIcons() : IconTypes{\r\n let icons : IconTypes = {};\r\n\r\n let solid : FaFont = new FaFont();\r\n LoadSolid(solid);\r\n icons.solid = solid.GetData();\r\n\r\n let regular : FaFont = new FaFont();\r\n LoadRegular(regular);\r\n icons.regular = regular.GetData();\r\n\r\n let light : FaFont = new FaFont();\r\n LoadLight(light);\r\n icons.light = light.GetData();\r\n\r\n let duotone : FaFont = new FaFont();\r\n LoadDuotone(duotone);\r\n icons.duotone = duotone.GetData();\r\n\r\n let sharpregular: FaFont = new FaFont();\r\n LoadSharpRegular(sharpregular);\r\n icons.sharpregular = sharpregular.GetData();\r\n\r\n return icons;\r\n}","import {v4 as newGuid} from 'uuid';\r\nimport Logger, { LogFlag, LogTimer } from 'pillar/Utils/Logger';\r\nimport dxDiagram from 'devextreme/ui/diagram';\r\nimport DataSource from 'devextreme/data/data_source';\r\nimport { GetSubsetterIcons, IconTypes } from 'fa/fonts/fa-font-icons';\r\nimport CustomStore, { Options as CustomDataStoreOptions } from 'devextreme/data/custom_store';\r\nimport {FixContext } from './ContextFixer';\r\nexport function CreateDataStore(store: CustomDataStoreOptions): CustomStore {\r\n let l: any = window;\r\n return new l.DevExpress.data.CustomStore(FixContext(store));\r\n}\r\n\r\nexport default class Utils {\r\n\r\n //IDK why but this sometimes fails, like just add a timeout\r\n public static readonly EDGE_TIMEOUT: number = 8000;\r\n\r\n public static readonly EMPTY_GUID: string = \"00000000-0000-0000-0000-000000000000\";\r\n\r\n\r\n\r\n public static async ReloadDiagramNodes(diagram: dxDiagram): Promise {\r\n try {\r\n let reloadTimer: LogTimer = Logger.StartLogTimer(\"ReloadNodes\", LogFlag.STANDARD);\r\n let loaded = await Utils.LoadDataSourceWithRetry(diagram.getNodeDataSource())\r\n reloadTimer.LogDuration();\r\n\r\n reloadTimer = Logger.StartLogTimer(\"ReloadEdges\", LogFlag.STANDARD);\r\n loaded = loaded && await Utils.LoadDataSourceWithRetry(diagram.getEdgeDataSource())\r\n reloadTimer.LogDuration();\r\n\r\n return loaded;\r\n }\r\n catch {\r\n return false;\r\n }\r\n }\r\n\r\n private static async LoadDataSourceWithRetry(dSource: DataSource): Promise {\r\n let loaded = false;\r\n\r\n let timerCancel = new AbortController();\r\n for (let i = 1; i <= 3 && !loaded; i++) {\r\n\r\n let loadPromise : any = dSource.reload();\r\n loadPromise.done(() => { loaded = true; timerCancel.abort(); });\r\n\r\n await Utils.SleepWithCancel(i * 1000, timerCancel.signal); //Increase wait time with each retry\r\n\r\n if (!loaded) {\r\n dSource.cancel(loadPromise.operationId); //dont believe intellisense, it does exist\r\n }\r\n }\r\n return loaded\r\n }\r\n\r\n static IsNullOrWhitespace(input : string) : boolean {\r\n if (!input) return true;\r\n return input.replace(/\\s/gi, '').length < 1;\r\n }\r\n\r\n public static Sleep(ms: number): Promise {\r\n return new Promise(r => setTimeout(r, ms));\r\n }\r\n\r\n public static SleepWithCancel(ms: number, signal: AbortSignal): Promise {\r\n return new Promise(resolve => {\r\n signal.throwIfAborted();\r\n\r\n signal.removeEventListener('abort', abort);\r\n const timeout = setTimeout(() => {\r\n resolve();\r\n }, ms);\r\n const abort = () => {\r\n\r\n clearTimeout(timeout);\r\n resolve();\r\n }\r\n\r\n signal.addEventListener('abort', abort);\r\n });\r\n }\r\n //Don't think this is used\r\n static JsWindowFPtr(context, ptr,identifier : any = null,delAfter = false,callerContext = false) : Function{\r\n if(identifier === undefined || identifier === null)\r\n {\r\n identifier = 'jsWindowFPtr_' + newGuid();\r\n }\r\n\r\n let d: any = {\r\n context: context,\r\n identifier: identifier,\r\n delAfter: delAfter,\r\n callerContext: callerContext,\r\n ptr: function (...args) {\r\n if (callerContext) {\r\n ptr.apply(context, [this, ...args]);\r\n }\r\n else {\r\n ptr.apply(context, args);\r\n }\r\n if (delAfter) {\r\n window[identifier] = null;\r\n }\r\n }\r\n };\r\n\r\n window[identifier] = d;\r\n let f = new Function('...args',`window[\\\"${identifier}\\\"].ptr.apply(this,args)`);\r\n return f;\r\n }\r\n\r\n static ReadFileAsString(file: File): Promise {\r\n return new Promise((resolve, reject) => {\r\n let reader: FileReader = new FileReader();\r\n reader.onload = ((ev: ProgressEvent) => {\r\n resolve(ev.target.result as string);\r\n });\r\n reader.readAsText(file);\r\n });\r\n }\r\n\r\n public static async ReadFileAsBinary(file: File) : Promise {\r\n return new Promise((resolve, reject) => {\r\n let reader = new FileReader();\r\n // Add an event listener for the `load` event\r\n reader.addEventListener(\"load\", function () {\r\n // Resolve the promise with the file data\r\n resolve(reader.result);\r\n });\r\n\r\n // Add an event listener for the `error` event\r\n reader.addEventListener(\"error\", function (err) {\r\n // Reject the promise with the error\r\n reject(err);\r\n });\r\n\r\n // Start reading the file\r\n reader.readAsBinaryString(file);\r\n });\r\n }\r\n \r\n static dxCancelPromise(e: DXCancelProp,promise: Promise): JQuery.Promise {\r\n let dxPromise = $.Deferred();\r\n promise.then(result => {\r\n let state: boolean = !result;\r\n e.cancel = state;\r\n dxPromise.resolve(state);\r\n });\r\n return dxPromise.promise();\r\n }\r\n \r\n static dxCancelPromiseNoState(promise: Promise): JQuery.Promise {\r\n let dxPromise = $.Deferred();\r\n promise.then(result => {\r\n let state: boolean = !result;\r\n dxPromise.resolve(state);\r\n });\r\n return dxPromise.promise();\r\n }\r\n\r\n public static AllTheIcons(id) : void {\r\n\r\n $(window).on(\"load\", function () {\r\n let icons: IconTypes = GetSubsetterIcons();\r\n\r\n\r\n if (icons.solid) {\r\n for (let s of icons.solid) {\r\n let theClass = `fa-solid fa-${s}`;\r\n $(id).append($(`
${theClass}
`));\r\n }\r\n }\r\n\r\n if (icons.regular) {\r\n for (let s of icons.regular) {\r\n let theClass = `fa-regular fa-${s}`;\r\n $(id).append($(`
${theClass}
`));\r\n }\r\n }\r\n\r\n if (icons.light) {\r\n for (let s of icons.light) {\r\n let theClass = `fa-light fa-${s}`;\r\n $(id).append($(`
${theClass}
`));\r\n }\r\n }\r\n\r\n if (icons.duotone) {\r\n for (let s of icons.duotone) {\r\n let theClass = `fa-duotone fa-${s}`;\r\n $(id).append($(`
${theClass}
`));\r\n }\r\n }\r\n\r\n if (icons.sharpregular) {\r\n for (let s of icons.sharpregular) {\r\n let theClass = `fa-sharp fa-regular fa-${s}`;\r\n $(id).append($(`
${theClass}
`));\r\n }\r\n }\r\n\r\n\r\n })\r\n \r\n }\r\n\r\n static dxPromise(promise: Promise): JQuery.Promise {\r\n let dxPromise = $.Deferred();\r\n promise.then(result => {\r\n dxPromise.resolve(false);\r\n });\r\n return dxPromise.promise();\r\n }\r\n\r\n // ref: http://stackoverflow.com/a/1293163/2343\r\n // This will parse a delimited string into an array of\r\n // arrays. The default delimiter is the comma, but this\r\n // can be overriden in the second argument.\r\n static CSVToArray(strData, strDelimiter): Array> {\r\n // Check to see if the delimiter is defined. If not,\r\n // then default to comma.\r\n strDelimiter = (strDelimiter || \",\");\r\n\r\n // Create a regular expression to parse the CSV values.\r\n var objPattern = new RegExp(\r\n (\r\n // Delimiters.\r\n \"(\\\\\" + strDelimiter + \"|\\\\r?\\\\n|\\\\r|^)\" +\r\n\r\n // Quoted fields.\r\n \"(?:\\\"([^\\\"]*(?:\\\"\\\"[^\\\"]*)*)\\\"|\" +\r\n\r\n // Standard fields.\r\n \"([^\\\"\\\\\" + strDelimiter + \"\\\\r\\\\n]*))\"\r\n ),\r\n \"gi\"\r\n );\r\n\r\n\r\n // Create an array to hold our data. Give the array\r\n // a default empty first row.\r\n var arrData: Array> = [[]];\r\n\r\n // Create an array to hold our individual pattern\r\n // matching groups.\r\n var arrMatches = null;\r\n\r\n\r\n // Keep looping over the regular expression matches\r\n // until we can no longer find a match.\r\n while (arrMatches = objPattern.exec(strData)) {\r\n\r\n // Get the delimiter that was found.\r\n var strMatchedDelimiter = arrMatches[1];\r\n\r\n // Check to see if the given delimiter has a length\r\n // (is not the start of string) and if it matches\r\n // field delimiter. If id does not, then we know\r\n // that this delimiter is a row delimiter.\r\n if (\r\n strMatchedDelimiter.length &&\r\n strMatchedDelimiter !== strDelimiter\r\n ) {\r\n\r\n // Since we have reached a new row of data,\r\n // add an empty row to our data array.\r\n arrData.push([]);\r\n\r\n }\r\n\r\n var strMatchedValue;\r\n\r\n // Now that we have our delimiter out of the way,\r\n // let's check to see which kind of value we\r\n // captured (quoted or unquoted).\r\n if (arrMatches[2]) {\r\n\r\n // We found a quoted value. When we capture\r\n // this value, unescape any double quotes.\r\n strMatchedValue = arrMatches[2].replace(\r\n new RegExp(\"\\\"\\\"\", \"g\"),\r\n \"\\\"\"\r\n );\r\n\r\n } else {\r\n\r\n // We found a non-quoted value.\r\n strMatchedValue = arrMatches[3];\r\n\r\n }\r\n\r\n\r\n // Now that we have our value string, let's add\r\n // it to the data array.\r\n arrData[arrData.length - 1].push(strMatchedValue);\r\n }\r\n\r\n // Return the parsed data.\r\n return (arrData);\r\n }\r\n\r\n // static CombineAndReplace(base,replacements)\r\n // {\r\n // let obj = {...base, ...replacements};//the spread operator is easy enough we don't need a util for this\r\n // return obj;\r\n // }\r\n}","//fa-solid, fa, fas\r\nimport {Library} from '@fortawesome/fontawesome-svg-core';\r\n\r\nimport { faHouse } from '@fortawesome/pro-solid-svg-icons/faHouse';\r\nimport { faUser } from '@fortawesome/pro-solid-svg-icons/faUser';\r\nimport { faUserGroup } from '@fortawesome/pro-solid-svg-icons/faUserGroup';\r\nimport { faGears } from '@fortawesome/pro-solid-svg-icons/faGears';\r\nimport { faFolder } from '@fortawesome/pro-solid-svg-icons/faFolder';\r\nimport { faTableLayout } from '@fortawesome/pro-solid-svg-icons/faTableLayout';\r\nimport { faRulerTriangle } from '@fortawesome/pro-solid-svg-icons/faRulerTriangle';\r\nimport { faListCheck } from '@fortawesome/pro-solid-svg-icons/faListCheck';\r\nimport { faEnvelope } from '@fortawesome/pro-solid-svg-icons/faEnvelope';\r\nimport { faBooks } from '@fortawesome/pro-solid-svg-icons/faBooks';\r\nimport { faPlus } from '@fortawesome/pro-solid-svg-icons/faPlus';\r\nimport { faWrench } from '@fortawesome/pro-solid-svg-icons/faWrench';\r\nimport { faCompressWide } from '@fortawesome/pro-solid-svg-icons/faCompressWide';\r\nimport { faClock } from '@fortawesome/pro-solid-svg-icons/faClock';\r\nimport { faPencil } from '@fortawesome/pro-solid-svg-icons/faPencil';\r\nimport { faCopy } from '@fortawesome/pro-solid-svg-icons/faCopy';\r\nimport { faTrashCan } from '@fortawesome/pro-solid-svg-icons/faTrashCan';\r\nimport { faTrashUndoAlt } from '@fortawesome/pro-solid-svg-icons/faTrashUndoAlt';\r\nimport { faCheck } from '@fortawesome/pro-solid-svg-icons/faCheck';\r\nimport { faBan } from '@fortawesome/pro-solid-svg-icons/faBan';\r\nimport { faEye } from '@fortawesome/pro-solid-svg-icons/faEye';\r\nimport { faEyeSlash } from '@fortawesome/pro-solid-svg-icons/faEyeSlash';\r\nimport { faEllipsisVertical } from '@fortawesome/pro-solid-svg-icons/faEllipsisVertical';\r\nimport { faDroplet } from '@fortawesome/pro-solid-svg-icons/faDroplet';\r\nimport { faCircleInfo } from '@fortawesome/pro-solid-svg-icons/faCircleInfo';\r\nimport { faAnglesLeft } from '@fortawesome/pro-solid-svg-icons/faAnglesLeft';\r\nimport { faAnglesRight } from '@fortawesome/pro-solid-svg-icons/faAnglesRight';\r\nimport { faRotateLeft } from '@fortawesome/pro-solid-svg-icons/faRotateLeft';\r\nimport { faXmark } from '@fortawesome/pro-solid-svg-icons/faXmark';\r\nimport { faBuildingUser } from '@fortawesome/pro-solid-svg-icons/faBuildingUser';\r\n\r\nexport function LoadSolid(library : Library) : void\r\n{\r\n /*** Left Menu ***/\r\n //Home, House\r\n library.add(faHouse);//\r\n //User, Person\r\n library.add(faUser);//\r\n //Users, Company\r\n library.add(faUserGroup);//\r\n //Gears, Parts and Families\r\n library.add(faGears);//\r\n //Folders, Projects and Tasks\r\n library.add(faFolder);//\r\n //Table List, Forms\r\n library.add(faTableLayout);//\r\n //Gage Studies, Calculator Simple\r\n library.add(faRulerTriangle);//\r\n //List Check\r\n library.add(faListCheck);//\r\n //Envelope, Message, Mail\r\n library.add(faEnvelope);//\r\n //Books, Reusable Library\r\n library.add(faBooks);//\r\n //Building User, Company \r\n library.add(faBuildingUser);//\r\n\r\n\r\n /*** Top Menu ***/\r\n //Plus, Add\r\n library.add(faPlus);// \r\n //Wrench, Settings\r\n library.add(faWrench);//\r\n\r\n /*** Edit ***/\r\n //Pencil, Edit\r\n library.add(faPencil);//\r\n //Copy\r\n library.add(faCopy);//\r\n //Trash Can, Delete\r\n library.add(faTrashCan);//\r\n //Undo Delete\r\n library.add(faTrashUndoAlt);//\r\n //Check Mark\r\n library.add(faCheck);//\r\n //Ban, Banned\r\n library.add(faBan);//\r\n\r\n /*** Grid Icons ***/\r\n //Eye, Visible\r\n library.add(faEye);//\r\n //Eye-Slash, Invisible\r\n library.add(faEyeSlash);//\r\n //Ellipsis, Options\r\n library.add(faEllipsisVertical);//\r\n //Droplet, Color Picker\r\n library.add(faDroplet);//\r\n //Information\r\n library.add(faCircleInfo);//\r\n\r\n /*** Older/Other Icons ***/\r\n //Widget, Arrows Left\r\n library.add(faAnglesLeft);//\r\n //Widgets, Arrows Right\r\n library.add(faAnglesRight);//\r\n //Rotate Left, Undo\r\n library.add(faRotateLeft);//\r\n //X Mark\r\n library.add(faXmark);//\r\n}","//fa-regular, far\r\nimport {Library} from '@fortawesome/fontawesome-svg-core';\r\n\r\nimport { faXmark } from '@fortawesome/pro-regular-svg-icons/faXmark';\r\nimport { faBan } from '@fortawesome/pro-regular-svg-icons/faBan';\r\nimport { faCheck } from '@fortawesome/pro-regular-svg-icons/faCheck';\r\nimport { faNoteSticky } from '@fortawesome/pro-regular-svg-icons/faNoteSticky';\r\nimport { faGear } from '@fortawesome/pro-regular-svg-icons/faGear';\r\nimport { faText } from '@fortawesome/pro-regular-svg-icons/faText';\r\nimport { faChartPie } from '@fortawesome/pro-regular-svg-icons/faChartPie';\r\nimport { faClock } from '@fortawesome/pro-regular-svg-icons/faClock';\r\nimport { faGripDots } from '@fortawesome/pro-regular-svg-icons/faGripDots';\r\n\r\nimport { faChevronRight } from '@fortawesome/pro-regular-svg-icons/faChevronRight';\r\nimport { faChevronLeft } from '@fortawesome/pro-regular-svg-icons/faChevronLeft';\r\nimport { faFileImport } from '@fortawesome/pro-regular-svg-icons/faFileImport'; \r\nimport { faQuestion } from '@fortawesome/pro-regular-svg-icons/faQuestion';\r\nimport { faFilter } from '@fortawesome/pro-solid-svg-icons/faFilter'\r\nimport { faDownload } from '@fortawesome/pro-regular-svg-icons/faDownload';\r\n\r\nexport function LoadRegular(library : Library) : void \r\n{\r\n /*** Right Menu ***/\r\n //Chart Pie, Reports\r\n library.add(faChartPie);//\r\n //Clock, History\r\n library.add(faClock);//\r\n\r\n /*** Edit ***/\r\n //Ban\r\n library.add(faBan)//\r\n //Check\r\n library.add(faCheck)//\r\n\r\n /*** Grid ***/\r\n //Sticky note, Notes\r\n library.add(faNoteSticky)//\r\n //Gear, Settings\r\n library.add(faGear)//\r\n //Text\r\n library.add(faText)//\r\n //Grip, Drag\r\n library.add(faGripDots);//\r\n //X Mark\r\n library.add(faXmark);//\r\n\r\n /*** Menu Expand Buttons ***/\r\n library.add(faChevronRight)//\r\n library.add(faChevronLeft)//\r\n\r\n /*** Data Grid Toolbar ***/\r\n library.add(faDownload);//\r\n library.add(faFileImport);//\r\n library.add(faQuestion);//\r\n //Filter icon\r\n library.add(faFilter);//\r\n\r\n}","//fa-light, fal\r\nimport {Library} from '@fortawesome/fontawesome-svg-core';\r\n\r\nimport { faArrowRightFromBracket } from '@fortawesome/pro-light-svg-icons/faArrowRightFromBracket';\r\nimport { faCommentLines } from '@fortawesome/pro-light-svg-icons/faCommentLines';\r\nimport { faBookOpen } from '@fortawesome/pro-light-svg-icons/faBookOpen';\r\nimport { faCircleQuestion } from '@fortawesome/pro-light-svg-icons/faCircleQuestion';\r\nimport { faHandshake } from '@fortawesome/pro-light-svg-icons/faHandshake';\r\nimport { faBells } from '@fortawesome/pro-light-svg-icons/faBells';\r\nimport { faUserCheck } from '@fortawesome/pro-light-svg-icons/faUserCheck';\r\nimport { faClock } from '@fortawesome/pro-light-svg-icons/faClock';\r\nimport { faPieChart } from '@fortawesome/pro-light-svg-icons/faPieChart';\r\nimport { faExpand } from '@fortawesome/pro-light-svg-icons/faExpand';\r\nimport { faCompress } from '@fortawesome/pro-light-svg-icons/faCompress';\r\nimport { faMagnifyingGlass } from '@fortawesome/pro-light-svg-icons/faMagnifyingGlass';\r\nimport { faTableLayout } from '@fortawesome/pro-light-svg-icons/faTableLayout';\r\nimport { faFaceSadSweat } from '@fortawesome/pro-light-svg-icons/faFaceSadSweat';\r\n\r\nexport function LoadLight(library : Library) : void \r\n{\r\n /*** Left Menu ***/\r\n //Table layout, Forms\r\n library.add(faTableLayout); //\r\n\r\n /*** Top Menu ***/\r\n //Logout, Sign Out, Arrow From Bracket\r\n library.add(faArrowRightFromBracket);//\r\n //Resources, Open Book\r\n library.add(faBookOpen);//\r\n //Feedback, Comment Lines\r\n library.add(faCommentLines);//\r\n //Circle Question, Contact\r\n library.add(faCircleQuestion);//\r\n //Handshake, Agreements, Policies\r\n library.add(faHandshake);//\r\n //Search\r\n library.add(faMagnifyingGlass);//\r\n\r\n /*** Right Menu ***/\r\n //Bells, Alerts\r\n library.add(faBells); //\r\n //User, Check\r\n library.add(faUserCheck) //\r\n //Clock, History\r\n library.add(faClock) //\r\n //Chart-pie, Reports\r\n library.add(faPieChart) //\r\n // Full screen, expand\r\n library.add(faExpand)//\r\n // Full screen, collapse\r\n library.add(faCompress);//\r\n\r\n /*** Data Grid ***/\r\n //Face Sad, no data on grid\r\n library.add(faFaceSadSweat); //\r\n}","//fa-sharp fa-regular\r\nimport { Library } from '@fortawesome/fontawesome-svg-core';\r\n\r\nimport { faDiagramPrevious } from '@fortawesome/sharp-regular-svg-icons/faDiagramPrevious';\r\n\r\nexport function LoadSharpRegular(library: Library): void {\r\n\r\n library.add(faDiagramPrevious);//\r\n}","import { InitializedEvent } from \"devextreme/ui/button\";\r\nimport SingleCrudOperation from \"../crud/SingleCrudOperation\";\r\nimport IDraftStatus from \"../types/IDraftStatus\";\r\n\r\nexport default class EditComponent {\r\n static DebugLog(message) {\r\n if (false)\r\n console.log(message);\r\n }\r\n\r\n static SetEditing(mode) {\r\n //$(\"#Editing\").val(mode);\r\n }\r\n\r\n private static async ShowLoadingBarDuringFunction(e: any, func: (e: any) => Promise | void, jsProp: IJsProp) : Promise {\r\n if (func == null) {\r\n throw \"Function is null\";\r\n }\r\n if (jsProp && !jsProp.SkipAnimation) {\r\n await EditComponent.SetECLoading(true);\r\n }\r\n EditComponent.DebugLog(\"FunctionPromise\");\r\n EditComponent.DebugLog(func);\r\n EditComponent.DebugLog(typeof func);\r\n\r\n try {\r\n await Promise.resolve(func.apply(this, [e]));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n EditComponent.DebugLog(\"FunctionPromise Done\");\r\n if (jsProp && !jsProp.SkipAnimation) {\r\n await EditComponent.SetECLoading(false);\r\n }\r\n }\r\n\r\n private static async SetECLoading(loading) : Promise {\r\n if (loading) {\r\n EditComponent.DebugLog(\"Show Loading\")\r\n $('.btn-component2').addClass('ec-loading');\r\n await new Promise((resolve, reject) => {\r\n $('.spinner').show(400, () => resolve());\r\n });\r\n\r\n } else {\r\n EditComponent.DebugLog(\"Hide Loading\")\r\n $('.btn-component2').removeClass('ec-loading');\r\n await new Promise((resolve, reject) => {\r\n $('.spinner').hide(400, () => resolve());\r\n });\r\n }\r\n }\r\n\r\n public static async btnEditMenu_Click(e, jsProp : IJsProp) : Promise {\r\n if (!($('.ec-edit-btns:first').is(':hidden')) || $('.spinner').is(':visible')) {\r\n return false;\r\n }\r\n\r\n EditComponent.DebugLog(\"btnEditMenu_Click\");\r\n\r\n \r\n\r\n await EditComponent.ShowLoadingBarDuringFunction(e, jsProp.editstarted,jsProp)\r\n .then(successResult => {\r\n EditComponent.DebugLog(\"btnEditMenu_Click Success\");\r\n EditComponent.setEditMode();\r\n },\r\n errorResult => {\r\n EditComponent.DebugLog(\"btnEditMenu_Click Fail\");\r\n alert(errorResult);\r\n });\r\n }\r\n\r\n public static setEditMode() {\r\n\r\n EditComponent.SetEditing(2);\r\n\r\n $('.btn-component2-current').removeClass('btn-component2-current');\r\n $('.edit-btn').addClass('btn-component2-current');\r\n $('.edit-btn').addClass('edit-active');\r\n\r\n $('.ec-edit-btns').show('fast');\r\n $('.ec-print-btns').hide('fast');\r\n $('.ec-add-btns').hide('fast');\r\n $('.ec-help-btns').hide('fast');\r\n }\r\n\r\n public static async btnEdit_Init(e: InitializedEvent, jsProp: IJsProp) : Promise {\r\n let crud: SingleCrudOperation = jsProp.Crud;\r\n crud._params = { entityTypeId: jsProp.entityTypeId, entityGuid: jsProp.entityGuid };\r\n let draftStatus: IDraftStatus = await crud.ReadCallAsPromiseAsync({ dataType: 'json' });\r\n jsProp._jsManager.draftStatus = draftStatus;\r\n if (draftStatus.IsLockedByOtherUser == true) {\r\n $('.ec-edit-menu').prop('title', 'This form is blocked by ' + jsProp._jsManager.draftStatus.SystemUserName);\r\n $('.ec-edit-menu .dx-widget').addClass('disable-Class');\r\n $('.ec-edit-menu .dx-widget').removeClass('btn-component2');\r\n } else if (draftStatus.IsEditing == true) {\r\n EditComponent.setEditMode();\r\n }\r\n }\r\n\r\n public static async btnSave_Click(e, jsProp :IJsProp) : Promise {\r\n EditComponent.DebugLog(\"btnSave_Click\")\r\n\r\n await EditComponent.ShowLoadingBarDuringFunction(e, async e => {\r\n await Promise.resolve(jsProp.saving.apply(this, [e]));\r\n if (!e.cancel) {\r\n await Promise.resolve(jsProp.saved.apply(this, [e]));\r\n EditComponent.DebugLog(\"btnSave_Click Success\");\r\n EditComponent.SetEditing(0);\r\n $('.edit-btn').removeClass('btn-component2-current');\r\n $('.edit-btn').removeClass('edit-active');\r\n $('.ec-edit-btns').hide('fast');\r\n }\r\n else {\r\n EditComponent.DebugLog(\"btnSave_Click saving canceled\");\r\n }\r\n },jsProp).catch(errorResult => {\r\n EditComponent.DebugLog(\"btnSave_Click saving Fail\");\r\n alert(errorResult);\r\n });\r\n }\r\n\r\n public static async btnCancel_Click(e, jsProp :IJsProp) : Promise {\r\n EditComponent.DebugLog(\"btnCancel_Click\")\r\n\r\n await EditComponent.ShowLoadingBarDuringFunction(e, async e => {\r\n await Promise.resolve(jsProp.canceling.apply(this, [e]));\r\n if (!e.cancel) {\r\n await Promise.resolve(jsProp.canceled.apply(this, [e]));\r\n EditComponent.DebugLog(\"btnCancel_Click Success\");\r\n EditComponent.SetEditing(0);\r\n $('.edit-btn').removeClass('btn-component2-current');\r\n $('.edit-btn').removeClass('edit-active');\r\n $('.ec-edit-btns').hide('fast');\r\n }\r\n },jsProp).catch(errorResult => {\r\n EditComponent.DebugLog(\"btnSave_Click saving Fail\");\r\n alert(errorResult);\r\n });\r\n }\r\n\r\n static btnAddMenu_Click() {\r\n if ($('.spinner').is(':visible')) {\r\n //e.processOnServer = false;\r\n return false;\r\n } else {\r\n if ($('.ec-add-btns:first').is(':hidden')) {\r\n $('.ec-add-btns').show('fast');\r\n $('.ec-edit-btns').hide('fast');\r\n $('.ec-print-btns').hide('fast');\r\n $('.ec-help-btns').hide('fast');\r\n $('.btn-component2-current').removeClass('btn-component2-current');\r\n $('.add-btn').addClass('btn-component2-current');\r\n }\r\n else {\r\n $('.ec-add-btns').hide('fast');\r\n $('.add-btn').removeClass('btn-component2-current');\r\n }\r\n }\r\n }\r\n\r\n static btnHelpMenu_Click() {\r\n if ($('.spinner').is(':visible')) {\r\n //e.processOnServer = false;\r\n return false;\r\n }\r\n\r\n if ($('.ec-help-btns:first').is(':hidden')) {\r\n $('.ec-help-btns').show('fast');\r\n $('.ec-edit-btns').hide('fast');\r\n $('.ec-add-btns').hide('fast');\r\n $('.ec-print-btns').hide('fast');\r\n $('.btn-component2-current').removeClass('btn-component2-current');\r\n $('.help-btn').addClass('btn-component2-current');\r\n }\r\n else {\r\n $('.help-btn').removeClass('btn-component2-current');\r\n $('.ec-help-btns').hide('fast');\r\n }\r\n }\r\n\r\n static btnPrintMenu_Click() {\r\n if ($('.spinner').is(':visible')) {\r\n //e.processOnServer = false;\r\n return false;\r\n }\r\n\r\n if ($('.ec-print-btns:first').is(':hidden')) {\r\n $('.ec-print-btns').show('fast');\r\n $('.ec-edit-btns').hide('fast');\r\n $('.ec-add-btns').hide('fast');\r\n $('.ec-help-btns').hide('fast');\r\n $('.btn-component2-current').removeClass('btn-component2-current');\r\n $('.print-btn').addClass('btn-component2-current');\r\n }\r\n else {\r\n $('.ec-print-btns').hide('fast');\r\n $('.print-btn').removeClass('btn-component2-current');\r\n }\r\n }\r\n\r\n public static async btnDelete_Click(e, jsProp :IJsProp) : Promise {\r\n EditComponent.DebugLog(\"btnDelete_Click\")\r\n\r\n await EditComponent.ShowLoadingBarDuringFunction(e, async e => {\r\n if (jsProp.deleting) {\r\n await Promise.resolve(jsProp.deleting.apply(this, [e]));\r\n }\r\n if (!e.cancel && jsProp.deleted) {\r\n await Promise.resolve(jsProp.deleted.apply(this, [e]));\r\n if (!e.cancel) {\r\n EditComponent.DebugLog(\"btnDelete_Click Success\");\r\n EditComponent.SetEditing(0);\r\n $('.edit-btn').removeClass('btn-component2-current');\r\n $('.edit-btn').removeClass('edit-active');\r\n $('.ec-edit-btns').hide('fast');\r\n }\r\n }\r\n },jsProp);\r\n }\r\n\r\n public static async btnAdd_Click(e, jsProp:IJsProp) : Promise {\r\n EditComponent.DebugLog(\"btnAdd_Click\")\r\n if (jsProp?.newinstance)\r\n {\r\n await EditComponent.ShowLoadingBarDuringFunction(e, jsProp.newinstance,jsProp)\r\n .then(successResult => {\r\n EditComponent.DebugLog(\"btnAdd_Click Success\");\r\n $('.btn-component2-current').removeClass('btn-component2-current');\r\n $('.ec-add-btns').hide('fast');\r\n },\r\n errorResult => {\r\n EditComponent.DebugLog(\"btnAdd_Click Fail\");\r\n alert(errorResult);\r\n });\r\n }\r\n }\r\n\r\n static btnImport_Click() {\r\n if ($('.spinner').is(':visible')) {\r\n return false;\r\n }\r\n\r\n //EditComponent.SetECLoading(true);\r\n\r\n $('.btn-component2-current').removeClass('btn-component2-current');\r\n $('.ec-add-btns').hide('fast');\r\n }\r\n\r\n static btnUpload_Click() {\r\n if ($('.spinner').is(':visible')) {\r\n return false;\r\n }\r\n\r\n //EditComponent.SetECLoading(true);\r\n\r\n $('.btn-component2-current').removeClass('btn-component2-current');\r\n $('.ec-add-btns').hide('fast');\r\n }\r\n\r\n static btnCopy_Click() {\r\n if ($('.spinner').is(':visible')) {\r\n //e.processOnServer = false;\r\n return false;\r\n }\r\n\r\n //EditComponent.SetECLoading(true);\r\n\r\n $('.btn-component2-current').removeClass('btn-component2-current');\r\n $('.ec-add-btns').hide('fast');\r\n }\r\n\r\n static btnCSV_Click() {\r\n if ($('.spinner').is(':visible')) {\r\n return false;\r\n }\r\n\r\n //EditComponent.SetECLoading(true);\r\n\r\n $('.btn-component2-current').removeClass('btn-component2-current');\r\n $('.ec-print-btns').hide('fast');\r\n //refreshBtn.DoClick();\r\n }\r\n\r\n static btnPDF_Click() {\r\n if ($('.spinner').is(':visible')) {\r\n //e.processOnServer = false;\r\n return false;\r\n }\r\n\r\n //EditComponent.SetECLoading(true);\r\n\r\n $('.btn-component2-current').removeClass('btn-component2-current');\r\n $('.ec-print-btns').hide('fast');\r\n\r\n //refreshBtn.DoClick();\r\n }\r\n\r\n static btnExcel_Click() {\r\n if ($('.spinner').is(':visible')) {\r\n return false;\r\n }\r\n\r\n //EditComponent.SetECLoading(true);\r\n\r\n $('.btn-component2-current').removeClass('btn-component2-current');\r\n $('.ec-print-btns').hide('fast');\r\n //refreshBtn.DoClick();\r\n }\r\n\r\n static btnIntro_Click() {\r\n if ($('.spinner').is(':visible')) {\r\n //e.processOnServer = false;\r\n return false;\r\n }\r\n\r\n //showIntroJS();//up to the page to show it's own introJS, default functionality should have this, or hide button otherwise\r\n }\r\n\r\n static btnDoc_Click(s, e, id, docLink) {\r\n if ($('.spinner').is(':visible')) {\r\n //e.processOnServer = false;\r\n return false;\r\n }\r\n\r\n $('.ec-help-btns').hide('fast');\r\n $('.help-btn').removeClass('btn-component2-current');\r\n\r\n window.open(docLink, '_blank').focus();\r\n }\r\n\r\n static OnAddButtonInitialized(e) {\r\n e.element.addClass(\"add-btn btn-component2 float-right ec-add-icon-color\")\r\n }\r\n\r\n static OnPrintButtonInitialized(e) {\r\n e.element.addClass(\"print-btn btn-component2 float-right ec-fad-icon-color\")\r\n }\r\n\r\n static OnHelpButtonInitialized(e) {\r\n e.element.addClass(\"help-btn btn-component2 float-right ec-fad-icon-color\")\r\n }\r\n\r\n static OnFAButtonInitialized(e) {\r\n e.element.addClass(\"btn-component2 ec-fa-icon-color\")\r\n }\r\n\r\n static OnDuotoneButtonInitialized(e) {\r\n e.element.addClass(\"btn-component2 ec-fad-icon-color\")\r\n }\r\n}","import OldControlEditFormInstanceManager from './OldControlEditFormInstanceManager';\r\nimport ControlEditFormInstanceManager from './ControlEditFormInstanceManager';\r\nimport { IBaseControlEditFormItem } from './EditFormItems/base/BaseControlEditFormItem';\r\nimport { IDetailsRowContainer } from 'pillar/controlcomponents/DetailRow/DetailRowItemBuilder';\r\nimport DetailRowItemBuilder from 'pillar/controlcomponents/DetailRow/DetailRowItemBuilder';\r\nimport Validator from 'pillar/validator/validator';\r\nimport PromiseChain from 'pillar/Utils/PromiseChain';\r\nimport EditFormControllerDataManager from './EditFormControllerDataManager';\r\nimport { IEditFormLegacyCrud } from 'pillar/crud/ICrudContainer';\r\nimport IDetailRowCrud from 'pillar/crud/IDetailRowCrud';\r\nimport { IUpdateType, UpdateType } from 'pillar/types/UpdateType';\r\nimport { IMappedFieldInfo } from 'pillar/FieldInfo';\r\nimport { IXTemplateEventData } from 'pillar/HtmlTemplate/xTemplateEventData';\r\nimport { IRenderModel } from 'pillar/HtmlTemplate/DxTemplateHelpers';\r\nimport Logger from 'pillar/Utils/Logger';\r\nimport EditComponent from 'pillar/components/EditComponent';\r\nimport IDraftStatus from 'pillar/types/IDraftStatus';\r\nimport SingleCrudOperation from '../../crud/SingleCrudOperation';\r\n\r\nexport default class ControlEditForm extends PromiseChain implements IDetailsRowContainer {\r\n private _dxContainer: any;\r\n /**\r\n * @deprecated use _initalizedFrom\r\n */\r\n public _initalizedFromLegacy: any;//don't think we use this anywhere\r\n private _initalizedFrom : IXTemplateEventData//Not sure what this is used for\r\n private _legacyInstanceManager: OldControlEditFormInstanceManager;\r\n private _initalized: boolean;\r\n private _editMode: boolean;\r\n\r\n public _validationGroup: string;\r\n public _properties: Record;\r\n /**\r\n * @deprecated use dataManager\r\n */\r\n public _crud: IEditFormLegacyCrud;\r\n public dataManager: IDetailRowCrud;\r\n\r\n constructor(instanceManager: OldControlEditFormInstanceManager = null) {\r\n super();\r\n this._dxContainer = null;\r\n this._legacyInstanceManager = instanceManager;\r\n this._initalizedFromLegacy = null;\r\n this._initalizedFrom = null;\r\n this._initalized = false;\r\n this.dataManager = null;\r\n }\r\n /**\r\n * @deprecated Use ResetAsync\r\n */\r\n _Reset() : ControlEditForm {\r\n let newEditForm= new ControlEditForm(this._legacyInstanceManager);\r\n newEditForm._initalizedFromLegacy = this._initalizedFromLegacy;\r\n newEditForm._initalizedFrom = this._initalizedFrom;\r\n return newEditForm;\r\n }\r\n\r\n public async ResetAsync(): Promise {\r\n await this.WaitForPromises();\r\n let newEditForm = new ControlEditForm(this._legacyInstanceManager);\r\n newEditForm._initalizedFromLegacy = this._initalizedFromLegacy;\r\n newEditForm._initalizedFrom = this._initalizedFrom;\r\n return newEditForm;\r\n }\r\n\r\n /**\r\n * @deprecated Use SetContainer\r\n */\r\n _SetContainer(a) {\r\n //we call it in the Grid_EditingStarted and\r\n // in the OnEditFormTemplate_Init since the Grid_EditingStated \r\n //is called first we want that one to be the container\r\n if(this._dxContainer === null)\r\n {\r\n if(a.e !== null&& typeof a.e.component !== 'undefined')\r\n this._dxContainer = a.e.component;\r\n }\r\n }\r\n\r\n public SetContainer(e:any) : void {\r\n if(this._dxContainer === null)\r\n {\r\n if(e !== null&& typeof e.component !== 'undefined')\r\n this._dxContainer = e.component;\r\n }\r\n }\r\n\r\n public SetContainerWithEventData(c : IXTemplateEventData) : void {\r\n\r\n this._initalizedFrom = c;\r\n //we call it in the Grid_EditingStarted and\r\n // in the OnEditFormTemplate_Init since the Grid_EditingStated \r\n //is called first we want that one to be the container\r\n if(this._dxContainer === null)\r\n {\r\n if (c.model !== null && typeof c.model.component !== 'undefined')\r\n this._dxContainer = c.model.component;\r\n }\r\n }\r\n /**\r\n * @deprecated Use RefreshContainerAsync\r\n */\r\n _RefreshContainer(){\r\n if(this._dxContainer !== null&&typeof this._dxContainer.refresh === \"function\") {\r\n let promise = this._dxContainer.refresh();\r\n }\r\n }\r\n\r\n public async RefreshContainerAsync(): Promise {\r\n if (this._dxContainer !== null && typeof this._dxContainer.refresh === \"function\") {\r\n await Promise.resolve(this._dxContainer.refresh());\r\n }\r\n }\r\n\r\n /**\r\n * @deprecated Use SetContainerWithEventData\r\n */\r\n _EditForm_InitFromTemplate(itemData, itemIndex, itemElement, mainElement, jsProp :IJsProp) {\r\n this._initalizedFromLegacy = {\r\n itemData: itemData,\r\n itemIndex: itemIndex,\r\n itemElement: itemElement,\r\n mainElement: mainElement,\r\n control: jsProp//going to keep the old name for now here\r\n };\r\n }\r\n\r\n _InitEditFormData(data) {\r\n if (typeof data.Properties !== \"undefined\") {\r\n this._validationGroup = data.ValidationGroup;\r\n this._properties = {};\r\n for (const [index, value] of data.Properties.entries()) {\r\n let v: IBaseControlEditFormItem = DetailRowItemBuilder.ConstructEditFormItem(this,value);\r\n if (v !== null) {\r\n this._properties[v.Field.FieldName] = v;\r\n }\r\n }\r\n\r\n this._editMode = false;\r\n this._initalized = true;\r\n }\r\n }\r\n /**\r\n * @deprecated Call IsValidAsync\r\n */\r\n _IsValid(e,jsProp : IJsProp) {\r\n if (!this._initalized&&e!=null) {\r\n this._InitEditFormData(jsProp);\r\n }\r\n\r\n return this._initalized;\r\n }\r\n\r\n public async IsValidAsync(e: any, jsProp: IJsProp) : Promise {\r\n if (!this._initalized && e != null) {\r\n this._InitEditFormData(jsProp);\r\n }\r\n await this.WaitForPromises();\r\n Logger.debug(`waited for Promises. _initlized: ${this._initalized}`);\r\n return this._initalized;\r\n }\r\n\r\n /**\r\n * @deprecated\r\n */\r\n _SetEventData(e){\r\n if(typeof this._crud !== \"undefined\"&& this._crud !== null){\r\n this._crud._getEditFormData(e,this);\r\n\t\t\tthis._crud._fetchEditFormData(this.detailsEdit_initalValues.bind(this));\r\n }\r\n }\r\n\r\n\tdetailsEdit_initalValues(result) \r\n {\r\n for(let key of Object.keys(this._properties))\r\n {\r\n let field = this._properties[key];\r\n if(field !== null)\r\n {\r\n if(typeof result !== 'undefined' && result !== null && typeof result[key] !== 'undefined')\r\n {\r\n field.SetValue(result[key]);\r\n }\r\n else if (field?.Field?.FieldMapKey && result?.[field.Field.FieldMapKey]) {\r\n field.SetValue(result[field.Field.FieldMapKey]);\r\n }\r\n else{\r\n field.SetValue(null);\r\n }\r\n }\r\n }\r\n }\r\n /**\r\n * @deprecated\r\n */\r\n _CreateNewDraft(){\r\n let state = this._crud.createNewDraft();\r\n this._editMode = state;\r\n this._UpdateEditFormItemsState();\r\n }\r\n\r\n\r\n /**\r\n * @deprecated\r\n */\r\n _StartDraft(){\r\n let state = this._crud.startDraft();//will try an get the edit lock \r\n this._editMode = state;\r\n this._UpdateEditFormItemsState();\r\n }\r\n\r\n /**\r\n * @deprecated\r\n */\r\n _CheckDraft() {\r\n this._editMode = this._crud._CheckDraft();\r\n if (this._editMode) {\r\n EditComponent.setEditMode();\r\n this._UpdateEditFormItemsState();\r\n }\r\n }\r\n\r\n /**\r\n * @deprecated\r\n */\r\n _CancelDraft(){\r\n this._crud._DiscardDraft();\r\n this._editMode = false;\r\n this._UpdateEditFormItemsState();\r\n }\r\n\r\n /**\r\n * @deprecated Use SaveDraftAsync\r\n */\r\n _SaveDraft(){\r\n this._crud._SaveDraft();\r\n this._editMode = false;\r\n this._UpdateEditFormItemsState();\r\n }\r\n\r\n _UpdateEditFormItemsState() {\r\n for(const k in this._properties)\r\n {\r\n this._properties[k]._setState(this._editMode);\r\n }\r\n }\r\n\r\n\r\n\r\n /**\r\n * @deprecated Use ValidateAsync\r\n */\r\n _validate(){\r\n if(this._validationGroup !== null)\r\n {\r\n return Validator.CheckIfValid(this._validationGroup);\r\n }\r\n else{\r\n return true;\r\n }\r\n }\r\n\r\n public async ValidateAsync() : Promise{\r\n if(this._validationGroup !== null)\r\n {\r\n return await Validator.CheckIfValidAsync(this._validationGroup);\r\n }\r\n else{\r\n return true;\r\n }\r\n }\r\n\r\n public ResetValidation(): void\r\n {\r\n if (this._validationGroup !== null)\r\n {\r\n return Validator.ResetValidation(this._validationGroup);\r\n }\r\n }\r\n\r\n public PopulateTemplateValue(templateData: IRenderModel,jsProp :IJsProp) : void {\r\n //let rec = editForm._properties.filter((x) => { return x.ControlID == data.ControlID });\r\n if(!templateData.Value) {\r\n templateData.Value = null;\r\n } \r\n let prop = this._properties[jsProp.Field.FieldName];\r\n if (typeof prop !== 'undefined' && prop !== null) {\r\n prop.PopulateTemplateValues(templateData, jsProp);\r\n }\r\n }\r\n\r\n /**\r\n * @deprecated Use PopulateTemplateValue\r\n */\r\n _populateTemplateValue(jsProp :IJsProp) {\r\n //let rec = editForm._properties.filter((x) => { return x.ControlID == data.ControlID });\r\n let result: any = { Value: null };\r\n \r\n let prop = this._properties[jsProp.Field.FieldName];\r\n if (typeof prop !== 'undefined' && prop !== null) {\r\n prop._populateTemplateValues(result, jsProp);\r\n }\r\n return result;\r\n }\r\n\r\n _customTemplateData(jsProp :IJsProp) : any{\r\n let results : any = {};\r\n let prop = this._properties[jsProp.Field.FieldName];\r\n \r\n return results;\r\n }\r\n\r\n /**\r\n * @deprecated Use ValueUpdatedEventAsync\r\n */\r\n _unfocusEvent(field: IMappedFieldInfo) {\r\n let v = this._properties[field.FieldName];\r\n if(typeof v !== 'undefined'&&v !== null)\r\n {\r\n v._valueUpdated();\r\n }\r\n }\r\n /**\r\n * @deprecated Use ValueUpdatedEventAsync\r\n */\r\n ValueUpdatedEvent(update: IUpdateType) : void {\r\n let v = this._properties[update.Field.FieldName];\r\n if (typeof v !== 'undefined' && v !== null) {\r\n v.ValueUpdatedEvent(update);\r\n }\r\n }\r\n\r\n public ResetAllControlValue(): void {\r\n for (let k in this._properties) {\r\n this._properties[k].ResetControlValue();\r\n }\r\n }\r\n\r\n \r\n public async ValueUpdatedEventAsync(e: DXValueChangedEvent, jsProp:IJsProp) : Promise {\r\n let v : IBaseControlEditFormItem = this._properties[jsProp.Field.FieldName];\r\n if (typeof v !== 'undefined' && v !== null) {\r\n\r\n let obj: UpdateType = new UpdateType();\r\n obj.Field = jsProp.Field;\r\n obj.value = e.value\r\n obj.previousValue = e.previousValue;\r\n await v.ValueUpdatedEventAsync(obj);\r\n }\r\n }\r\n\r\n _controlInitEvent(field: IMappedFieldInfo,e) {\r\n let v = this._properties[field.FieldName];\r\n if(typeof v !== 'undefined'&&v !== null)\r\n {\r\n v._initEvent(e);\r\n }\r\n }\r\n\r\n public async InitAsync(e : DXContainerInitializedEvent, jsProp : IJsProp) : Promise { \r\n Logger.debug(`Init Called`,jsProp, e);\r\n if(await this.IsValidAsync(e,jsProp)) {\r\n this.dataManager = jsProp.CreateClientSideCrudObjectFunc(jsProp);\r\n this.dataManager.SetKeyFromTemplateModel(this._initalizedFrom?.model);\r\n let data = await this.dataManager.GetDataAsync();\r\n this.detailsEdit_initalValues(data);\r\n var checkDraft = await this.dataManager.CheckDraftAsync();\r\n if (checkDraft) {\r\n console.log(checkDraft);\r\n if (checkDraft.IsLockedByOtherUser == true) {\r\n $('.ec-edit-menu').prop('title', 'This form is blocked by ' + checkDraft.SystemUserName);\r\n $('.ec-edit-menu .dx-widget').addClass('disable-Class');\r\n $('.ec-edit-menu .dx-widget').removeClass('btn-component2');\r\n } else if (checkDraft.IsEditing == true) {\r\n this._editMode = true;\r\n this._UpdateEditFormItemsState();\r\n EditComponent.setEditMode();\r\n }\r\n }\r\n }\r\n Logger.debug(`End of Init`,jsProp, e);\r\n }\r\n\r\n public async EditStartedAsync(e: DXGridEditingStartEvent | any, jsProp : IJsProp): Promise {\r\n Logger.debug(`EditingStarted Called`, jsProp, e);\r\n if (await this.IsValidAsync(e,jsProp)) {\r\n\r\n this._editMode = await this.dataManager.StartEditAsync();\r\n this._UpdateEditFormItemsState();\r\n }\r\n $(\".dx-command-edit span\").addClass(\"edit-disabled\");\r\n $(\".ags-edit-component .ec-print-menu .dx-button\").addClass(\"dx-state-disabled\");\r\n $(\".ags-edit-component .ec-add-menu .dx-button\").addClass(\"dx-state-disabled\");\r\n Logger.debug(`End of EditingStarted`, jsProp, e);\r\n }\r\n public async OnContentReadyAsync(e: DXContainerContentReadyEvent, jsProp : IJsProp) : Promise {\r\n Logger.debug(`Grid_OnContentReady Called`,jsProp,e);\r\n if (await this.IsValidAsync(e,jsProp))\r\n {\r\n //once all the controls are loaded let's get a draft\r\n this._editMode = await this.dataManager.StartEditAsync();\r\n this._UpdateEditFormItemsState();\r\n }\r\n Logger.debug(`End of Grid_OnContentReady`,jsProp,e);\r\n }\r\n\r\n public async Grid_EditingStartedAsync(e: DXGridEditingStartEvent, jsProp : IJsProp) : Promise {\r\n Logger.debug(`Grid_EditingStarted Called`,jsProp,e);\r\n this.SetContainer(e);\r\n if (await this.IsValidAsync(e, jsProp)) {//this is probably false\r\n this.dataManager = jsProp.CreateClientSideCrudObjectFunc(jsProp);\r\n this.dataManager._dataKey = e.key;\r\n let data = await this.dataManager.GetDataAsync();\r\n this.detailsEdit_initalValues(data);\r\n }\r\n $(\".dx-command-edit span\").addClass(\"edit-disabled\");\r\n $(\".ags-edit-component .ec-print-menu .dx-button\").addClass(\"dx-state-disabled\");\r\n $(\".ags-edit-component .ec-add-menu .dx-button\").addClass(\"dx-state-disabled\");\r\n Logger.debug(`End of Grid_EditingStarted`,jsProp,e);\r\n }\r\n\r\n public async CreateNewEmptyInstanceAsync(e: DXInitNewRowEvent, jsProp : IJsProp) : Promise {\r\n let crud: IDetailRowCrud = jsProp.CreateClientSideCrudObjectFunc(jsProp);//Update this\r\n this.dataManager = crud;\r\n let efcdm: EditFormControllerDataManager = this.dataManager as EditFormControllerDataManager;\r\n let editPromise: Promise = null;\r\n if (efcdm.CreateNewItemAsync)\r\n {\r\n editPromise = efcdm.CreateNewItemAsync();\r\n }\r\n else {\r\n editPromise = this.dataManager.StartEditAsync();\r\n }\r\n this._InitEditFormData(jsProp);\r\n this.SetContainer(e);\r\n if (await this.IsValidAsync(e, jsProp)) {\r\n this._editMode = await editPromise;\r\n this._UpdateEditFormItemsState();\r\n this.dataManager.SetKeyFromTemplateModel(this._initalizedFrom?.model);\r\n let data = await this.dataManager.GetDataAsync();\r\n this.detailsEdit_initalValues(data);\r\n }\r\n $(\".dx-command-edit span\").addClass(\"edit-disabled\");\r\n $(\".ags-edit-component .ec-print-menu .dx-button\").addClass(\"dx-state-disabled\");\r\n $(\".ags-edit-component .ec-add-menu .dx-button\").addClass(\"dx-state-disabled\");\r\n }\r\n\r\n public async EditingCancelingAsync(e: DXCancelingEvent, jsProp:IJsProp) : Promise {\r\n Logger.debug(`EditingCanceling Called `,jsProp,e);\r\n if(await this.IsValidAsync(e,jsProp)){\r\n await this.dataManager.CancelEditAsync();\r\n this._editMode = false;\r\n this._UpdateEditFormItemsState();\r\n }\r\n Logger.debug(`End of EditingCanceling`, jsProp, e);\r\n return true;//Return true = Cancel is valid\r\n }\r\n\r\n public async DeleteForm(e: DXDeletingEvent, jsProp: IJsProp): Promise {\r\n Logger.debug(`DeletingRecordAsync Called`);\r\n if (await this.IsValidAsync(e, jsProp)) {\r\n await this.dataManager.DeleteRecordAsync();\r\n //Deleting the record will make it exit EditMode\r\n //We might want to even hide the controls once editing is finished\r\n //will just do the same thing as cancel\r\n this._editMode = false;\r\n this._UpdateEditFormItemsState();\r\n }\r\n\r\n\r\n Logger.debug(`End of DeletingRecordAsync`);\r\n return true;\r\n }\r\n\r\n public static ShouldPerformSave(e : DXSavingEvent | DXSavedEvent) : boolean {\r\n if(e !== null&& Array.isArray(e.changes)){\r\n for(let el of e.changes){\r\n if(typeof el.type !== \"undefined\" && el.type == \"remove\"){\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n } \r\n\r\n\r\n public async SavingAsync(e: DXSavingEvent, jsProp:IJsProp) : Promise {\r\n Logger.debug(`Saving Called`,jsProp,e);\r\n if(ControlEditForm.ShouldPerformSave(e)){\r\n\r\n if (await this.IsValidAsync(e,jsProp))\r\n {\r\n if(!await this.ValidateAsync()){\r\n Logger.debug(`Validation Failed`,jsProp,e);\r\n return false;\r\n }\r\n }\r\n Logger.debug(`End of Saving, Validation Passed`,jsProp,e);\r\n }\r\n else{\r\n Logger.debug(`Saving Operation is not required`,jsProp,e);\r\n }\r\n return true;\r\n }\r\n\r\n public async SavedAsync(e: DXSavedEvent, jsProp : IJsProp) : Promise \r\n {\r\n if(ControlEditForm.ShouldPerformSave(e)){\r\n Logger.debug(`Saved Called `,jsProp,e);\r\n //this will only run in e.cancel = false\r\n if (await this.IsValidAsync(e,jsProp))\r\n {\r\n await this.dataManager.SaveEditAsync();\r\n this._editMode = false;\r\n this._UpdateEditFormItemsState();\r\n //this._clearEditForm(jsProp);\r\n await this.RefreshContainerAsync();\r\n }\r\n $(\".dx-command-edit span\").removeClass(\"edit-disabled\");\r\n $(\".ags-edit-component .ec-print-menu .dx-button\").removeClass(\"dx-state-disabled\");\r\n $(\".ags-edit-component .ec-add-menu .dx-button\").removeClass(\"dx-state-disabled\");\r\n Logger.debug(`End of Saved`,jsProp,e);\r\n }\r\n else{\r\n Logger.debug(`Saved Operation is not required`,jsProp,e);\r\n }\r\n }\r\n \r\n}\r\n\r\n","import DraftController from \"pillar/crud/DraftController\";\r\nimport IDetailRowCrud from 'pillar/crud/IDetailRowCrud';\r\nimport {IControllerEvent} from 'pillar/types/EndPointTypes';\r\nimport { IUpdateType } from 'pillar/types/UpdateType';\r\nimport { IRenderModel } from 'pillar/HtmlTemplate/DxTemplateHelpers';\r\n\r\nexport default class EditFormControllerDataManager extends DraftController implements IDetailRowCrud {\r\n constructor(controllerEventHandler) {\r\n super(controllerEventHandler);\r\n }\r\n public async GetDataAsync(): Promise{\r\n return await this.ReadAllRecordsAsync();\r\n }\r\n public async CreateNewItemAsync(): Promise{\r\n let event: IControllerEvent = this._endpoints.CREATE_NEW;\r\n if(event)\r\n {\r\n let result = await this.ReadCallAsPromiseAsync(event,{dataType: 'json'});\r\n this._dataKey = result;\r\n this._hasDraft = true;\r\n return this._hasDraft;\r\n }\r\n else{\r\n return await this.StartDraftAsync();\r\n }\r\n }\r\n public async StartEditAsync(): Promise{\r\n return await this.StartDraftAsync();\r\n }\r\n public async UpdateAsync(record: IUpdateType) : Promise{\r\n return await this.UpdateDraftAsync(record);\r\n }\r\n public async SaveEditAsync(): Promise{\r\n return await this.SaveDraftAsync();\r\n }\r\n public async CancelEditAsync(): Promise{\r\n return await this.DiscardDraftAsync();\r\n }\r\n public async CheckDraftInitAsync(): Promise {\r\n return await this.CheckDraftAsync();\r\n }\r\n public SetKeyFromTemplateModel(model: IRenderModel) : void \r\n {\r\n if(model?.data&& this.key in model.data){\r\n this._dataKey = model.data[this.key];\r\n }\t\r\n\r\n }\r\n\r\n}","import { GroupItem, ResolvedData } from 'devextreme/data/custom_store';\r\n\r\nexport interface IBeforeSend {\r\n cache: boolean;\r\n data: object;\r\n dataType: string;\r\n method: string;\r\n url: string;\r\n}\r\n\r\nexport type DxDataStoreLoadType = {\r\n data: Array | Array;\r\n totalCount?: number;\r\n summary?: Array;\r\n groupCount?: number;\r\n};\r\n\r\nexport function GetDataFromResolvedData(d: ResolvedData): any[] {\r\n let resolveData: DxDataStoreLoadType = d as DxDataStoreLoadType;\r\n if (resolveData.data) {\r\n return resolveData.data;\r\n }\r\n else {\r\n return d as any[];\r\n }\r\n}","import IDetailRowCrud from 'pillar/crud/IDetailRowCrud';\r\nimport { IRenderModel } from '../../HtmlTemplate/DxTemplateHelpers';\r\nimport { IUpdateType } from '../../types/UpdateType';\r\nimport IDataSourceProperties, { IDataSourcePropertiesText} from 'pillar/types/IDataSourceProperties';\r\nimport CustomStore from 'devextreme/data/custom_store';\r\nimport { GetDataFromResolvedData } from 'pillar/types/DxDataType';\r\nimport { ResolvedData } from 'devextreme/data/custom_store';\r\nimport IDraftStatus from '../../types/IDraftStatus';\r\n\r\n\r\n\r\nexport default class EditFormDataStoreManager implements IDetailRowCrud {\r\n public _dataKey: string;\r\n public key: string;\r\n private _dataSourceProperties: IDataSourceProperties;\r\n private _store: CustomStore;\r\n private _editRow: {};\r\n private _isNew: boolean;\r\n constructor(store: CustomStore, dataSourceProperties: IDataSourceProperties) {\r\n this._store = store;\r\n this._dataSourceProperties = dataSourceProperties;\r\n if (dataSourceProperties?.Key) {\r\n this.key = dataSourceProperties.Key;\r\n }\r\n else {\r\n this.key = \"Guid\";\r\n }\r\n this._editRow = null;\r\n this._isNew = false;\r\n }\r\n public async CheckDraftAsync(): Promise {\r\n return { IsEditing: false, IsLockedByOtherUser: false } as IDraftStatus;\r\n }\r\n\r\n private SuccessMessage(msg: IDataSourcePropertiesText) : void {\r\n if (this._dataSourceProperties?.SuccessMessage) {\r\n this._dataSourceProperties.SuccessMessage(msg);\r\n }\r\n }\r\n private FailureMessage(msg: IDataSourcePropertiesText): void {\r\n if (this._dataSourceProperties?.FailureMessage) {\r\n this._dataSourceProperties.FailureMessage(msg);\r\n }\r\n }\r\n\r\n public SetKeyFromTemplateModel(model: IRenderModel): void {\r\n if (model?.data && this.key in model.data) {\r\n this._dataKey = model.data[this.key];\r\n }\t\r\n }\r\n public async GetDataAsync(): Promise {\r\n if (this._editRow == null) {\r\n try {\r\n let v = GetDataFromResolvedData(await this._store.load());\r\n let res: any = v.find(x => x[this.key] == this._dataKey);\r\n this.SuccessMessage(this._dataSourceProperties?.GetDataText);\r\n if (res == null) {\r\n let newRow = {};\r\n newRow[this.key] = this._dataKey;\r\n return newRow;\r\n } else {\r\n return res;\r\n }\r\n\r\n }\r\n catch(ex) {\r\n this.FailureMessage(this._dataSourceProperties?.GetDataText);\r\n throw ex;\r\n }\r\n }\r\n else {\r\n return this._editRow;\r\n }\r\n \r\n }\r\n public async StartEditAsync(): Promise {\r\n if (this._editRow == null) {\r\n try {\r\n let v = GetDataFromResolvedData(await this._store.load());\r\n let res: any = v.find(x => x[this.key] == this._dataKey);\r\n if (res == null) {\r\n this._editRow = {};\r\n this._editRow[this.key] = this._dataKey;\r\n this._isNew = true;\r\n } else {\r\n this._editRow = { ...res };\r\n this._isNew = false;\r\n }\r\n this.SuccessMessage(this._dataSourceProperties?.StartEditText);\r\n \r\n return true;\r\n }\r\n catch (ex) {\r\n this.FailureMessage(this._dataSourceProperties?.StartEditText);\r\n throw ex;\r\n }\r\n\r\n }\r\n else {\r\n this.FailureMessage(this._dataSourceProperties?.StartEditText);\r\n }\r\n return false;\r\n }\r\n public async UpdateAsync(record: IUpdateType): Promise {\r\n if (this._editRow != null) {\r\n this._editRow[record.Field.FieldName] = record.value;\r\n this.SuccessMessage(this._dataSourceProperties?.UpdateText);\r\n return true;\r\n }\r\n else {\r\n this.FailureMessage(this._dataSourceProperties?.UpdateText);\r\n }\r\n return false;\r\n }\r\n public async SaveEditAsync(): Promise {\r\n if (this._editRow != null) {\r\n \r\n try {\r\n //if (this._isNew) {\r\n // this._store.insert(this._editRow);\r\n //}\r\n //else {\r\n this._store.update(this._dataKey, this._editRow);\r\n this._editRow = null;\r\n this.SuccessMessage(this._dataSourceProperties?.SaveText);\r\n return true;\r\n\r\n //}\r\n }\r\n catch (ex) {\r\n this.FailureMessage(this._dataSourceProperties?.SaveText);\r\n throw ex;\r\n }\r\n }\r\n else {\r\n this.FailureMessage(this._dataSourceProperties?.SaveText);\r\n }\r\n return false;\r\n }\r\n public async CancelEditAsync(): Promise {\r\n if (this._editRow != null) {\r\n this._editRow = null;\r\n this.SuccessMessage(this._dataSourceProperties?.CancelText);\r\n return true;\r\n }\r\n else {\r\n this.FailureMessage(this._dataSourceProperties?.CancelText);\r\n }\r\n return false;\r\n }\r\n public async DeleteRecordAsync(): Promise {\r\n this.FailureMessage(this._dataSourceProperties?.DeleteText);\r\n //TODO: implement this\r\n return true;\r\n }\r\n\r\n}","import Logger from 'pillar/Utils/Logger';\r\nimport { IXTemplateEventData } from 'pillar/HtmlTemplate/xTemplateEventData';\r\nimport ControlEditForm from './ControlEditForm';\r\nimport IDetailRowCrud from 'pillar/crud/IDetailRowCrud';\r\nimport EditFormControllerDataManager from \"./EditFormControllerDataManager\";\r\nimport EditFormDataStoreManager from './EditFormDataStoreManager';\r\nimport Utils from 'pillar/Utils/Utils';\r\n\r\n\r\n\r\n\r\nexport default class ControlEditFormInstanceManager\r\n{\r\n public static async OnEditFormTemplate_InitAsync(e: IXTemplateEventData,jsProp : IJsProp): Promise {\r\n Logger.debug(`OnEditFormTemplate_InitAsync Called`,e.model,jsProp);\r\n let editForm: ControlEditForm = ControlEditFormInstanceManager.GetInstance(jsProp);\r\n if (editForm != null) {\r\n editForm.SetContainerWithEventData(e);\r\n }\r\n Logger.debug(`End of OnEditFormTemplate_Init `,e.model,jsProp);\r\n }\r\n\r\n public static async OnControlTemplate_InitAsync(e: IXTemplateEventData, jsProp: IJsProp): Promise {\r\n Logger.debug(`OnControlTemplate_InitAsync Called `, e.model, jsProp,e);\r\n let editForm: ControlEditForm = ControlEditFormInstanceManager.GetInstance(jsProp);\r\n if (editForm != null && await editForm.IsValidAsync(e, jsProp)) {\r\n editForm.PopulateTemplateValue(e.model,jsProp);\r\n Logger.debug(`End of OnControlTemplate_InitAsync `, e.model, jsProp, e);\r\n return;\r\n }\r\n Logger.debug(`OnControlTemplate_InitAsync ended in an invalid state`);\r\n }\r\n\r\n public static async InitAsync(e : DXContainerInitializedEvent, jsProp : IJsProp) : Promise {\r\n \r\n let editForm: ControlEditForm = ControlEditFormInstanceManager.GetInstance(jsProp,true);\r\n if(editForm !== null)\r\n {\r\n await editForm.AddPromiseToChain(editForm.InitAsync(e, jsProp));\r\n }\r\n }\r\n\r\n \r\n public static async CreateNewEmptyInstanceAsync(e: DXInitNewRowEvent, jsProp : IJsProp) : Promise {\r\n let newInstance: ControlEditForm = new ControlEditForm();\r\n ControlEditFormInstanceManager.SetInstance(jsProp,newInstance);\r\n await newInstance.AddPromiseToChain(newInstance.CreateNewEmptyInstanceAsync(e, jsProp));\r\n // Logger.debug(`End of CreateNewEmptyInstance ${instanceKey}`,jsProp,e);\r\n }\r\n\r\n public static async EditingStartedAsync(e: DXGridEditingStartEvent & IDefCancel, jsProp : IJsProp) : Promise\r\n {\r\n let editForm: ControlEditForm = ControlEditFormInstanceManager.GetInstance(jsProp);\r\n if (editForm != null) {\r\n await editForm.AddPromiseToChain(editForm.EditStartedAsync(e, jsProp));\r\n }\r\n }\r\n\r\n public static async EditingCancelingAsync(e : DXCancelingEvent & IDefCancel, jsProp : IJsProp) : Promise\r\n {\r\n let editForm: ControlEditForm = ControlEditFormInstanceManager.GetInstance(jsProp);\r\n if (editForm != null)\r\n {\r\n jsProp._jsManager.hidingPromise = null;\r\n await editForm.AddPromiseToChain(editForm.EditingCancelingAsync(e, jsProp));\r\n //e.cancel = Utils.dxCancelPromise(promise);\r\n }\r\n }\r\n\r\n public static async EditingCanceledAsync(e: DXCanceledEvent, jsProp : IJsProp) : Promise\r\n {\r\n Logger.debug(`EditingCanceling Called`);\r\n //this.EditForms[jsProp.EditFormID] = {};//will still have the object stay loaded in memory, we can modify the data in EditStarted\r\n $(\".dx-command-edit span\").removeClass(\"edit-disabled\");\r\n $(\".ags-edit-component .ec-print-menu .dx-button\").removeClass(\"dx-state-disabled\");\r\n $(\".ags-edit-component .ec-add-menu .dx-button\").removeClass(\"dx-state-disabled\");\r\n Logger.debug(`End of EditingCanceling`);\r\n }\r\n\r\n public static async DeletingRecordAsync(e: DXDeletingEvent, jsProp: IJsProp): Promise {\r\n let editForm: ControlEditForm = ControlEditFormInstanceManager.GetInstance(jsProp);\r\n if (editForm != null) {\r\n await editForm.AddPromiseToChain(editForm.DeleteForm(e, jsProp));\r\n }\r\n }\r\n\r\n public static async DeletedRecordAsync(e: DXDeletedEvent, jsProp: IJsProp): Promise {\r\n Logger.debug(`DeletedRecordAsync Called`);\r\n Logger.debug(`End of DeletedRecordAsync`);\r\n }\r\n\r\n public static async SavingAsync(e : DXSavingEvent, jsProp: IJsProp) : Promise\r\n {\r\n let editForm: ControlEditForm = ControlEditFormInstanceManager.GetInstance(jsProp);\r\n if(editForm != null)\r\n {\r\n let promise: Promise = editForm.SavingAsync(e, jsProp);\r\n e.promise = Utils.dxCancelPromise(e, promise);//tells DX to await the promise\r\n jsProp._jsManager.hidingPromise = promise;\r\n await promise;//tells the JsManager to wait before executing the next event\r\n }\r\n }\r\n\r\n public static async SavedAsync(e: DXSavedEvent, jsProp:IJsProp) : Promise\r\n {\r\n let editForm: ControlEditForm = ControlEditFormInstanceManager.GetInstance(jsProp);\r\n if(editForm != null)\r\n {\r\n await editForm.AddPromiseToChain(editForm.SavedAsync(e, jsProp));\r\n }\r\n }\r\n\r\n public static CreateCrudObj(invokerArgs: any, jsProp: IJsProp): IDetailRowCrud {\r\n Logger.debug(`CreateCrudObj Called`, jsProp);\r\n if (jsProp.DataSource) {\r\n return new EditFormDataStoreManager(jsProp.DataSource, jsProp.DataSourceProperties);\r\n }\r\n else if (jsProp.Controller) {\r\n return new EditFormControllerDataManager(jsProp.Controller);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n public static async OnControlUnFocusAsync(e: DXUnfocusedEvent, jsProp: IJsProp) : Promise {\r\n\r\n }\r\n\r\n public static async OnControlValueChangedAsync(e: DXValueChangedEvent, jsProp:IJsProp) : Promise {\r\n Logger.debug(`OnControlValueChanged Called`,jsProp,e);\r\n let editForm: ControlEditForm = ControlEditFormInstanceManager.GetInstance(jsProp);\r\n if (editForm != null)\r\n {\r\n editForm.AddPromiseToChain(editForm.ValueUpdatedEventAsync(e, jsProp));\r\n }\r\n Logger.debug(`End of OnControlValueChanged `,jsProp,e);\r\n }\r\n\r\n public static async OnControlInitAsync(e: DXInitEvent, jsProp : IJsProp ) : Promise {\r\n let editForm: ControlEditForm = ControlEditFormInstanceManager.GetInstance(jsProp);\r\n if (editForm != null)\r\n {\r\n editForm._controlInitEvent(jsProp.Field,e);\r\n }\r\n }\r\n\r\n public static async Grid_EditingStartedAsync(e: DXGridEditingStartEvent & IDefCancel, jsProp : IJsProp) : Promise {\r\n let editForm: ControlEditForm = ControlEditFormInstanceManager.GetInstance(jsProp);\r\n if(editForm != null)\r\n {\r\n await editForm.AddPromiseToChain(editForm.Grid_EditingStartedAsync(e, jsProp));\r\n }\r\n }\r\n\r\n public static async Grid_OnContentReadyAsync(e: DXContainerContentReadyEvent, jsProp : IJsProp) : Promise {\r\n\r\n let editForm: ControlEditForm = ControlEditFormInstanceManager.GetInstance(jsProp);\r\n if (editForm != null)\r\n {\r\n editForm.AddPromiseToChain(editForm.OnContentReadyAsync(e, jsProp));\r\n }\r\n }\r\n\r\n public static GetInstance(jsProp: IJsProp, reset: boolean = false): ControlEditForm {\r\n let instance: ControlEditForm = null;\r\n if (typeof jsProp?._jsManager?.Instance !== 'undefined' && jsProp._jsManager.Instance != null) {\r\n instance = jsProp._jsManager.Instance;\r\n if (reset) {\r\n instance = instance._Reset();\r\n jsProp._jsManager.Instance = instance;\r\n }\r\n }\r\n else if (jsProp?._jsManager){\r\n instance = new ControlEditForm();\r\n jsProp._jsManager.Instance = instance;\r\n }\r\n return instance;\r\n }\r\n\r\n public static SetInstance(jsProp: IJsProp, editForm: ControlEditForm): ControlEditForm {\r\n jsProp._jsManager.Instance = editForm;\r\n return editForm;\r\n }\r\n}","import Crud from \"./Crud\";\r\nimport Logger from 'pillar/Utils/Logger'\r\n\r\n\r\nexport default class LegacyDraftController extends Crud {\r\n public _formKey: string;\r\n public _hasDraft: boolean;\r\n constructor(controllerEventHandler) {\r\n super(controllerEventHandler);\r\n this._hasDraft = false;\r\n }\r\n\r\n _lockDraftPars() : any{//update this\r\n return this._unlockDraftPars();\r\n }\r\n\r\n _unlockDraftPars() : any{//update this\r\n let data = {...this._params};\r\n data.key = this._formKey;\r\n return data;\r\n }\r\n\r\n _updateDraftData() : any{//update this\r\n return this._unlockDraftPars();\r\n }\r\n\r\n _createNewData() : any{//update this\r\n return this._unlockDraftPars();\r\n }\r\n\r\n public override _update(record: any): any {\r\n this._updateDraft(record);\r\n }\r\n\r\n _updateDraft(record) : void{\r\n let data = this._updateDraftData();\r\n if(data !== null)\r\n {\r\n data = {...data,...record};\r\n }\r\n else{\r\n data = record;\r\n }\r\n\r\n let endpoint = this._endpoints.UPDATE_DRAFT\r\n if(endpoint != null)\r\n {\r\n Crud.PostCall(endpoint.FullEndPoint,data)//update this\r\n .done((result) => {\r\n Logger.debug(`Updated Draft`,data);\r\n });\r\n }\r\n }\r\n\t\r\n\tcreateNewDraft() : boolean {\r\n let endpoint = this._endpoints.CREATE_NEW\r\n if(endpoint != null)\r\n {\r\n let lcked : boolean = false;\r\n Crud.ReadCallJson(endpoint.FullEndPoint,this._createNewData())\r\n .done(result => {\r\n Logger.debug(`Create New Draft`,result);\r\n this._formKey = result;\r\n lcked = true;\r\n });\r\n this._hasDraft = lcked;\r\n return lcked;\r\n }\r\n else{ \r\n // I use the same end point for the inital object creation and \r\n // create a draft for an existing object\r\n return this.startDraft();\r\n }\r\n }\r\n\r\n _CheckDraft() {\r\n let endpoint = this._endpoints.CHECK_DRAFT;\r\n if (endpoint != null) {\r\n return Crud.ReadCallJson(endpoint.FullEndPoint, this._lockDraftPars())\r\n .done(result => {\r\n Logger.debug(`Check Draft`, result);\r\n });\r\n }\r\n }\r\n\r\n startDraft() : boolean {\r\n let endpoint = this._endpoints.CREATE_DRAFT\r\n if(endpoint != null)\r\n {\r\n let lcked : boolean = false; //this is pretty bad\r\n Crud.ReadCallJson(endpoint.FullEndPoint,this._lockDraftPars())\r\n .done(result => {\r\n Logger.debug(`Start Draft`,result);\r\n let key = result[this.key];\r\n if(typeof key === 'undefined'|| key === null)\r\n {\r\n return;\r\n }\r\n if(typeof this._formKey === 'undefined' || this._formKey === null)\r\n {\r\n this._formKey = key;\r\n }\r\n else if(this._formKey != key)\r\n {\r\n throw \"Locking Exception\";//🀷 something went wrong\r\n }\r\n lcked = true;//we get a sucess and the key matches so it's locked\r\n\r\n });\r\n this._hasDraft = lcked;\r\n return lcked;\r\n }\r\n return false;\r\n }\r\n\r\n _SaveDraft(){\r\n let endpoint = this._endpoints.SAVE_DRAFT\r\n if(endpoint != null)\r\n {\r\n //Not sure why I made this a get operation but all it does is notfiy the server to unlock the draft\r\n //maybe I could updated it\r\n let data = this._unlockDraftPars();\r\n Crud.ReadCall(endpoint.FullEndPoint,data)\r\n .done(result => {\r\n Logger.debug(`Save Draft`,data);\r\n });\r\n this._hasDraft = false;//we just assume the draft is good an gone we won't wait for the callback\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n _DiscardDraft(){\r\n let endpoint = this._endpoints.DELETE_DRAFT\r\n if(endpoint != null)\r\n {\r\n let data = this._unlockDraftPars();\r\n Crud.ReadCall(endpoint.FullEndPoint,data)\r\n .done(result => {\r\n Logger.debug(`Draft Deleted`,data);\r\n });\r\n this._hasDraft = false;//same here\r\n return true;\r\n }\r\n return false;\r\n }\r\n}","import LegacyDraftController from 'pillar/crud/LegacyDraftController';\r\nimport { IEditFormLegacyCrud } from 'pillar/crud/ICrudContainer';\r\n\r\nexport default class EditFormCrud extends LegacyDraftController implements IEditFormLegacyCrud {\r\n constructor(controllerEventHandler){\r\n super(controllerEventHandler);\r\n }\r\n _CheckDraft() {\r\n let endpoint = this._endpoints.CHECK_DRAFT;\r\n if (endpoint != null) {\r\n return LegacyDraftController.ReadCallJson(endpoint.FullEndPoint, this._getDetailsRowParams())\r\n }\r\n }\r\n\r\n _getEditFormData(e,editFrom) : void {\r\n if(typeof e.key !== \"undefined\")\r\n {\r\n this._formKey = e.key;\r\n }\r\n else if(editFrom._initalizedFromLegacy !== null&&typeof editFrom._initalizedFromLegacy.itemData.key !==\"undefined\"){\r\n\t\t\tthis._formKey = editFrom._initalizedFromLegacy.itemData.key;\r\n\t\t}\t\r\n }\r\n\t\r\n\t_fetchEditFormData(callback) : void { \r\n\t\tlet endpoint = this._endpoints.READ_CONTENT;\r\n if(endpoint != null)\r\n {\r\n LegacyDraftController.ReadCallJson(endpoint.FullEndPoint,this._getDetailsRowParams())\r\n .done(result => {\r\n callback(result);\r\n });\r\n }\r\n\t}\r\n\t\r\n\t_getDetailsRowParams() : any{\r\n let data = this._lockDraftPars();\r\n return data;\r\n }\r\n\t\t\r\n\r\n override _updateDraftData() {\r\n let data = {...this._params};\r\n data.key =this._formKey;\r\n return data;\r\n }\r\n\r\n override _unlockDraftPars() {\r\n let data = {...this._params};\r\n data.key = this._formKey;\r\n return data;\r\n }\r\n}","import { IDetailsRowContainer, IDetailsItemField } from 'pillar/controlcomponents/DetailRow/DetailRowItemBuilder';\r\nimport { IUpdateType, UpdateType } from 'pillar/types/UpdateType';\r\nimport PromiseChain, { IPromiseChain } from 'pillar/Utils/PromiseChain';\r\nimport { IMappedFieldInfo } from 'pillar/FieldInfo';\r\nimport { IRenderModel } from 'pillar/HtmlTemplate/DxTemplateHelpers';\r\n\r\nexport interface IBaseControlEditFormItem extends IPromiseChain {\r\n _root: IDetailsRowContainer;\r\n Field: IMappedFieldInfo;\r\n /**\r\n * @deprecated Use PopulateTemplateValues\r\n */\r\n _populateTemplateValues(templateData: any, jsProp: IJsProp): void;\r\n PopulateTemplateValues(templateData: IRenderModel, jsProp: IJsProp): void;\r\n _initEvent(e: any): void;\r\n _setState(mode: boolean): void;\r\n ValueUpdatedEventAsync(e: IUpdateType): Promise;\r\n /**\r\n * @deprecated Use ValueUpdatedEventAsync\r\n */\r\n ValueUpdatedEvent(e: IUpdateType): void;\r\n /**\r\n * @deprecated Use ValueUpdatedEventAsync\r\n */\r\n _valueUpdated(): void;\r\n SetValue(value: any): void;\r\n ResetControlValue(): void;\r\n}\r\n\r\nexport default abstract class BaseControlEditFormItem extends PromiseChain implements IBaseControlEditFormItem {\r\n public _root: IDetailsRowContainer;\r\n public Field: IMappedFieldInfo;\r\n protected _customData: T;\r\n protected _customDataSourceEvent : (bcedi :BaseControlEditFormItem) => any;//update this\r\n protected _initalData : T;\r\n /**\r\n * @deprecated unessary when using the DxValueUpdatedEvent\r\n */\r\n protected _updatedData : T;\r\n\r\n constructor(root: IDetailsRowContainer, data: IDetailsItemField) {\r\n super();\r\n this._root = root;\r\n this.Field = data.Field;\r\n this._customData = null;\r\n this._customDataSourceEvent = data.CustomDataSourceEvent;\r\n this._initalData = null;\r\n }\r\n public abstract ResetControlValue(): void;\r\n\r\n public abstract _setState(mode : boolean): void;\r\n\r\n //This is public and does not need an underscore\r\n //I've been a bit lazy on the Conventions\r\n public _setCustomData(value : T) : void{\r\n this._customData = value; \r\n }\r\n\r\n //I don't want to have to specify the type\r\n public SetValue(value: any): void {\r\n this._setCustomData(value);\r\n }\r\n\r\n //For use within this class to get the data either by Entity_Property or a custom method\r\n protected _getData() : T {\r\n if (typeof this._customDataSourceEvent === \"function\") {\r\n return this._customDataSourceEvent(this);\r\n }\r\n else\r\n return this._customData;\r\n }\r\n //Setting the inital Value of this class\r\n protected _setInitalValue() : T\r\n {\r\n let controlData : T = this._getData();\r\n if (controlData == null) {\r\n this._initalData = null;\r\n }\r\n else {\r\n this._initalData = controlData;\r\n }\r\n this._updatedData = this._initalData;\r\n return this._initalData; \r\n }\r\n /**\r\n * @deprecated Use PopulateTemplateValues\r\n */\r\n public _populateTemplateValues(templateData: any, jsProp: IJsProp) : void {\r\n let initalData: T = this._setInitalValue();\r\n templateData.Value = initalData;//I think the XTemplate code should handle nulls now\r\n\r\n if (typeof jsProp.CustomTemplateEventFunc === \"function\") {\r\n Object.assign(templateData, jsProp.CustomTemplateEventFunc(this._root, this));\r\n }\r\n }\r\n\r\n public PopulateTemplateValues(templateData: IRenderModel, jsProp: IJsProp): void {\r\n let initalData: T = this._setInitalValue();\r\n templateData.Value = initalData;//I think the XTemplate code should handle nulls now\r\n\r\n if (typeof jsProp.CustomTemplateEventFunc === \"function\") {\r\n Object.assign(templateData, jsProp.CustomTemplateEventFunc(this._root, this));\r\n }\r\n }\r\n\r\n //This will get the control's Value\r\n protected abstract _getCurrentValue(): any;//update this\r\n\r\n //This will get the current control's text,\r\n //by default the value is the same as the text\r\n //but is not nessarly the case\r\n protected _getCurrentText() :any{\r\n return this._getCurrentValue();\r\n }\r\n\r\n //If context is switched to another control this will be called to updated the stored value\r\n //this one is for the unfocused event\r\n //which will need to grab the Value from the devextreme control since it's not provide in the\r\n //devextreme argument\r\n public _valueUpdated() : void{\r\n let value = this._getCurrentValue();\r\n if(value != this._updatedData)\r\n {\r\n let obj: UpdateType = new UpdateType();\r\n obj.Field = this.Field;\r\n obj.value = value;\r\n obj.text = this._getCurrentText();\r\n obj.previousValue = this._updatedData;\r\n this._valueUpdatedEvent(obj);\r\n }\r\n }\r\n\r\n //this will call the containers Crud manager to update the control\r\n //this is for communicating with the server either by built in, draft controller, storing in a customdatastore, or anything else that implements the ICrudContainer interface\r\n \r\n /**\r\n * @deprecated Use ValueUpdatedEventAsync\r\n */\r\n protected _valueUpdatedEvent(obj: IUpdateType): void {\r\n if (this._root._crud !== null) {\r\n this._root._crud._update(obj);\r\n }\r\n // we also updates our _updateData property so we know if we need to update the value or not\r\n // this was nessary on the unfocused event but if we switch to the OnValueChanged\r\n // event this should all be handled by devextreme\r\n this._updatedData = obj.value;\r\n }\r\n\r\n //This will be called by the OnValueChanged dxevent this event provide all the update fields\r\n //in it's argument and also only be called when there has been an update\r\n /**\r\n * @deprecated Use ValueUpdatedEventAsync\r\n */\r\n public ValueUpdatedEvent(e: IUpdateType): void {\r\n //this is probably unessary.\r\n //I think dx calls this only when there is a change\r\n if (e.value != this._updatedData) {\r\n e.text = this._getCurrentText();\r\n this._valueUpdatedEvent(e);\r\n \r\n }\r\n }\r\n\r\n public async ValueUpdatedEventAsync(e: IUpdateType): Promise {\r\n e.text = this._getCurrentText();\r\n if (this._root.dataManager !== null) {\r\n await this._root.dataManager.UpdateAsync(e);\r\n }\r\n }\r\n\r\n\r\n //This is call to initalize the control\r\n //By default it does nothing but if it's a devextreme control\r\n //we store the component reference for later use\r\n //we can't use the componentID since it's auto generated\r\n public _initEvent(e : any) : void{\r\n \r\n }\r\n}","import BaseControlEditFormItem from \"./BaseControlEditFormItem\";\r\nimport { IBaseControlEditFormItem } from \"./BaseControlEditFormItem\";\r\nimport Widget from 'devextreme/ui/widget/ui.widget';\r\nexport interface IBaseDxControlEditFormItem extends IBaseControlEditFormItem {\r\n _dxElement: Widget;\r\n SetDxValue(): void;\r\n SetDxOption(option: string, value: any): void;\r\n}\r\n\r\nexport default abstract class BaseDxControlEditFormItem> extends BaseControlEditFormItem implements IBaseDxControlEditFormItem {\r\n public _dxElement : U;\r\n private _preInitValues? : Record;\r\n constructor(root,data) {\r\n super(root,data);\r\n this._dxElement = null;\r\n this._preInitValues = null;\r\n }\r\n\r\n private InitPreInitValues() : void{\r\n if(this._preInitValues != null) \r\n {\r\n let dxObj: U = this._dxElement;\r\n if(dxObj !== undefined&&dxObj !== null)\r\n {\r\n for(let key in this._preInitValues)\r\n {\r\n dxObj.option(key,this._preInitValues[key]);\r\n }\r\n this._preInitValues = null;\r\n }\r\n }\r\n }\r\n\r\n public SetDxOption(option : string, value : any) : void {\r\n let dxObj: U = this._dxElement;\r\n if(dxObj !== undefined&&dxObj !== null)\r\n {\r\n dxObj.option(option,value);\r\n }\r\n else{\r\n if(this._preInitValues == null) {\r\n this._preInitValues = {};\r\n }\r\n this._preInitValues[option] = value;\r\n }\r\n }\r\n\r\n public GetDxOptionValue(option : string) : any {\r\n let dxObj: U = this._dxElement;\r\n if(dxObj !== undefined&&dxObj !== null)\r\n {\r\n return dxObj.option(option);\r\n }\r\n else{\r\n throw \"Dx Element Not Avaliable\";\r\n }\r\n }\r\n\r\n protected override _getCurrentValue() : any {\r\n return this.GetDxOptionValue('value');\r\n }\r\n\r\n protected override _getCurrentText() : any {\r\n return this.GetDxOptionValue('text');\r\n }\r\n\r\n public override _setState(mode : boolean) : void {\r\n this.SetDxOption('disabled',!mode);\r\n }\r\n public override ResetControlValue(): void {\r\n this.SetDxValue();\r\n }\r\n\r\n public SetDxValue(): void {\r\n let v: T = this._getData();\r\n this.SetDxOption('value',v);\r\n }\r\n\r\n public override _initEvent(e) : void {\r\n if(typeof e.component !== 'undefined')\r\n {\r\n this._dxElement = e.component;\r\n }\r\n this.InitPreInitValues();\r\n }\r\n}","import BaseDxControlEditFormItem from './base/BaseDxControlEditFormItem';\r\nimport dxDataBox from 'devextreme/ui/date_box';\r\n\r\nexport default class DateBoxControlEditFormItem extends BaseDxControlEditFormItem{\r\n static ViewComponentName = \"AgsDateBox\";\r\n //it's expecting a date format using javascript new Date(...);\r\n constructor(root,data) {\r\n super(root,data);\r\n }\r\n\r\n\r\n}","import BaseDxControlEditFormItem, { IBaseDxControlEditFormItem} from \"./BaseDxControlEditFormItem\";\r\nimport Widget from 'devextreme/ui/widget/ui.widget';\r\nimport DataSource from 'devextreme/data/data_source';\r\nimport { IRenderModel } from 'pillar/HtmlTemplate/DxTemplateHelpers';\r\n\r\nexport interface IBaseDropDownControlEditFormItem extends IBaseDxControlEditFormItem {\r\n SetSelectedItemByText(): Promise;\r\n GetDataSource(): DataSource;\r\n AnySelected(): boolean;\r\n SetSelectedIndex(a: any): void;\r\n}\r\n\r\n\r\nexport default abstract class BaseDropDownControlEditFormItem> extends BaseDxControlEditFormItem implements IBaseDropDownControlEditFormItem {\r\n\r\n constructor(root, data) {\r\n super(root, data);\r\n }\r\n public AnySelected(): boolean {\r\n let shouldBeFind: any = this._dxElement;\r\n let index : number = shouldBeFind._getSelectedIndex();\r\n return index >= 0;\r\n }\r\n\r\n public abstract SetSelectedItemByText(): Promise;\r\n\r\n /**\r\n * @deprecated Use PopulateTemplateValues\r\n */\r\n public override _populateTemplateValues(templateData: any, jsProp: IJsProp) : void {\r\n templateData.Guid = this._root._crud._formKey;\r\n super._populateTemplateValues(templateData, jsProp);\r\n }\r\n\r\n public override PopulateTemplateValues(templateData: IRenderModel, jsProp: IJsProp): void {\r\n templateData.Guid = this._root.dataManager._dataKey;\r\n super.PopulateTemplateValues(templateData, jsProp);\r\n }\r\n\r\n public override _setCustomData(value : any) : void {\r\n if (value !== null && typeof value === \"object\") {\r\n this._customData = value.Guid;\r\n }\r\n else {\r\n this._customData = value;\r\n }\r\n }\r\n\r\n public GetDataSource(): DataSource {\r\n let shouldBeFind: any = this._dxElement;\r\n return shouldBeFind.getDataSource();\r\n }\r\n public SetSelectedIndex(a: T): void {\r\n let shouldBeFind: any = this._dxElement\r\n shouldBeFind._setSelectedItem(a);\r\n }\r\n}","import BaseDropDownControlEditFormItem from './base/BaseDropDownControlEditFormItem';\r\nimport dxSelectBox from 'devextreme/ui/select_box';\r\nimport DataSource from 'devextreme/data/data_source';\r\n\r\nexport default class DropDownControlEditFormItem extends BaseDropDownControlEditFormItem {\r\n\r\n static ViewComponentName = \"AgsDropDown\";\r\n\r\n constructor(root,data) {\r\n super(root,data);\r\n }\r\n\r\n\r\n\r\n public override async SetSelectedItemByText(): Promise {\r\n let d : any = this._getData();\r\n let dataSource: DataSource = this.GetDataSource();\r\n await dataSource.load();\r\n let items = dataSource.items();\r\n if (!this.AnySelected()) {\r\n for (let i in items) {\r\n if (items[i].Text) {\r\n if (items[i].Text == d) {\r\n this._customData = items[i].Value;\r\n this.SetDxValue();\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}","import dxDataGrid from \"devextreme/ui/data_grid\";\r\nimport BaseDxControlEditFormItem from \"./base/BaseDxControlEditFormItem\";\r\n\r\nexport default class GridControlEditFormItem extends BaseDxControlEditFormItem {\r\n\r\n static ViewComponentName = \"AgsDataGrid\";\r\n\r\n constructor(root, data) {\r\n super(root, data);\r\n }\r\n\r\n protected override _getCurrentValue() : any { return null; }\r\n\r\n public override _setState(mode: boolean) : void {\r\n\r\n }\r\n}","import BaseControlEditFormItem from \"./base/BaseControlEditFormItem\";\r\n//import sheet from '../../../Utils/AgsControlsDynamicStyleSheet'\r\n\r\n\r\nexport default class ImageControlEditFormItem extends BaseControlEditFormItem\r\n{\r\n public override ResetControlValue(): void {\r\n \r\n }\r\n static ViewComponentName = \"AgsImage\";\r\n \r\n constructor(root,data) {\r\n super(root,data);\r\n }\r\n\r\n //This will break\r\n public override _populateTemplateValues(templateData : any, jsProp : IJsProp) : void{\r\n templateData.Value = this._getData();\r\n\r\n // var element = {}; \r\n // element[\"#\" + this._ControlID +\" > img\"] = {\r\n // 'visibility': ((templateData.Value !== null) ? 'visible' : 'hidden')\r\n // }\r\n\t\t// sheet.add(element);\r\n }\r\n\r\n _getCurrentValue() { }\r\n\r\n public override _setState(mode : boolean) : void { } \r\n}","import BaseDxControlEditFormItem from \"./base/BaseDxControlEditFormItem\";\r\nimport dxPopup from'devextreme/ui/popup'\r\n\r\nexport default class PopupControlEditFormItem extends BaseDxControlEditFormItem\r\n{\r\n static ViewComponentName = \"AgsPopup\";\r\n\r\n constructor(root, data){\r\n super(root,data);\r\n }\r\n\r\n _getCurrentValue() { return null; }\r\n\r\n public override _setState(mode : boolean) : void {\r\n \r\n }\r\n}","import BaseDropDownControlEditFormItem from './base/BaseDropDownControlEditFormItem';\r\nimport dxTagBox from 'devextreme/ui/tag_box';\r\nimport DataSource from 'devextreme/data/data_source';\r\n\r\nexport default class TagBoxControlEditFormItem extends BaseDropDownControlEditFormItem, dxTagBox> {\r\n\r\n static ViewComponentName = \"AgsTagBox\";\r\n\r\n constructor(root,data) {\r\n super(root,data);\r\n }\r\n\r\n public override AnySelected(): boolean {\r\n let shouldBeFind: any = this._dxElement;\r\n let item: Array = shouldBeFind._selectedItems\r\n return item.length != 0;\r\n }\r\n\r\n public override _setCustomData(v: any): void {\r\n let value: Array;\r\n if (!Array.isArray(v)) {\r\n value = [v];\r\n }\r\n else {\r\n value = v;\r\n }\r\n\r\n let vArr: Array = [];\r\n for (let el of value) {\r\n if (el !== null &&el.Guid) {\r\n vArr.push(el.Guid);\r\n }\r\n else {\r\n vArr.push(el);\r\n }\r\n }\r\n this._customData = vArr;\r\n }\r\n\r\n public override async SetSelectedItemByText(): Promise {\r\n if (this._customData != null) {\r\n let dataSource: DataSource = this.GetDataSource();\r\n await dataSource.load();\r\n let items = dataSource.items();\r\n let selectedIndexes: Array = [];\r\n if (!this.AnySelected()) {\r\n for (let i: number = 0; i < items.length; i++) {\r\n if (this._customData.includes(items[i].Text)) {\r\n selectedIndexes.push(items[i].Value);\r\n }\r\n }\r\n this._setCustomData(selectedIndexes);\r\n this.SetDxValue();\r\n }\r\n }\r\n } \r\n}","import BaseDxControlEditFormItem from './base/BaseDxControlEditFormItem';\r\nimport dxTextBox from 'devextreme/ui/text_box';\r\n\r\n\r\nexport default class TextBoxControlEditFormItem extends BaseDxControlEditFormItem{\r\n static ViewComponentName = \"AgsTextBox\";\r\n\r\n constructor(root,data) {\r\n super(root,data);\r\n }\r\n}","import BaseDxControlEditFormItem from './base/BaseDxControlEditFormItem';\r\nimport dxTextArea from 'devextreme/ui/text_area';\r\n\r\n\r\nexport default class TextAreaControlEditFormItem extends BaseDxControlEditFormItem{\r\n static ViewComponentName = \"AgsTextArea\";\r\n\r\n constructor(root, data) {\r\n super(root, data);\r\n }\r\n}","import BaseDropDownControlEditFormItem from \"./base/BaseDropDownControlEditFormItem\";\r\nimport dxAutocomplete from 'devextreme/ui/autocomplete'\r\n\r\nexport default class AutoCompleteControlEditFormItem extends BaseDropDownControlEditFormItem {\r\n static ViewComponentName = \"AgsAutoComplete\";\r\n constructor(root, data) {\r\n super(root, data);\r\n }\r\n public override async SetSelectedItemByText(): Promise {\r\n \r\n }\r\n}","import BaseDxControlEditFormItem from './base/BaseDxControlEditFormItem';\r\nimport dxColorBox from 'devextreme/ui/color_box';\r\n\r\nexport default class ColorBoxControlEditFormItem extends BaseDxControlEditFormItem{\r\n static ViewComponentName = \"AgsColorBox\";\r\n constructor(root, data) {\r\n super(root, data);\r\n }\r\n}","import BaseDxControlEditFormItem from './base/BaseDxControlEditFormItem';\r\nimport dxButton from 'devextreme/ui/button';\r\n\r\n\r\nexport default class ButtonControlEditFormItem extends BaseDxControlEditFormItem{\r\n static ViewComponentName = \"AgsButton\";\r\n\r\n constructor(root, data) {\r\n super(root, data);\r\n }\r\n}","import BaseDxControlEditFormItem from './base/BaseDxControlEditFormItem';\r\nimport FileUploader from 'devextreme/ui/file_uploader';\r\n\r\n\r\nexport default class FileUploaderControlEditFormItem extends BaseDxControlEditFormItem{\r\n static ViewComponentName = \"AgsFileUploader\";\r\n\r\n constructor(root, data) {\r\n super(root, data);\r\n }\r\n}","import BaseDxControlEditFormItem from './base/BaseDxControlEditFormItem';\r\nimport Slider from 'devextreme/ui/slider';\r\n\r\nexport default class SliderControlEditFormItem extends BaseDxControlEditFormItem{\r\n static ViewComponentName = \"AgsSlider\";\r\n\r\n constructor(root, data) {\r\n super(root, data);\r\n }\r\n}","import BaseDxControlEditFormItem from './base/BaseDxControlEditFormItem';\r\nimport CheckBox from 'devextreme/ui/check_box';\r\n\r\nexport default class CheckBoxControlEditFormItem extends BaseDxControlEditFormItem{\r\n static ViewComponentName = \"AgsCheckBox\";\r\n\r\n constructor(root, data) {\r\n super(root, data);\r\n }\r\n}","import BaseDropDownControlEditFormItem from './base/BaseDropDownControlEditFormItem';\r\nimport dxTagBox from 'devextreme/ui/radio_group';\r\nimport dxRadioGroup from 'devextreme/ui/radio_group';\r\n\r\nexport default class RadioGroupControlEditFormItem extends BaseDropDownControlEditFormItem, dxRadioGroup> {\r\n\r\n static ViewComponentName = \"AgsRadioGroup\";\r\n\r\n public override async SetSelectedItemByText(): Promise { }\r\n\r\n constructor(root,data) {\r\n super(root,data);\r\n }\r\n}","import ICrudContainer from \"pillar/crud/ICrudContainer\";\r\nimport ArgType from \"pillar/types/ArgType\";\r\nimport DateBoxControlEditFormItem from \"../AgsEditForm/EditFormItems/DateBoxControlEditFormItem\";\r\nimport DropDownControlEditFormItem from \"../AgsEditForm/EditFormItems/DropDownControlEditFormItem\";\r\nimport GridControlEditFormItem from \"../AgsEditForm/EditFormItems/GridControlEditFormItem\";\r\nimport ImageControlEditFormItem from \"../AgsEditForm/EditFormItems/ImageControlEditFormItem\";\r\nimport PopupControlEditFormItem from \"../AgsEditForm/EditFormItems/PopupControlEditFormItem\";\r\nimport TagBoxControlEditFormItem from \"../AgsEditForm/EditFormItems/TagBoxControlEditFormItem\";\r\nimport TextBoxControlEditFormItem from \"../AgsEditForm/EditFormItems/TextBoxControlEditFormItem\";\r\nimport TextAreaControlEditFormItem from \"../AgsEditForm/EditFormItems/TextAreaControlEditFormItem\";\r\nimport AutoCompleteControlEditFormItem from \"../AgsEditForm/EditFormItems/AutoCompleteControlEditFormItem\";\r\nimport ColorBoxControlEditFormItem from \"../AgsEditForm/EditFormItems/ColorBoxControlEditFormItem\";\r\nimport ButtonControlEditFormItem from \"../AgsEditForm/EditFormItems/ButtonControlEditFormItem\";\r\nimport FileUploaderControlEditFormItem from \"../AgsEditForm/EditFormItems/FileUploaderControlEditFormItem\";\r\nimport SliderControlEditFormItem from \"../AgsEditForm/EditFormItems/SliderControlEditFormItem\";\r\nimport CheckBoxControlEditFormItem from \"../AgsEditForm/EditFormItems/CheckBoxControlEditFormItem\";\r\nimport { IBaseControlEditFormItem} from \"../AgsEditForm/EditFormItems/base/BaseControlEditFormItem\";\r\nimport { IMappedFieldInfo } from 'pillar/FieldInfo';\r\nimport { IXTemplateEventData } from \"../../HtmlTemplate/xTemplateEventData\";\r\nimport IDetailRowCrud from 'pillar/crud/IDetailRowCrud';\r\nimport { IBaseDxControlEditFormItem } from 'pillar/controlcomponents/AgsEditForm/EditFormItems/base/BaseDxControlEditFormItem';\r\nimport RadioGroupControlEditFormItem from \"../AgsEditForm/EditFormItems/RadioGroupControlEditFormItem\";\r\n\r\nexport interface IDetailsRowContainer {\r\n /**\r\n * @deprecated use dataManager\r\n */\r\n _crud: ICrudContainer;\r\n _properties: Record;\r\n _validationGroup: string;\r\n dataManager: IDetailRowCrud;\r\n}\r\n\r\nexport interface IDetailsItemField {\r\n Field: IMappedFieldInfo;\r\n Type: any;\r\n ModelType: string;\r\n EntityPropertyGuid?: string;\r\n CustomDataSourceEvent?: (bcedi: IBaseControlEditFormItem) => any;\r\n}\r\n\r\nexport default class DetailRowItemBuilder implements IDetailsRowContainer {\r\n /**\r\n * @deprecated use dataManager._dataKey\r\n */\r\n public _formKey: string;\r\n /**\r\n * @deprecated use dataManager\r\n */\r\n public _crud: ICrudContainer;\r\n public _properties: Record;\r\n public _validationGroup: string;\r\n private _dxContainer: any;\r\n private _dataPromise: Promise;\r\n private _editMode: Promise;\r\n public dataManager: IDetailRowCrud;\r\n\r\n\r\n\r\n constructor(dxContainer: any) {\r\n this._properties = {};\r\n this._dxContainer = dxContainer;\r\n this.dataManager = null;\r\n }\r\n\r\n public InitDataManager(key : string,dtSrc : any, jsProp : IJsProp) : void {\r\n this.dataManager = jsProp.CreateClientSideCrudObjectFunc(dtSrc);\r\n this.dataManager._dataKey = key;\r\n this._dataPromise = this.dataManager.GetDataAsync();\r\n this._editMode = this.dataManager.StartEditAsync();\r\n }\r\n\r\n public async GetDataAsync(jsProp: IJsProp): Promise {\r\n let key = jsProp.Field.FieldName;\r\n if (jsProp.Field.FieldMapKey) {\r\n key = jsProp.Field.FieldMapKey;\r\n }\r\n let data = await this._dataPromise;\r\n if (typeof key !== 'undefined' && key in data) {\r\n return data[key];\r\n }\r\n return null;\r\n }\r\n public async InitControlAsync(field: IBaseControlEditFormItem,e: DXInitEvent, jsProp : IJsProp): Promise {\r\n field._initEvent(e);//needs a type upgrade\r\n let editMode = await this._editMode;\r\n field._setState(editMode);//we need to move this elsewhere\r\n }\r\n\r\n \r\n /**\r\n * @deprecated use dataManager._dataKey\r\n */\r\n public UpdateFormKey(key: string): void {\r\n this._formKey = key;\r\n }\r\n\r\n public AddCellItem(data: IDetailsItemField): IBaseControlEditFormItem {\r\n let cell: IBaseControlEditFormItem = DetailRowItemBuilder.ConstructEditFormItem(this, data);\r\n this._properties[data.Field.FieldName] = cell;\r\n return cell;\r\n }\r\n\r\n public GetField(field : IMappedFieldInfo): IBaseControlEditFormItem {\r\n if (field.FieldName&& field.FieldName in this._properties) {\r\n return this._properties[field.FieldName];\r\n }\r\n return null;\r\n }\r\n /**\r\n * @deprecated Use InitalValuesFromTemplateEvent\r\n */\r\n public details_initalValuesFromColumns(a: ArgType) {\r\n if (typeof a.jsProp.Field.FieldName !== 'undefined' && a.jsProp.Field.FieldName in this._properties) {\r\n if (a.e !== null && typeof a.e.data !== 'undefined' && a.e.data !== null && a.jsProp.Field.FieldName in a.e.data) {\r\n let field = this._properties[a.jsProp.Field.FieldName];\r\n if (field !== null) {\r\n field.SetValue(a.e.data[a.jsProp.Field.FieldName]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n public InitalValuesFromTemplateEvent(e: IXTemplateEventData, jsProp: IJsProp & IDetailsItemField) : void {\r\n if (typeof jsProp.Field.FieldName !== 'undefined' && jsProp.Field.FieldName in this._properties) {\r\n if (e.model.data !== null && typeof e.model.data !== 'undefined' && e.model.data !== null && jsProp.Field.FieldName in e.model.data) {\r\n let field = this._properties[jsProp.Field.FieldName];\r\n if (field !== null) {\r\n field.SetValue(e.model.data[jsProp.Field.FieldName]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n static ConstructEditFormItem(container: IDetailsRowContainer, data: IDetailsItemField): IBaseControlEditFormItem {\r\n switch (data.ModelType) {\r\n case DateBoxControlEditFormItem.ViewComponentName:\r\n return new DateBoxControlEditFormItem(container, data);\r\n case AutoCompleteControlEditFormItem.ViewComponentName:\r\n return new AutoCompleteControlEditFormItem(container, data);\r\n case DropDownControlEditFormItem.ViewComponentName:\r\n return new DropDownControlEditFormItem(container, data);\r\n case ImageControlEditFormItem.ViewComponentName:\r\n return new ImageControlEditFormItem(container, data);\r\n case TagBoxControlEditFormItem.ViewComponentName:\r\n return new TagBoxControlEditFormItem(container, data);\r\n case RadioGroupControlEditFormItem.ViewComponentName:\r\n return new RadioGroupControlEditFormItem(container, data);\r\n case TextBoxControlEditFormItem.ViewComponentName:\r\n return new TextBoxControlEditFormItem(container, data);\r\n case TextAreaControlEditFormItem.ViewComponentName:\r\n return new TextAreaControlEditFormItem(container, data);\r\n case PopupControlEditFormItem.ViewComponentName:\r\n return new PopupControlEditFormItem(container, data);\r\n case GridControlEditFormItem.ViewComponentName:\r\n return new GridControlEditFormItem(container, data);\r\n case ColorBoxControlEditFormItem.ViewComponentName:\r\n return new ColorBoxControlEditFormItem(container, data);\r\n case ButtonControlEditFormItem.ViewComponentName:\r\n return new ButtonControlEditFormItem(container, data);\r\n case FileUploaderControlEditFormItem.ViewComponentName:\r\n return new FileUploaderControlEditFormItem(container, data);\r\n case SliderControlEditFormItem.ViewComponentName:\r\n return new SliderControlEditFormItem(container, data);\r\n case CheckBoxControlEditFormItem.ViewComponentName:\r\n return new CheckBoxControlEditFormItem(container, data);\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n}","export interface ICrudParams {\r\n _params: any;\r\n}\r\n\r\nexport default abstract class BaseCrud implements ICrudParams {\r\n static TIMEOUT: number = 10000;//10 second timeout for ajax calls\r\n\r\n public key: string;\r\n public _controllerName: string;\r\n public _params: any;\r\n\r\n constructor(controllerEventHandler: any) {\r\n this.key = controllerEventHandler.Key;\r\n this._controllerName = controllerEventHandler.ControllerName;\r\n this._params = controllerEventHandler.ControllerParams;\r\n }\r\n\r\n //ACV-1637 should take care of making this async\r\n static ReadCall(FullEndPoint: string, data: any): JQuery.jqXHR {\r\n return $.ajax({\r\n url: FullEndPoint,\r\n method: \"GET\",\r\n data: data,\r\n cache: false,\r\n dataType: \"text\",\r\n async: false,//ACV-1637\r\n timeout: BaseCrud.TIMEOUT,\r\n error: BaseCrud.GeneralAjaxErrorLogging\r\n });\r\n }\r\n\r\n static ReadCallJson(FullEndPoint: string, data: any): JQuery.jqXHR {\r\n return $.ajax({\r\n url: FullEndPoint,\r\n method: \"GET\",\r\n data: data,\r\n cache: false,\r\n dataType: \"json\",\r\n async: false,//ACV-1637\r\n timeout: BaseCrud.TIMEOUT,\r\n error: BaseCrud.GeneralAjaxErrorLogging\r\n })\r\n }\r\n static ReadCallAsync(FullEndPoint: string, data: any): JQuery.jqXHR {\r\n return $.ajax({\r\n url: FullEndPoint,\r\n method: \"GET\",\r\n data: data,\r\n cache: false,\r\n dataType: \"text\",\r\n timeout: BaseCrud.TIMEOUT,\r\n error: BaseCrud.GeneralAjaxErrorLogging\r\n });\r\n }\r\n\r\n public static async ReadCallAsPromiseAsync(FullEndPoint: string, data: any, customSettings: JQuery.AjaxSettings = null): Promise {\r\n let settings: JQuery.AjaxSettings = {\r\n url: FullEndPoint,\r\n method: \"GET\",\r\n data: data,\r\n cache: false,\r\n dataType: \"text\",\r\n timeout: BaseCrud.TIMEOUT,\r\n error: BaseCrud.GeneralAjaxErrorLogging,\r\n };\r\n if (customSettings !== null) {\r\n settings = { ...settings, ...customSettings };\r\n }\r\n\r\n\r\n return await $.ajax(settings);\r\n }\r\n\r\n //We need to update all the events to have this signature but it's work\r\n public static async PostCallAsPromiseAsync(FullEndPoint: string, data: any, customSettings: JQuery.AjaxSettings = null): Promise {\r\n let settings: JQuery.AjaxSettings = {\r\n headers: {\r\n 'Accept': '*/*',\r\n 'Content-Type': 'application/json'\r\n },\r\n type: \"POST\",\r\n url: FullEndPoint,\r\n data: JSON.stringify(data),\r\n timeout: BaseCrud.TIMEOUT,\r\n dataType: 'text',\r\n error: BaseCrud.GeneralAjaxErrorLogging\r\n };\r\n if (customSettings !== null) {\r\n settings = { ...settings, ...customSettings };\r\n }\r\n return await $.ajax(settings);\r\n }\r\n\r\n static PostCallAsync(FullEndPoint: string, data: any): JQuery.jqXHR {\r\n return $.ajax({\r\n headers: {\r\n 'Accept': '*/*',\r\n 'Content-Type': 'application/json'\r\n },\r\n type: \"POST\",\r\n url: FullEndPoint,\r\n data: JSON.stringify(data),\r\n timeout: BaseCrud.TIMEOUT,\r\n dataType: 'text',\r\n error: BaseCrud.GeneralAjaxErrorLogging\r\n })\r\n }\r\n\r\n static PostCall(FullEndPoint: string, data: any): JQuery.jqXHR {\r\n return $.ajax({\r\n headers: {\r\n 'Accept': '*/*',\r\n 'Content-Type': 'application/json'\r\n },\r\n type: \"POST\",\r\n url: FullEndPoint,\r\n data: JSON.stringify(data),\r\n async: false,//ACV-1637\r\n timeout: BaseCrud.TIMEOUT,\r\n dataType: 'text',\r\n error: BaseCrud.GeneralAjaxErrorLogging\r\n })\r\n }\r\n\r\n static GeneralAjaxErrorLogging(XMLHttpRequest, textStatus, errorThrown): void {\r\n //console.warn('looks like there was an issue reaching the controller');\r\n //console.warn(errorThrown);//we might be able to grab that same logic from the cts view and put it here for cleaner error logging\r\n //...not now but in the future\r\n }\r\n}","export enum DxDefaultCrudOperationsMap {//Legacy\r\n INSERT = 'insert',\r\n UPDATE = 'update',\r\n DELETE = 'delete'\r\n}\r\n\r\nexport interface IEventType {\r\n Type: any;\r\n}\r\n\r\nexport interface IControllerEvent extends IEventType {\r\n EndPoint: string;\r\n FullEndPoint: string;\r\n}\r\n\r\nexport interface IChangeEventType {\r\n CHANGED: IControllerEvent;\r\n}\r\n\r\nexport interface IClickEventType {\r\n CLICK: IControllerEvent;\r\n}\r\n\r\nexport interface IDraftControllerEventType {\r\n CREATE_DRAFT: IControllerEvent;\r\n SAVE_DRAFT: IControllerEvent;\r\n DELETE_DRAFT: IControllerEvent;\r\n UPDATE_DRAFT: IControllerEvent;\r\n READ_CONTENT: IControllerEvent;\r\n CREATE_NEW: IControllerEvent;\r\n DELETE_RECORD: IControllerEvent;\r\n CHECK_DRAFT: IControllerEvent;\r\n}\r\n\r\nexport interface IDxCollectionEventType {\r\n READ : IControllerEvent\r\n}\r\n\r\nexport interface IDxControllerEventType {\r\n READ: IControllerEvent;\r\n CREATE: IControllerEvent;\r\n UPDATE: IControllerEvent;\r\n DELETE: IControllerEvent;\r\n}\r\n\r\nexport interface IUploadEventType {\r\n UPLOAD: IControllerEvent;\r\n}\r\n\r\nexport interface IViewComponentLoadType {\r\n LOAD: IControllerEvent;\r\n}","import BaseCrud from './BaseCrud';\r\nimport { DxDefaultCrudOperationsMap } from 'pillar/types/EndPointTypes'\r\nimport { IUpdateType } from 'pillar/types/UpdateType';\r\n\r\nexport default class Crud extends BaseCrud {\r\n public _endpoints: any;\r\n\r\n constructor(controllerEventHandler : any) {\r\n super(controllerEventHandler)\r\n this._endpoints = controllerEventHandler.Events;\r\n } \r\n public _update(record: IUpdateType): any {\r\n Crud.PostCallAsync(this._endpoints['UPDATE'].FullEndPoint, this._params);\r\n }\r\n\r\n _ReadCallAsync(endpoint: any): JQuery.jqXHR{\r\n return Crud.ReadCallAsync(endpoint.FullEndPoint,this._params);\r\n }\r\n\r\n public async ReadCallAsPromiseAsync(endpoint: any, customSettings: JQuery.AjaxSettings = null) : Promise {\r\n return await Crud.ReadCallAsPromiseAsync(endpoint, this._params,customSettings);\r\n }\r\n\r\n public async PostCallAsPromiseAsync(endpoint: any, customSettings: JQuery.AjaxSettings = null): Promise {\r\n return await Crud.PostCallAsPromiseAsync(endpoint, this._params,customSettings);\r\n }\r\n\r\n //For Built in DevEx Crub Operations\r\n static BuildUpdates(key,updates) : any{\r\n let obj : any = {};//Updated This\r\n obj.data = updates;\r\n obj.key = key;\r\n obj.type = DxDefaultCrudOperationsMap.UPDATE;\r\n return obj;\r\n }\r\n\r\n static BuildInsert(model) : any{\r\n let obj : any = {};//Updated This\r\n obj.data = model;\r\n obj.type = DxDefaultCrudOperationsMap.INSERT;\r\n return obj;\r\n }\r\n\r\n static OnSendInclude(type, d1, jsProp: IJsProp): void{\r\n if (jsProp.ControllerParams) {\r\n for (let k in jsProp.ControllerParams) {\r\n d1.data[k] = jsProp.ControllerParams[k];\r\n }\r\n }\r\n }\r\n\r\n public static RemoteProviderBeforeSend(e: DXRemoteFileProviderBeforeAjax, jsProp: IJsProp): void {\r\n if (jsProp.ControllerParams) {\r\n Object.assign(e.formData, jsProp.ControllerParams);\r\n }\r\n }\r\n\r\n public static InitUploadHeaders(e: any, jsProp: IJsProp): void {\r\n e.eventHeaders = e.component.option('uploadHeaders');\r\n }\r\n\r\n public static SetUploadHeaders(e: DXBeforeSendEvent, jsProp: IJsProp): void {\r\n e.component.option('uploadHeaders', e.eventHeaders);\r\n }\r\n\r\n static CreateCrudObject(...args) : Crud {\r\n let controllerEventHandler = args[args.length - 1];\r\n return new Crud(controllerEventHandler);\r\n }\r\n}","import { IControllerEvent } from 'pillar/types/EndPointTypes'\r\nimport BaseCrud from './BaseCrud';\r\n\r\nexport default class CrudWithType extends BaseCrud {\r\n public _endpoints: EndPointType;\r\n\r\n constructor(controllerEventHandler: any) {\r\n super(controllerEventHandler)\r\n this._endpoints = controllerEventHandler.Events;\r\n }\r\n\r\n protected GetParams(endpoint: IControllerEvent): any {\r\n return this._params;\r\n }\r\n\r\n _ReadCallAsync(endpoint: IControllerEvent): JQuery.jqXHR {\r\n return BaseCrud.ReadCallAsync(endpoint.FullEndPoint, this.GetParams(endpoint));\r\n }\r\n\r\n public async ReadCallAsPromiseAsync(endpoint: IControllerEvent, customSettings: JQuery.AjaxSettings = null): Promise {\r\n return await BaseCrud.ReadCallAsPromiseAsync(endpoint.FullEndPoint, this.GetParams(endpoint), customSettings);\r\n }\r\n\r\n public async PostCallAsPromiseAsync(endpoint: IControllerEvent, customSettings: JQuery.AjaxSettings = null): Promise {\r\n return await BaseCrud.PostCallAsPromiseAsync(endpoint.FullEndPoint, this.GetParams(endpoint),customSettings);\r\n }\r\n}","import CrudWithType from './CrudWithType';\r\nimport {IDraftControllerEventType, IControllerEvent} from 'pillar/types/EndPointTypes';\r\nimport { IUpdateType } from 'pillar/types/UpdateType';\r\nimport BaseCrud from './BaseCrud';\r\nimport IDraftStatus from 'pillar/types/IDraftStatus';\r\n\r\nexport default class DraftController extends CrudWithType {\r\n public _dataKey: string;\r\n public _hasDraft: boolean;\r\n constructor(controllerEventHandler : any) {\r\n super(controllerEventHandler);\r\n }\r\n\r\n protected override GetParams(endpoint: IControllerEvent) :any {\r\n return {...super.GetParams(endpoint),key : this._dataKey };\r\n }\r\n\r\n\r\n public async ReadAllRecordsAsync() : Promise {\r\n let event : IControllerEvent = this._endpoints.READ_CONTENT;\r\n if(event) {\r\n let results = await this.ReadCallAsPromiseAsync(event,{dataType : 'json'});\r\n return results;\r\n }\r\n return null;\r\n }\r\n\r\n public async StartDraftAsync() : Promise {\r\n let event : IControllerEvent = this._endpoints.CREATE_DRAFT;\r\n if(event) {\r\n let result = await this.ReadCallAsPromiseAsync(event,{dataType : 'json'});\r\n let key = result[this.key];\r\n if(typeof key === 'undefined'|| key === null)\r\n {\r\n return false;\r\n }\r\n if(typeof this._dataKey === 'undefined' || this._dataKey === null)\r\n {\r\n this._dataKey = key;\r\n }\r\n else if(this._dataKey != key)\r\n {\r\n return false;\r\n }\r\n this._hasDraft = true;\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n protected GetProcessedRecordData(record: IUpdateType) : any {\r\n let data = {...this.GetParams(this._endpoints.UPDATE_DRAFT), ...record};\r\n return data;\r\n }\r\n\r\n\r\n public async UpdateDraftAsync(record: IUpdateType) : Promise {\r\n let event : IControllerEvent = this._endpoints.UPDATE_DRAFT;\r\n if(event) {\r\n let d = this.GetProcessedRecordData(record);\r\n await BaseCrud.PostCallAsPromiseAsync(event.FullEndPoint,d);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public async SaveDraftAsync() : Promise {\r\n let event : IControllerEvent = this._endpoints.SAVE_DRAFT;\r\n if(event) {\r\n await this.ReadCallAsPromiseAsync(event);\r\n this._hasDraft = false;\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public async DiscardDraftAsync() : Promise {\r\n let event : IControllerEvent = this._endpoints.DELETE_DRAFT;\r\n if(event) {\r\n await this.ReadCallAsPromiseAsync(event);\r\n this._hasDraft = false;\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public async DeleteRecordAsync(): Promise { \r\n let event: IControllerEvent = this._endpoints.DELETE_RECORD;\r\n if (event) {\r\n await this.ReadCallAsPromiseAsync(event);\r\n this._hasDraft = false;//We no longer have a draft, or even a record\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public async CheckDraftAsync(): Promise {\r\n let event: IControllerEvent = this._endpoints.CHECK_DRAFT;\r\n if (event) {\r\n let retData: IDraftStatus = await this.ReadCallAsPromiseAsync(event, { dataType: 'json' });\r\n\r\n this._hasDraft = retData.IsEditing;\r\n return retData;\r\n }\r\n return { IsEditing: false, IsLockedByOtherUser: false, SystemUserName: null };\r\n }\r\n \r\n}","import { LoadOptions, GroupDescriptor } from 'devextreme/data';\r\nimport { GroupItem, Options as DataStoreOptions, ResolvedData } from 'devextreme/data/custom_store';\r\nimport CustomStore from 'devextreme/data/custom_store';\r\nimport { FixContext } from 'pillar/Utils/ContextFixer'\r\nimport { v4 as newGuid } from 'uuid'\r\nimport { IUpdateType } from 'pillar/types/UpdateType';\r\nimport { CreateDataStore } from 'pillar/Utils/Utils';\r\n\r\n\r\nexport default abstract class BaseCustomDataStore implements DataStoreOptions {\r\n static DX_KEY: string = \"__KEY__\";\r\n static CreateDataStore(store: DataStoreOptions): CustomStore {\r\n return CreateDataStore(store);\r\n }\r\n\r\n public cacheRawData?: boolean;\r\n public loadMode?: 'processed' | 'raw' = 'processed';\r\n public useDefaultSearch?: boolean;\r\n public key?: string | string[] = \"Guid\";\r\n private _loadPromise: Promise;\r\n constructor(jsProp: IJsProp = null) {\r\n this._loadPromise = null;\r\n this.loadControlSettings(jsProp);\r\n }\r\n\r\n private loadControlSettings(jsProp: IJsProp): void {\r\n if (typeof jsProp !== 'undefined' && jsProp != null)\r\n {\r\n if (typeof jsProp.init === 'function') {\r\n let r: Promise = jsProp.init(this);\r\n if (typeof r?.then === 'function') {\r\n this._loadPromise = r;\r\n }\r\n }\r\n }\r\n }\r\n\r\n protected async _DataLoaded(): Promise {\r\n //if we returned a promise during the init will wait here before returning the data\r\n if (this._loadPromise !== null) {\r\n await this._loadPromise;\r\n this._loadPromise = null;\r\n }\r\n }\r\n\r\n //Load an empty array of data by default\r\n public async load(options: LoadOptions): Promise> {\r\n await this._DataLoaded();\r\n let emptyArray: ResolvedData = {\r\n data: new Array(),\r\n totalCount: 0\r\n };\r\n return emptyArray;\r\n }\r\n //No Records By Default\r\n public async totalCount?(loadOptions: { filter?: any; group?: GroupDescriptor | GroupDescriptor[]; }): Promise {\r\n return 0;\r\n }\r\n\r\n protected AddRowKeyToData(rowKey: string, values: Record): void {\r\n let lKey: string = this.key as string;\r\n if (!(lKey in values)) {\r\n values[lKey] = rowKey;\r\n }\r\n if (!(BaseCustomDataStore.DX_KEY in values)) {\r\n values[BaseCustomDataStore.DX_KEY] = rowKey\r\n }\r\n }\r\n\r\n protected GetRowKeyFromData(values: Record): string {\r\n if (values != null) {\r\n if (this.key !== null && !Array.isArray(this.key)) {//hmm apparerently the key type can be an array\r\n let key: string = this.key as string;\r\n if (key in values) {\r\n return values[key];\r\n }\r\n }\r\n if (BaseCustomDataStore.DX_KEY in values) {\r\n return values[BaseCustomDataStore.DX_KEY];\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n public async Add(values: Record): Promise {\r\n for (let k in values) {\r\n let value = values[k];\r\n this.Insert(this.GetRowKeyFromData(value), value);\r\n }\r\n }\r\n\r\n public async Insert(rowKey: string, values: Record): Promise {\r\n this.AddRowKeyToData(rowKey, values);\r\n }\r\n\r\n public async insert?(values: Record): Promise {\r\n let rowKey: string = null;\r\n if (BaseCustomDataStore.DX_KEY in values) {\r\n rowKey = values[BaseCustomDataStore.DX_KEY];\r\n }\r\n else {\r\n rowKey = newGuid();\r\n }\r\n this.Insert(rowKey,values);\r\n }\r\n\r\n public async Remove(key: string): Promise {\r\n\r\n }\r\n\r\n public async remove?(obj: any): Promise {\r\n let key: string = this.GetRowKeyFromData(obj);\r\n if (key !== null) {\r\n this.Remove(key);\r\n }\r\n }\r\n\r\n //We need to fix all Promise and async issues then we can remove this\r\n public abstract Legacy_Update(key: string, values: any): void;\r\n\r\n public abstract GetRecordByKey(key: string): Promise>;\r\n\r\n public abstract Legacy_GetRecordByKey(key: string): Record;\r\n\r\n public async UpdateByField(key : string, record: IUpdateType): Promise {\r\n let r: Record = await this.GetRecordByKey(key);\r\n if (r !== null&&record.Field.FieldName in r) {\r\n r[record.Field.FieldName] = record.value;\r\n }\r\n }\r\n\r\n public Legacy_UpdateByField(key: string, record: IUpdateType): void {\r\n let r: Record = this.Legacy_GetRecordByKey(key);\r\n if (r !== null&&record.Field.FieldName in r) {\r\n r[record.Field.FieldName] = record.value;\r\n }\r\n }\r\n\r\n\r\n //implementation is optional with the question mark\r\n //Do nothing by default\r\n public async byKey?(key: any): Promise {\r\n await this._DataLoaded();\r\n }\r\n public async update?(key: any, values: any): Promise;\r\n\r\n public onInserted?(values: any, key: any): void;\r\n public onInserting?(values: any): void;\r\n public onLoaded?(result: any[], loadOptions: LoadOptions): void;\r\n public onLoading?(loadOptions: LoadOptions): void;\r\n public onPush?(changes: any[]): void;\r\n public onRemoved?(key: any): void;\r\n public onRemoving?(key: any): void;\r\n public onUpdated?(key: any, values: any): void;\r\n public onUpdating?(key: any, values: any): void;\r\n\r\n public onModified?: Function;\r\n public onModifying?: Function;\r\n public errorHandler?: Function;\r\n}","import { LoadOptions, GroupDescriptor } from 'devextreme/data';\r\nimport { GroupItem, Options as DataStoreOptions, ResolvedData } from 'devextreme/data/custom_store';\r\nimport CustomStore from 'devextreme/data/custom_store';\r\nimport BaseCustomDataStore from './BaseCustomDataStore';\r\nimport Utils from 'pillar/Utils/Utils';\r\nimport { v4 as newGuid } from 'uuid'\r\nexport default class InMemoryDataStore extends BaseCustomDataStore\r\n{\r\n static CreatedInMemoryDataStore(jsProp : IJsProp): CustomStore {\r\n let store: CustomStore = BaseCustomDataStore.CreateDataStore(new InMemoryDataStore(jsProp));\r\n return store;\r\n }\r\n\r\n public data: Record;\r\n\r\n constructor(jsProp : IJsProp = null) {\r\n super(jsProp); \r\n this.data = {};\r\n }\r\n\r\n public override async load(options: LoadOptions): Promise> {\r\n await this._DataLoaded();\r\n let resolveArray: ResolvedData = {\r\n data: Object.values(this.data),\r\n totalCount: this.data.size,\r\n }\r\n return resolveArray;\r\n }\r\n\r\n public override async totalCount?(loadOptions: { filter?: any; group?: GroupDescriptor | GroupDescriptor[]; }): Promise {\r\n return this.data.size;\r\n }\r\n\r\n public override async Insert(rowKey: string, values: Record): Promise {\r\n await super.Insert(rowKey, values);\r\n this.data[rowKey] = values;\r\n }\r\n\r\n public override async Remove(key: any): Promise {\r\n delete this.data[key];\r\n }\r\n\r\n public override async update?(key: any, values: any): Promise {\r\n this.data[key] = values;\r\n }\r\n\r\n public override Legacy_Update(key: any, values: any): void {\r\n this.data[key] = values;\r\n }\r\n\r\n public GetRecordByKey(key: string): Promise> {\r\n if (key in this.data) {\r\n return this.data[key];\r\n }\r\n return null;\r\n }\r\n public Legacy_GetRecordByKey(key: string): Record {\r\n if (key in this.data) {\r\n return this.data[key]\r\n }\r\n }\r\n\r\n public GetDataRow(rKey: string): Array {\r\n let current = null;\r\n if (rKey in this.data) {\r\n for (let k in this.data[rKey]) {\r\n if (k != BaseCustomDataStore.DX_KEY) {\r\n let d = this.data[rKey][k];\r\n if (!Utils.IsNullOrWhitespace(d)) {\r\n if (current === null) {\r\n current = {};\r\n }\r\n current[k] = d;\r\n\r\n }\r\n }\r\n }\r\n }\r\n return current;\r\n }\r\n\r\n public GetData(): Array {\r\n\r\n let postData: Array = [];\r\n \r\n for (let rKey in this.data) {\r\n let current = this.GetDataRow(rKey);\r\n if (current !== null) {\r\n postData.push(current);\r\n current = null;\r\n }\r\n }\r\n\r\n return postData;\r\n }\r\n\r\n public ResetData(): void {\r\n this.data = {};\r\n }\r\n\r\n\r\n public async BulkInsert(data: Array>) : Promise {\r\n for (let i: number = 0; i < data.length; i++) {\r\n let key: string = newGuid();\r\n await this.Insert(key,data[i]);\r\n }\r\n }\r\n public async BulkInsertByFieldNames(fieldNames: Array, data: Array>): Promise {\r\n for (let i: number = 0; i < data.length; i++) {\r\n let row: Record = InMemoryDataStore.MapDataByFields(fieldNames, data[i]);\r\n let key: string = newGuid();\r\n await this.Insert(key,row);\r\n }\r\n }\r\n\r\n static MapDataByFields(fields: Array, data : Array) : Record {\r\n let row: Record = {};\r\n for (let i: number = 0; i < data.length; i++) {\r\n if (i < fields.length) {\r\n row[fields[i]] = data[i];\r\n }\r\n }\r\n return row;\r\n }\r\n\r\n static MapCollectionOfDataByFields(fields: Array, data: Array>): Array> {\r\n let rows = new Array>();\r\n for (let i: number = 0; i < data.length; i++) {\r\n rows[i] = InMemoryDataStore.MapDataByFields(fields, data[i]);\r\n }\r\n return rows;\r\n }\r\n \r\n}","import { ValueChangedInfo } from 'devextreme/ui/editor/editor';\r\nimport { IMappedFieldInfo } from 'pillar/FieldInfo';\r\n\r\nexport class UpdateType implements IUpdateType {\r\n public Field: IMappedFieldInfo;\r\n public previousValue?: any;\r\n public value?: any;\r\n public text?: any;\r\n}\r\n\r\nexport interface IUpdateType extends ValueChangedInfo {\r\n text?: any;\r\n Field: IMappedFieldInfo;\r\n\r\n}\r\n\r\n","import { dxValidationGroupResult } from 'devextreme/ui/validation_group';\r\nimport Logger from 'pillar/Utils/Logger';\r\nexport default class Validator{\r\n static CreateValidator(e, jsProp : IJsProp){\r\n if(typeof jsProp !== 'undefined'&&typeof jsProp.validator !== 'undefined'&&jsProp.validator !== null)\r\n {\r\n e.element.dxValidator(jsProp.validator);\r\n }\r\n }\r\n\r\n static CheckIfValid(validationGroup: string): boolean {\r\n let dx: any = window[\"DevExpress\"];\r\n let validationResults: dxValidationGroupResult = dx.validationEngine.validateGroup(validationGroup);\r\n return validationResults.isValid;\r\n }\r\n\r\n public static async CheckIfValidAsync(validationGroup: string): Promise {\r\n let dx: any = window[\"DevExpress\"];//We need to map all the externals\r\n let validationResults: dxValidationGroupResult = dx.validationEngine.validateGroup(validationGroup);\r\n if (validationResults.complete) {\r\n validationResults = await validationResults.complete;\r\n }\r\n Logger.debug(`Validation Compleated, reviewing results`, validationResults);\r\n return validationResults.isValid;\r\n }\r\n\r\n public static ResetValidation(validationGroup: string): void {\r\n let dx: any = window[\"DevExpress\"];//We need to map all the externals\r\n dx.validationEngine.resetGroup(validationGroup);\r\n }\r\n}\r\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"cssx\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"cssx\"] = factory();\n\telse\n\t\troot[\"cssx\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar factory, goGlobal, stylesheets, api, randomId, plugins = [];\n\t\n\t__webpack_require__(1);\n\t\n\tfactory = __webpack_require__(5);\n\tgoGlobal = __webpack_require__(15);\n\trandomId = __webpack_require__(16);\n\t\n\tstylesheets = [];\n\t\n\tfunction createStyleSheet(id) {\n\t var s, i;\n\t\n\t if (typeof id === 'undefined') {\n\t id = randomId();\n\t }\n\t\n\t for (i = 0; i < stylesheets.length; i++) {\n\t if (stylesheets[i].id() === id) {\n\t return stylesheets[i];\n\t }\n\t }\n\t s = factory.apply(factory, arguments);\n\t stylesheets.push(s);\n\t return s;\n\t};\n\t\n\tapi = function (id) { return createStyleSheet(id, plugins); };\n\t\n\tapi.domChanges = function (flag) {\n\t factory.disableDOMChanges = !flag;\n\t};\n\tapi.minify = function (flag) {\n\t factory.minify = flag;\n\t};\n\tapi.nextTick = function (flag) {\n\t factory.useNextTick = flag;\n\t};\n\tapi.getStylesheets = function () {\n\t return stylesheets;\n\t};\n\tapi.clear = function () {\n\t var i;\n\t\n\t for (i = 0; i < stylesheets.length; i++) {\n\t stylesheets[i].clear();\n\t }\n\t stylesheets = [];\n\t return api;\n\t};\n\tapi.getCSS = function () {\n\t var i, css = '';\n\t\n\t for (i = 0; i < stylesheets.length; i++) {\n\t css += stylesheets[i].getCSS();\n\t }\n\t return css;\n\t};\n\tapi.plugins = function (arr) {\n\t plugins = plugins.concat(arr);\n\t};\n\t\n\tmodule.exports = api;\n\t\n\tgoGlobal(module.exports);\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(2);\n\t__webpack_require__(3);\n\t__webpack_require__(4);\n\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tif (!Array.prototype.filter) {\n\t Array.prototype.filter = function(fun/*, thisArg*/) {\n\t 'use strict';\n\t\n\t if (this === void 0 || this === null) {\n\t throw new TypeError();\n\t }\n\t\n\t var t = Object(this);\n\t var len = t.length >>> 0;\n\t if (typeof fun !== 'function') {\n\t throw new TypeError();\n\t }\n\t\n\t var res = [];\n\t var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n\t for (var i = 0; i < len; i++) {\n\t if (i in t) {\n\t var val = t[i];\n\t\n\t // NOTE: Technically this should Object.defineProperty at\n\t // the next index, as push can be affected by\n\t // properties on Object.prototype and Array.prototype.\n\t // But that method's new, and collisions should be\n\t // rare, so use the more-compatible alternative.\n\t if (fun.call(thisArg, val, i, t)) {\n\t res.push(val);\n\t }\n\t }\n\t }\n\t\n\t return res;\n\t };\n\t}\n\n/***/ },\n/* 3 */\n/***/ function(module, exports) {\n\n\t// Production steps of ECMA-262, Edition 5, 15.4.4.18\n\t// Reference: http://es5.github.io/#x15.4.4.18\n\tif (!Array.prototype.forEach) {\n\t\n\t Array.prototype.forEach = function(callback, thisArg) {\n\t\n\t var T, k;\n\t\n\t if (this == null) {\n\t throw new TypeError(' this is null or not defined');\n\t }\n\t\n\t // 1. Let O be the result of calling ToObject passing the |this| value as the argument.\n\t var O = Object(this);\n\t\n\t // 2. Let lenValue be the result of calling the Get internal method of O with the argument \"length\".\n\t // 3. Let len be ToUint32(lenValue).\n\t var len = O.length >>> 0;\n\t\n\t // 4. If IsCallable(callback) is false, throw a TypeError exception.\n\t // See: http://es5.github.com/#x9.11\n\t if (typeof callback !== \"function\") {\n\t throw new TypeError(callback + ' is not a function');\n\t }\n\t\n\t // 5. If thisArg was supplied, let T be thisArg; else let T be undefined.\n\t if (arguments.length > 1) {\n\t T = thisArg;\n\t }\n\t\n\t // 6. Let k be 0\n\t k = 0;\n\t\n\t // 7. Repeat, while k < len\n\t while (k < len) {\n\t\n\t var kValue;\n\t\n\t // a. Let Pk be ToString(k).\n\t // This is implicit for LHS operands of the in operator\n\t // b. Let kPresent be the result of calling the HasProperty internal method of O with argument Pk.\n\t // This step can be combined with c\n\t // c. If kPresent is true, then\n\t if (k in O) {\n\t\n\t // i. Let kValue be the result of calling the Get internal method of O with argument Pk.\n\t kValue = O[k];\n\t\n\t // ii. Call the Call internal method of callback with T as the this value and\n\t // argument list containing kValue, k, and O.\n\t callback.call(T, kValue, k, O);\n\t }\n\t // d. Increase k by 1.\n\t k++;\n\t }\n\t // 8. return undefined\n\t };\n\t}\n\n/***/ },\n/* 4 */\n/***/ function(module, exports) {\n\n\t// Production steps of ECMA-262, Edition 5, 15.4.4.19\n\t// Reference: http://es5.github.io/#x15.4.4.19\n\tif (!Array.prototype.map) {\n\t\n\t Array.prototype.map = function(callback, thisArg) {\n\t\n\t var T, A, k;\n\t\n\t if (this == null) {\n\t throw new TypeError(' this is null or not defined');\n\t }\n\t\n\t // 1. Let O be the result of calling ToObject passing the |this| \n\t // value as the argument.\n\t var O = Object(this);\n\t\n\t // 2. Let lenValue be the result of calling the Get internal \n\t // method of O with the argument \"length\".\n\t // 3. Let len be ToUint32(lenValue).\n\t var len = O.length >>> 0;\n\t\n\t // 4. If IsCallable(callback) is false, throw a TypeError exception.\n\t // See: http://es5.github.com/#x9.11\n\t if (typeof callback !== 'function') {\n\t throw new TypeError(callback + ' is not a function');\n\t }\n\t\n\t // 5. If thisArg was supplied, let T be thisArg; else let T be undefined.\n\t if (arguments.length > 1) {\n\t T = thisArg;\n\t }\n\t\n\t // 6. Let A be a new array created as if by the expression new Array(len) \n\t // where Array is the standard built-in constructor with that name and \n\t // len is the value of len.\n\t A = new Array(len);\n\t\n\t // 7. Let k be 0\n\t k = 0;\n\t\n\t // 8. Repeat, while k < len\n\t while (k < len) {\n\t\n\t var kValue, mappedValue;\n\t\n\t // a. Let Pk be ToString(k).\n\t // This is implicit for LHS operands of the in operator\n\t // b. Let kPresent be the result of calling the HasProperty internal \n\t // method of O with argument Pk.\n\t // This step can be combined with c\n\t // c. If kPresent is true, then\n\t if (k in O) {\n\t\n\t // i. Let kValue be the result of calling the Get internal \n\t // method of O with argument Pk.\n\t kValue = O[k];\n\t\n\t // ii. Let mappedValue be the result of calling the Call internal \n\t // method of callback with T as the this value and argument \n\t // list containing kValue, k, and O.\n\t mappedValue = callback.call(T, kValue, k, O);\n\t\n\t // iii. Call the DefineOwnProperty internal method of A with arguments\n\t // Pk, Property Descriptor\n\t // { Value: mappedValue,\n\t // Writable: true,\n\t // Enumerable: true,\n\t // Configurable: true },\n\t // and false.\n\t\n\t // In browsers that support Object.defineProperty, use the following:\n\t // Object.defineProperty(A, k, {\n\t // value: mappedValue,\n\t // writable: true,\n\t // enumerable: true,\n\t // configurable: true\n\t // });\n\t\n\t // For best browser support, use the following:\n\t A[k] = mappedValue;\n\t }\n\t // d. Increase k by 1.\n\t k++;\n\t }\n\t\n\t // 9. return A\n\t return A;\n\t };\n\t}\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar CSSRule = __webpack_require__(6);\n\tvar applyToDOM = __webpack_require__(8);\n\tvar nextTick = __webpack_require__(9);\n\tvar generate = __webpack_require__(13);\n\tvar isArray = __webpack_require__(7);\n\t\n\tvar ids = 0;\n\tvar getId = function () { return 'x' + (++ids); };\n\t\n\tmodule.exports = function (id, plugins) {\n\t var _id = id || getId();\n\t var _api = {};\n\t var _rules = [];\n\t var _customProperties = {};\n\t var _remove = null;\n\t var _css = '';\n\t var _scope = '';\n\t\n\t var ruleExists = function (rules, selector, parent) {\n\t return rules.reduce(function (result, rule) {\n\t if (result !== false) return result;\n\t if (rule.selector === selector) {\n\t if (parent) {\n\t return rule.parent && parent.selector === rule.parent.selector ? rule : false;\n\t }\n\t return rule;\n\t }\n\t return false;\n\t }, false);\n\t };\n\t var registerRule = function (rule, addAt) {\n\t if (typeof addAt !== 'undefined') {\n\t _rules.splice(addAt, 0, rule);\n\t } else {\n\t _rules.push(rule);\n\t }\n\t rule.index = _rules.length - 1;\n\t };\n\t var isNested = function (obj) {\n\t if (typeof obj !== 'object') {\n\t return true;\n\t } else if (isArray(obj)) {\n\t return typeof obj[0] === 'string';\n\t }\n\t return false;\n\t };\n\t\n\t _api.id = function () {\n\t return _id;\n\t };\n\t _api.add = _api.update = function (rawRules, parent, addAt, considerAsNew) {\n\t var rule, prop, tmpRawRules, cssProps, props, nestedRules, selector, tmp;\n\t var created = [];\n\t\n\t if (typeof rawRules === 'string') {\n\t tmp = {};\n\t tmp[rawRules] = {};\n\t rawRules = tmp;\n\t }\n\t\n\t if (typeof rawRules === 'function') {\n\t rawRules = rawRules();\n\t }\n\t\n\t for (selector in rawRules) {\n\t if (isArray(rawRules[selector])) {\n\t rawRules[selector].forEach(function (r) {\n\t tmp = {};\n\t tmp[selector] = r;\n\t _api.add(tmp, parent, undefined, true);\n\t });\n\t } else {\n\t rule = ruleExists(_rules, selector, parent);\n\t cssProps = {};\n\t props = {};\n\t nestedRules = [];\n\t\n\t // new rule\n\t if (considerAsNew || !rule) {\n\t props = rawRules[selector];\n\t for (prop in props) {\n\t if (isNested(props[prop])) {\n\t cssProps[prop] = props[prop];\n\t } else {\n\t tmpRawRules = {};\n\t tmpRawRules[prop] = props[prop];\n\t nestedRules.push(tmpRawRules);\n\t }\n\t }\n\t\n\t rule = CSSRule(selector, this.resolveCustomProps(cssProps), _api);\n\t\n\t if (!parent) {\n\t registerRule(rule, addAt);\n\t } else {\n\t rule.parent = parent;\n\t parent.registerNested(rule);\n\t }\n\t nestedRules.forEach(function (rawRulesNested) {\n\t _api.add(rawRulesNested, rule);\n\t });\n\t\n\t // existing rule\n\t } else {\n\t rule.update(rawRules[selector]);\n\t }\n\t\n\t this.compile();\n\t created.push(rule);\n\t }\n\t }\n\t\n\t return created.length === 1 ? created[0] : created;\n\t };\n\t _api.rules = function () {\n\t return _rules;\n\t };\n\t _api.compile = function () {\n\t if (module.exports.useNextTick) {\n\t nextTick(function () {\n\t _api.compileImmediate();\n\t }, _id);\n\t return _api;\n\t }\n\t return _api.compileImmediate();\n\t };\n\t _api.compileImmediate = function () {\n\t _css = generate(_rules, module.exports.minify, plugins, _scope);\n\t if (!module.exports.disableDOMChanges) {\n\t _remove = applyToDOM(_css, _id);\n\t }\n\t return _api;\n\t };\n\t _api.clear = function () {\n\t _rules = [];\n\t _css = '';\n\t if (_remove !== null) {\n\t _remove();\n\t _remove = null;\n\t }\n\t return _api;\n\t };\n\t _api.destroy = function () {\n\t return _api.clear();\n\t };\n\t _api.getCSS = function () {\n\t this.compileImmediate();\n\t return _css;\n\t };\n\t _api.define = function (prop, func) {\n\t _customProperties[prop] = func;\n\t };\n\t _api.scope = function (scope) {\n\t _scope = scope;\n\t };\n\t _api._getCustomProps = function () {\n\t return _customProperties;\n\t };\n\t _api.resolveCustomProps = function (actual) {\n\t var result = actual, prop, newProp, value;\n\t var custom = _customProperties;\n\t\n\t for (prop in custom) {\n\t if (typeof actual[prop] !== 'undefined') {\n\t value = custom[prop](actual[prop]);\n\t delete actual[prop];\n\t for (newProp in value) {\n\t actual[newProp] = value[newProp];\n\t }\n\t }\n\t }\n\t return result;\n\t };\n\t\n\t return _api;\n\t};\n\t\n\tmodule.exports.disableDOMChanges = false;\n\tmodule.exports.minify = true;\n\tmodule.exports.useNextTick = true;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArray = __webpack_require__(7);\n\t\n\tmodule.exports = function CSSRule(selector, props, stylesheet) {\n\t var _api = {\n\t selector: selector,\n\t props: props,\n\t stylesheet: stylesheet,\n\t index: null,\n\t nestedRules: null,\n\t parent: null\n\t };\n\t\n\t _api.clone = function () {\n\t var rule = CSSRule(this.selector, this.props, this.stylesheet);\n\t\n\t rule.index = this.index;\n\t rule.nestedRules = this.nestedRules;\n\t rule.parent = this.parent;\n\t\n\t return rule;\n\t };\n\t\n\t _api.descendant = _api.d = function (rawRules) {\n\t var selector;\n\t\n\t if (typeof rawRules === 'function') rawRules = rawRules();\n\t\n\t for (selector in rawRules) {\n\t rawRules[_api.selector + ' ' + selector] = rawRules[selector];\n\t delete rawRules[selector];\n\t }\n\t return _api.stylesheet.add(rawRules, this.parent, this.index);\n\t };\n\t _api.nested = _api.n = function (rawRules) {\n\t return _api.stylesheet.add(rawRules, this);\n\t };\n\t _api.update = function (props) {\n\t var prop, areThereNestedRules = this.nestedRules !== null;\n\t\n\t if (typeof props === 'function') {\n\t props = props();\n\t }\n\t\n\t props = this.stylesheet.resolveCustomProps(props);\n\t\n\t for (prop in props) {\n\t if (typeof props[prop] !== 'object') {\n\t this.props[prop] = props[prop];\n\t } else if (areThereNestedRules) {\n\t if (this.nestedRules[prop]) {\n\t this.nestedRules[prop].update(props[prop]);\n\t }\n\t }\n\t }\n\t return this;\n\t };\n\t _api.registerNested = function (rule) {\n\t var nestedRule;\n\t\n\t if (this.nestedRules === null) this.nestedRules = {};\n\t\n\t nestedRule = this.nestedRules[rule.selector];\n\t\n\t if (nestedRule) {\n\t if (isArray(nestedRule)) {\n\t nestedRule.push(rule);\n\t } else {\n\t this.nestedRules[rule.selector] = [ nestedRule, rule ];\n\t }\n\t } else {\n\t this.nestedRules[rule.selector] = rule;\n\t }\n\t return this;\n\t };\n\t\n\t return _api;\n\t};\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function (v) {\n\t return Object.prototype.toString.call(v) === '[object Array]';\n\t};\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\tvar cache = {};\n\t\n\tvar qs = function (selector) {\n\t return document.querySelector(selector);\n\t};\n\t\n\tvar createNode = function (type, attrs, content) {\n\t var node = document.createElement(type), i, a;\n\t\n\t for (i = 0; i < attrs.length; i++) {\n\t a = attrs[i];\n\t node.setAttribute(a.name, a.value);\n\t }\n\t node.innerHTML = content;\n\t (qs('head') || qs('body')).appendChild(node);\n\t return node;\n\t};\n\t\n\tvar remove = function (id) {\n\t return function () {\n\t if (cache[id]) {\n\t cache[id].el.parentNode.removeChild(cache[id].el);\n\t delete cache[id];\n\t }\n\t };\n\t};\n\t\n\tmodule.exports = function (css, id) {\n\t var el;\n\t\n\t if (!cache[id]) {\n\t el = createNode(\n\t 'style', [\n\t { name: 'id', value: id },\n\t { name: 'type', value: 'text/css'}\n\t ],\n\t css\n\t );\n\t cache[id] = { el: el, css: css, remove: remove(id) };\n\t } else {\n\t if (cache[id].css !== css) {\n\t cache[id].css = css;\n\t cache[id].el.innerHTML = css;\n\t }\n\t }\n\t\n\t return cache[id].remove;\n\t};\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(setImmediate) {var cache = {};\n\t\n\t__webpack_require__(12);\n\t\n\tmodule.exports = function (work, id) {\n\t if (!cache[id]) {\n\t cache[id] = work;\n\t setImmediate(function () {\n\t delete cache[id];\n\t work();\n\t });\n\t }\n\t};\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10).setImmediate))\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(setImmediate, clearImmediate) {var nextTick = __webpack_require__(11).nextTick;\n\tvar apply = Function.prototype.apply;\n\tvar slice = Array.prototype.slice;\n\tvar immediateIds = {};\n\tvar nextImmediateId = 0;\n\t\n\t// DOM APIs, for completeness\n\t\n\texports.setTimeout = function() {\n\t return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);\n\t};\n\texports.setInterval = function() {\n\t return new Timeout(apply.call(setInterval, window, arguments), clearInterval);\n\t};\n\texports.clearTimeout =\n\texports.clearInterval = function(timeout) { timeout.close(); };\n\t\n\tfunction Timeout(id, clearFn) {\n\t this._id = id;\n\t this._clearFn = clearFn;\n\t}\n\tTimeout.prototype.unref = Timeout.prototype.ref = function() {};\n\tTimeout.prototype.close = function() {\n\t this._clearFn.call(window, this._id);\n\t};\n\t\n\t// Does not start the time, just sets up the members needed.\n\texports.enroll = function(item, msecs) {\n\t clearTimeout(item._idleTimeoutId);\n\t item._idleTimeout = msecs;\n\t};\n\t\n\texports.unenroll = function(item) {\n\t clearTimeout(item._idleTimeoutId);\n\t item._idleTimeout = -1;\n\t};\n\t\n\texports._unrefActive = exports.active = function(item) {\n\t clearTimeout(item._idleTimeoutId);\n\t\n\t var msecs = item._idleTimeout;\n\t if (msecs >= 0) {\n\t item._idleTimeoutId = setTimeout(function onTimeout() {\n\t if (item._onTimeout)\n\t item._onTimeout();\n\t }, msecs);\n\t }\n\t};\n\t\n\t// That's not how node.js implements it but the exposed api is the same.\n\texports.setImmediate = typeof setImmediate === \"function\" ? setImmediate : function(fn) {\n\t var id = nextImmediateId++;\n\t var args = arguments.length < 2 ? false : slice.call(arguments, 1);\n\t\n\t immediateIds[id] = true;\n\t\n\t nextTick(function onNextTick() {\n\t if (immediateIds[id]) {\n\t // fn.call() is faster so we optimize for the common use-case\n\t // @see http://jsperf.com/call-apply-segu\n\t if (args) {\n\t fn.apply(null, args);\n\t } else {\n\t fn.call(null);\n\t }\n\t // Prevent ids from leaking\n\t exports.clearImmediate(id);\n\t }\n\t });\n\t\n\t return id;\n\t};\n\t\n\texports.clearImmediate = typeof clearImmediate === \"function\" ? clearImmediate : function(id) {\n\t delete immediateIds[id];\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10).setImmediate, __webpack_require__(10).clearImmediate))\n\n/***/ },\n/* 11 */\n/***/ function(module, exports) {\n\n\t// shim for using process in browser\n\t\n\tvar process = module.exports = {};\n\tvar queue = [];\n\tvar draining = false;\n\tvar currentQueue;\n\tvar queueIndex = -1;\n\t\n\tfunction cleanUpNextTick() {\n\t draining = false;\n\t if (currentQueue.length) {\n\t queue = currentQueue.concat(queue);\n\t } else {\n\t queueIndex = -1;\n\t }\n\t if (queue.length) {\n\t drainQueue();\n\t }\n\t}\n\t\n\tfunction drainQueue() {\n\t if (draining) {\n\t return;\n\t }\n\t var timeout = setTimeout(cleanUpNextTick);\n\t draining = true;\n\t\n\t var len = queue.length;\n\t while(len) {\n\t currentQueue = queue;\n\t queue = [];\n\t while (++queueIndex < len) {\n\t if (currentQueue) {\n\t currentQueue[queueIndex].run();\n\t }\n\t }\n\t queueIndex = -1;\n\t len = queue.length;\n\t }\n\t currentQueue = null;\n\t draining = false;\n\t clearTimeout(timeout);\n\t}\n\t\n\tprocess.nextTick = function (fun) {\n\t var args = new Array(arguments.length - 1);\n\t if (arguments.length > 1) {\n\t for (var i = 1; i < arguments.length; i++) {\n\t args[i - 1] = arguments[i];\n\t }\n\t }\n\t queue.push(new Item(fun, args));\n\t if (queue.length === 1 && !draining) {\n\t setTimeout(drainQueue, 0);\n\t }\n\t};\n\t\n\t// v8 likes predictible objects\n\tfunction Item(fun, array) {\n\t this.fun = fun;\n\t this.array = array;\n\t}\n\tItem.prototype.run = function () {\n\t this.fun.apply(null, this.array);\n\t};\n\tprocess.title = 'browser';\n\tprocess.browser = true;\n\tprocess.env = {};\n\tprocess.argv = [];\n\tprocess.version = ''; // empty string to avoid regexp issues\n\tprocess.versions = {};\n\t\n\tfunction noop() {}\n\t\n\tprocess.on = noop;\n\tprocess.addListener = noop;\n\tprocess.once = noop;\n\tprocess.off = noop;\n\tprocess.removeListener = noop;\n\tprocess.removeAllListeners = noop;\n\tprocess.emit = noop;\n\t\n\tprocess.binding = function (name) {\n\t throw new Error('process.binding is not supported');\n\t};\n\t\n\tprocess.cwd = function () { return '/' };\n\tprocess.chdir = function (dir) {\n\t throw new Error('process.chdir is not supported');\n\t};\n\tprocess.umask = function() { return 0; };\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global, clearImmediate, process) {(function (global, undefined) {\n\t \"use strict\";\n\t\n\t if (global.setImmediate) {\n\t return;\n\t }\n\t\n\t var nextHandle = 1; // Spec says greater than zero\n\t var tasksByHandle = {};\n\t var currentlyRunningATask = false;\n\t var doc = global.document;\n\t var setImmediate;\n\t\n\t function addFromSetImmediateArguments(args) {\n\t tasksByHandle[nextHandle] = partiallyApplied.apply(undefined, args);\n\t return nextHandle++;\n\t }\n\t\n\t // This function accepts the same arguments as setImmediate, but\n\t // returns a function that requires no arguments.\n\t function partiallyApplied(handler) {\n\t var args = [].slice.call(arguments, 1);\n\t return function() {\n\t if (typeof handler === \"function\") {\n\t handler.apply(undefined, args);\n\t } else {\n\t (new Function(\"\" + handler))();\n\t }\n\t };\n\t }\n\t\n\t function runIfPresent(handle) {\n\t // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n\t // So if we're currently running a task, we'll need to delay this invocation.\n\t if (currentlyRunningATask) {\n\t // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n\t // \"too much recursion\" error.\n\t setTimeout(partiallyApplied(runIfPresent, handle), 0);\n\t } else {\n\t var task = tasksByHandle[handle];\n\t if (task) {\n\t currentlyRunningATask = true;\n\t try {\n\t task();\n\t } finally {\n\t clearImmediate(handle);\n\t currentlyRunningATask = false;\n\t }\n\t }\n\t }\n\t }\n\t\n\t function clearImmediate(handle) {\n\t delete tasksByHandle[handle];\n\t }\n\t\n\t function installNextTickImplementation() {\n\t setImmediate = function() {\n\t var handle = addFromSetImmediateArguments(arguments);\n\t process.nextTick(partiallyApplied(runIfPresent, handle));\n\t return handle;\n\t };\n\t }\n\t\n\t function canUsePostMessage() {\n\t // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n\t // where `global.postMessage` means something completely different and can't be used for this purpose.\n\t if (global.postMessage && !global.importScripts) {\n\t var postMessageIsAsynchronous = true;\n\t var oldOnMessage = global.onmessage;\n\t global.onmessage = function() {\n\t postMessageIsAsynchronous = false;\n\t };\n\t global.postMessage(\"\", \"*\");\n\t global.onmessage = oldOnMessage;\n\t return postMessageIsAsynchronous;\n\t }\n\t }\n\t\n\t function installPostMessageImplementation() {\n\t // Installs an event handler on `global` for the `message` event: see\n\t // * https://developer.mozilla.org/en/DOM/window.postMessage\n\t // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\t\n\t var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n\t var onGlobalMessage = function(event) {\n\t if (event.source === global &&\n\t typeof event.data === \"string\" &&\n\t event.data.indexOf(messagePrefix) === 0) {\n\t runIfPresent(+event.data.slice(messagePrefix.length));\n\t }\n\t };\n\t\n\t if (global.addEventListener) {\n\t global.addEventListener(\"message\", onGlobalMessage, false);\n\t } else {\n\t global.attachEvent(\"onmessage\", onGlobalMessage);\n\t }\n\t\n\t setImmediate = function() {\n\t var handle = addFromSetImmediateArguments(arguments);\n\t global.postMessage(messagePrefix + handle, \"*\");\n\t return handle;\n\t };\n\t }\n\t\n\t function installMessageChannelImplementation() {\n\t var channel = new MessageChannel();\n\t channel.port1.onmessage = function(event) {\n\t var handle = event.data;\n\t runIfPresent(handle);\n\t };\n\t\n\t setImmediate = function() {\n\t var handle = addFromSetImmediateArguments(arguments);\n\t channel.port2.postMessage(handle);\n\t return handle;\n\t };\n\t }\n\t\n\t function installReadyStateChangeImplementation() {\n\t var html = doc.documentElement;\n\t setImmediate = function() {\n\t var handle = addFromSetImmediateArguments(arguments);\n\t // Create a