{"version":3,"sources":["Areas/TypeScript/ajax-helper.ts","Areas/TypeScript/button-utilities.ts","Areas/TypeScript/ckeditor.ts","Areas/TypeScript/dialog.ts","Areas/TypeScript/form-crud.ts","Areas/TypeScript/form-lookup.ts","Areas/TypeScript/reports.ts","Areas/TypeScript/tabs.ts","Areas/TypeScript/user-lookup.ts","Areas/TypeScript/utilities.ts","Areas/TypeScript/custom/favorite.ts","Areas/TypeScript/custom/goto.ts","Areas/TypeScript/custom/lookup-item-template.ts","Areas/TypeScript/grid/column-grid.ts","Areas/TypeScript/grid/download-zip.ts","Areas/TypeScript/grid/edit-batch-button-configuration.ts","Areas/TypeScript/grid/edit-buttons-builder.ts","Areas/TypeScript/grid/export-grid.ts","Areas/TypeScript/grid/filter-builder.ts","Areas/TypeScript/grid/filter.ts","Areas/TypeScript/grid/grid-edit-buttons.ts","Areas/TypeScript/grid/grid-utilities.ts","Areas/TypeScript/grid/reset-layout.ts","Areas/TypeScript/grid/toolbar.ts","Areas/TypeScript/tree-list/column-grid.ts","Areas/TypeScript/tree-list/reset-layout.ts","Areas/TypeScript/tree-list/toolbar.ts","Areas/Account/Views/AccountStatusReport/account-statusreport.ts","Areas/Account/Views/CIB/account-cib.ts","Areas/Account/Views/ConstructionManagement/construction-management.ts","Areas/Account/Views/ContractsSummary/account-contractssummary.ts","Areas/Account/Views/FinanceFunding/Account-Funding.ts","Areas/Account/Views/FinanceRechargeJob/Account-RechargeJob.ts","Areas/Account/Views/FinanceValidFund/Account-ValidFund.ts","Areas/Account/Views/GLDetailSummary/account-gldetail.ts","Areas/Account/Views/GLSummary/account-glsummary.ts","Areas/Account/Views/InspectionsSummary/account-inspectionssummary.ts","Areas/Account/Views/List/account-list.ts","Areas/Account/Views/Milestones/account-milestone.ts","Areas/Account/Views/PWC/account-pwc.ts","Areas/Account/Views/Profile/Account-Profile.ts","Areas/Account/Views/RechargeSummary/account-recharge-summary.ts","Areas/Account/Views/Report/account-report.ts","Areas/Account/Views/Schedule/account-schedule.ts","Areas/Account/Views/Shared/account-edit.ts","Areas/Account/Views/Shared/account-goto.ts","Areas/Account/Views/Shared/account-view.ts","Areas/Account/Views/Team/account-team.ts","Areas/Account/Views/Workflows/account-workflows.ts","Areas/Account/Views/YearMonthChart/year-month-chart.ts","Areas/Account/Views/YearMonthGLChart/year-month-gl-chart.ts","Areas/Analysis/Views/ActiveProjects/analysis-activeprojects.ts","Areas/Analysis/Views/CIBApprovals/analysis-cibapprovals.ts","Areas/Analysis/Views/DataReview/dataReview.ts","Areas/Analysis/Views/ProjectsGantt/analysis-projectsgantt.ts","Areas/Analysis/Views/TimesheetPivot/analysis-timesheet.ts","Areas/Attachment/Views/Attachment/attachment-upload.ts","Areas/Budget/Views/AutoLinked/budget-autolink.ts","Areas/Budget/Views/BudgetEntry/budget-budgetentry.ts","Areas/Budget/Views/Linked/budget-linked.ts","Areas/Budget/Views/List/budget-list.ts","Areas/Budget/Views/Profile/budget-category.ts","Areas/Budget/Views/Profile/budget-profile.ts","Areas/Budget/Views/Shared/budget-edit.ts","Areas/Budget/Views/Shared/budget-goto.ts","Areas/Budget/Views/Shared/budget-view.ts","Areas/Budget/Views/Unlinked/budget-unLinked.ts","Areas/ChangeManagement/Views/List/changemanagement-list.ts","Areas/ChangeManagement/Views/Profile/changemanagement-profile.ts","Areas/ChangeManagement/Views/Shared/changemanagement-edit.ts","Areas/ChangeManagement/Views/Shared/changemanagement-view.ts","Areas/ChangeManagement/Views/Summary/changemanagement-summary.ts","Areas/ChangeManagement/Views/Transaction/changemanagement-transaction.ts","Areas/ConstructionManagement/Views/Shared/CM-edit.ts","Areas/ConstructionManagement/Views/Shared/CM-view.ts","Areas/Contact/Views/List/contact-list.ts","Areas/Contact/Views/Profile/contact-phone.ts","Areas/Contact/Views/Shared/contact-edit.ts","Areas/Contact/Views/Shared/contact-view.ts","Areas/ContractorPay/Views/Detail/contractor-pay-detail.ts","Areas/ContractorPay/Views/EnterChangeOrder/contractorpay-changeorder.ts","Areas/ContractorPay/Views/EnterPayment/contractorpay-enterpayment.ts","Areas/ContractorPay/Views/Information/contractorpay-information.ts","Areas/ContractorPay/Views/List/contractorPay-list.ts","Areas/ContractorPay/Views/Payment/contractorpay-payment.ts","Areas/ContractorPay/Views/Profile/ContractorPay-Profile.ts","Areas/ContractorPay/Views/Shared/contractorpay-edit.ts","Areas/ContractorPay/Views/Shared/contractorpay-view.ts","Areas/ContractorPay/Views/Summary/contractor-pay-summary.ts","Areas/ContractorPay/Views/Transaction/contractorpay-transaction.ts","Areas/CustomQuery/Views/Main/custom-query-parameters.ts","Areas/CustomQuery/Views/Main/custom-query-result.ts","Areas/CustomQuery/Views/Main/custom-query.ts","Areas/Dialog/Views/Account/dialog-account.ts","Areas/Dialog/Views/AccountProfileImage/account-profile-image.ts","Areas/Dialog/Views/AccountTeamContactLookup/dialog-account-team-contact-lookup.ts","Areas/Dialog/Views/BudgetAccountCategoryLink/budget-account-category-link.ts","Areas/Dialog/Views/Caan/dialog-caan.ts","Areas/Dialog/Views/ChangePCategory/dialog-change-p-category.ts","Areas/Dialog/Views/Contact/dialog-contact.ts","Areas/Dialog/Views/Contract/dialog-contract.ts","Areas/Dialog/Views/CopyBudget/dialog-copy-budget.ts","Areas/Dialog/Views/CreateAccount/dialog-create-account.ts","Areas/Dialog/Views/CreateBudget/dialog-create-budget.ts","Areas/Dialog/Views/CreateBudgetAccountCategory/dialog-create-budgetaccountcategory.ts","Areas/Dialog/Views/CreateChangeManagementEscalation/dialog-create-change-management-escalation.ts","Areas/Dialog/Views/CreateChangeManagementProfile/dialog-create-change-management-profile.ts","Areas/Dialog/Views/CreateConstructionManagementItem/dialog-create-cm-item.ts","Areas/Dialog/Views/CreateContact/dialog-create-contact.ts","Areas/Dialog/Views/CreateContractorPayProfile/dialog-create-contractor-pay-profile.ts","Areas/Dialog/Views/CreateFavorite/dialog-create-favorite.ts","Areas/Dialog/Views/CreateGLMemo/dialog-create-glmemo.ts","Areas/Dialog/Views/CreateMeetingMinutesProfile/dialog-create-meeting-minutes-profile.ts","Areas/Dialog/Views/CreateProgram/dialog-create-program.ts","Areas/Dialog/Views/CreateProject/dialog-create-project.ts","Areas/Dialog/Views/CreatePunchListProfile/dialog-create-punch-list-profile.ts","Areas/Dialog/Views/CreateSubmittalTrackingProfile/dialog-create-submittal-tracking-profile.ts","Areas/Dialog/Views/CreateTransmittal/dialog-create-transmittal.ts","Areas/Dialog/Views/CreateTransmittalProfile/dialog-create-transmittal-profile.ts","Areas/Dialog/Views/CreateVendor/dialog-create-vendor.ts","Areas/Dialog/Views/CreateWarrantyProfile/dialog-create-warranty-profile.ts","Areas/Dialog/Views/EditAccountCIBCost/dialog-edit-accountcibcost-calculations.ts","Areas/Dialog/Views/EditAccountCIBCost/dialog-edit-accountcibcost-grid.ts","Areas/Dialog/Views/EditAccountCIBCost/dialog-edit-accountcibcost-helpers.ts","Areas/Dialog/Views/EditAccountCIBCost/dialog-edit-accountcibcost.ts","Areas/Dialog/Views/EditBudgetAccountCategory/dialog-edit-budgetaccountcategory.ts","Areas/Dialog/Views/EditGLMemo/dialog-edit-glmemo.ts","Areas/Dialog/Views/FilterBuilder/dialog-filter-builder.ts","Areas/Dialog/Views/FundingSource/dialog-funding-source.ts","Areas/Dialog/Views/Project/dialog-project.ts","Areas/Dialog/Views/ProjectLookup/dialog-project-lookup.ts","Areas/Dialog/Views/ReclassifyLink/dialog-reclassify-link.ts","Areas/Dialog/Views/RelinkSameSub/dialog-relink-same-sub.ts","Areas/Dialog/Views/Report123Dialog/report-123-dialog.ts","Areas/Dialog/Views/Report309Dialog/report-309-dialog.ts","Areas/Dialog/Views/Report309aDialog/report-309a-dialog.ts","Areas/Dialog/Views/Report401Dialog/report-401-dialog.ts","Areas/Dialog/Views/Report505Dialog/report-505-dialog.ts","Areas/Dialog/Views/Report581Dialog/report-581-dialog.ts","Areas/Dialog/Views/ValidFundLookup/dialog-valid-fund.ts","Areas/Dialog/Views/Vendor/dialog-vendor.ts","Areas/Dialog/Views/WebStoryImage/web-story-image.ts","Areas/ExecutiveReview/Views/Processes/processes.ts","Areas/Favorite/Views/List/favorite.ts","Areas/Finance/Views/Balances/finance-gl.ts","Areas/Finance/Views/DailyGL/finance-dailygl.ts","Areas/Finance/Views/Funding/finance-funding.ts","Areas/Finance/Views/IrsDeclarations/irs-declarations.ts","Areas/Finance/Views/Memos/finance-memos.ts","Areas/Finance/Views/MonthlyGL/finance-monthlygl.ts","Areas/Finance/Views/Reports/analysis-reports.ts","Areas/Finance/Views/Reports/analysis-updates.ts","Areas/Finance/Views/Research/research-edit.ts","Areas/Finance/Views/Shared/finance-edit.ts","Areas/Finance/Views/Shared/finance-view.ts","Areas/Maintenance/Views/CustomQuery/custom-query-maintenance.ts","Areas/Maintenance/Views/Shared/maintenance-shared.ts","Areas/Maintenance/Views/Shared/maintenance-tabs.ts","Areas/MeetingMinutes/Views/List/meetingminutes-list.ts","Areas/MeetingMinutes/Views/MeetingMinutes/meeting-minutes.ts","Areas/MeetingMinutes/Views/Profile/mm-profile.ts","Areas/MeetingMinutes/Views/Shared/mm-edit.ts","Areas/MeetingMinutes/Views/Shared/mm-view.ts","Areas/MyProjects/Views/Projects/myprojects-goto.ts","Areas/MyProjects/Views/Projects/myprojects-projects.ts","Areas/Program/Views/Account/program-account.ts","Areas/Program/Views/Analysis/program-analysis.ts","Areas/Program/Views/List/program-list.ts","Areas/Program/Views/Profile/program-profile.ts","Areas/Program/Views/Shared/program-edit.ts","Areas/Program/Views/Shared/program-view.ts","Areas/PunchList/Views/Items/punch-list-item.ts","Areas/PunchList/Views/List/punch-list.ts","Areas/PunchList/Views/Profile/punch-list-profile.ts","Areas/PunchList/Views/Shared/punch-list-edit.ts","Areas/PunchList/Views/Shared/punch-list-view.ts","Areas/RecordsRetention/Views/Create/create.ts","Areas/RecordsRetention/Views/List/list.ts","Areas/RecordsRetention/Views/RecordsRetention/records-retention.ts","Areas/Reports/Views/Report/reports.ts","Areas/Schedule/Views/Shared/schedule.ts","Areas/Shared/Views/account-module-edit.ts","Areas/Shared/Views/account-module-view.ts","Areas/Submittal/Views/List/submittal-list.ts","Areas/Submittal/Views/Profile/submittal-profile-goto-actions.ts","Areas/Submittal/Views/Profile/submittal-profile.ts","Areas/Submittal/Views/Shared/submittal-edit.ts","Areas/Submittal/Views/Shared/submittal-view.ts","Areas/Submittal/Views/Tracking/submittal-tracking-goto-actions.ts","Areas/Submittal/Views/Tracking/submittal-tracking.ts","Areas/Transmittal/Views/Detail/transmittal-detail-goto-actions.ts","Areas/Transmittal/Views/Detail/transmittal-detail.ts","Areas/Transmittal/Views/List/transmittal-list.ts","Areas/Transmittal/Views/Profile/transmittal-profile.ts","Areas/Transmittal/Views/Shared/transmittal-edit.ts","Areas/Transmittal/Views/Shared/transmittal-view.ts","Areas/Vendor/Views/Contact/contact.ts","Areas/Vendor/Views/List/vendor-list.ts","Areas/Vendor/Views/Shared/vendor-edit.ts","Areas/Vendor/Views/Shared/vendor-view.ts","Areas/Warranty/Views/Items/warranty-item.ts","Areas/Warranty/Views/List/warranty.ts","Areas/Warranty/Views/Profile/warranty-profile-goto.ts","Areas/Warranty/Views/Shared/warranty-edit.ts","Areas/Warranty/Views/Shared/warranty-profile.ts","Areas/Warranty/Views/Shared/warranty-view.ts","Areas/WebsiteInfo/Views/Planning/website-planning.ts","Areas/WebsiteInfo/Views/RFQ/website-rfq.ts","Areas/WebsiteInfo/Views/Shared/website-info.ts","Areas/WebsiteInfo/Views/Story/website-story.ts","Areas/Dialog/Views/CreateContractorPayTransaction/dialog-create-contractorPay-transaction.ts"],"names":[],"mappings":"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","file":"compiled.js","sourcesContent":["namespace Areas {\r\n \"use strict\";\r\n\r\n export enum ContentType { Json, Form }\r\n\r\n export function sendRequest(url: string, data: string, method: string,\r\n callback: (any) => void = null, contentType: ContentType = ContentType.Json) : JQueryXHR {\r\n\r\n const errorMessage = \"Error in request - Contact IS department\";\r\n\r\n let content = \"application/json\";\r\n if (contentType === ContentType.Form) {\r\n content = \"application/x-www-form-urlencoded; charset=utf-8\";\r\n }\r\n const defaultTimeOut = 4000;\r\n const redirectTimeOut = 2000;\r\n\r\n const toastrOptions = { timeOut: defaultTimeOut, positionClass: \"toast-bottom-full-width\", showMethod: \"show\" };\r\n\r\n toastr.info(\"Processing...\", \"\", toastrOptions);\r\n\r\n return $.ajax({\r\n url: url,\r\n xhrFields: {\r\n withCredentials: true\r\n },\r\n method: method,\r\n contentType: content,\r\n data: data,\r\n success: (response: any) => {\r\n \r\n if (method === \"DELETE\") {\r\n toastr.warning(response.msg, \"\", toastrOptions);\r\n } else {\r\n toastr.success(response.msg, \"\", toastrOptions);\r\n }\r\n\r\n if (callback) {\r\n callback(response.data);\r\n }\r\n\r\n if (response.url) {\r\n setTimeout(() => { window.location.href = response.url; }, redirectTimeOut);\r\n }\r\n \r\n },\r\n error: (response) => {\r\n if (response.responseText) {\r\n toastr.error(response.responseText, \"Error\", toastrOptions);\r\n } else {\r\n toastr.error(errorMessage, \"Error\", toastrOptions);\r\n }\r\n }\r\n });\r\n }\r\n\r\n}\r\n","namespace Areas {\r\n \"use strict\";\r\n\r\n export function showButton(id: string) {\r\n const button: DevExpress.ui.dxButton = $(`#${id}`).dxButton(\"instance\");\r\n\r\n if (button) {\r\n button.option(\"visible\", true);\r\n }\r\n }\r\n\r\n export function hideButton(id: string) {\r\n const button: DevExpress.ui.dxButton = $(`#${id}`).dxButton(\"instance\");\r\n\r\n if (button) {\r\n button.option(\"visible\", false);\r\n }\r\n }\r\n\r\n export function enableButton(id: string) {\r\n const button: DevExpress.ui.dxButton = $(`#${id}`).dxButton(\"instance\");\r\n\r\n if (button) {\r\n button.option(\"disabled\", false);\r\n }\r\n }\r\n\r\n export function disableButton(id: string) {\r\n const button: DevExpress.ui.dxButton = $(`#${id}`).dxButton(\"instance\");\r\n\r\n if (button) {\r\n button.option(\"disabled\", true);\r\n }\r\n }\r\n\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n declare var CKEDITOR: any;\r\n\r\n export function ckeditorInit(elementId, readonly?) {\r\n\r\n if ($('#' + elementId).length > 0) {\r\n CKEDITOR.plugins.addExternal('autolink', '/js/autolink/', 'plugin.js');\r\n var config: any = { extraPlugins: 'autolink', removeButtons: 'About' };\r\n if ($('#' + elementId).is('[readonly]') || readonly) {\r\n config.toolbar = [['Copy', 'Maximize', 'Source', 'Link', 'Unlink']];\r\n CKEDITOR.on('instanceReady', function (ev) {\r\n $('iframe').contents().click(function (e: any) {\r\n var url;\r\n url = e.target.href;\r\n if (url !== undefined && url !== \"\") {\r\n window.open(url);\r\n }\r\n });\r\n });\r\n }\r\n if (readonly) config.readOnly = true;\r\n CKEDITOR.replace(elementId, config);\r\n }\r\n }\r\n\r\n export function ckeditorGet(elementId) {\r\n\r\n return CKEDITOR.instances[elementId].getData();\r\n }\r\n\r\n export function ckeditorSet(elementId, value) {\r\n\r\n CKEDITOR.instances[elementId].setData(value);\r\n }\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export enum DialogResult { Ok, Cancel} \r\n\r\n export abstract class BaseDialog {\r\n readonly cancelButtonId: string = \"CancelDialog\";\r\n readonly okButtonId: string = \"OkDialog\";\r\n readonly runProcessButtonId: string = \"RunProcessDialog\";\r\n\r\n readonly url: string;\r\n readonly popupId: string;\r\n\r\n protected rootElementId: string;\r\n protected dialogName: string;\r\n protected popup: DevExpress.ui.dxPopup;\r\n protected parameters: any;\r\n\r\n protected closeHandler: (dialogResult: DialogResult, data: any) => void;\r\n protected runProcessHandler: (data: any) => void;\r\n protected extraInitialization: () => void;\r\n \r\n constructor(dialogName: string,\r\n closeHandler: (dialogResult: DialogResult, data: any) => void,\r\n parameters: any = null,\r\n extraInitialization: () => void = null,\r\n rootElementId: string = \"dialog\",\r\n runProcessHandler: (data: any) => void = null) {\r\n this.rootElementId = rootElementId;\r\n this.dialogName = dialogName;\r\n this.closeHandler = closeHandler;\r\n this.runProcessHandler = runProcessHandler;\r\n this.extraInitialization = extraInitialization;\r\n this.url = `/Dialog/${this.dialogName}/Index`;\r\n this.popupId = `#${this.dialogName}Popup`;\r\n this.parameters = parameters;\r\n\r\n this.initialize();\r\n }\r\n\r\n private initialize() {\r\n $(`#${this.rootElementId}`).load(this.url, (response, status) => {\r\n \r\n $(`#${this.rootElementId}`).html(response);\r\n \r\n this.popup = $(this.popupId).dxPopup(\"instance\");\r\n\r\n this.popup.show();\r\n\r\n var cancelButton = $(`#${this.dialogName}${this.cancelButtonId}`).dxButton(\"instance\");\r\n if (cancelButton) {\r\n cancelButton.on({click: this.cancel});\r\n }\r\n\r\n var okButton = $(`#${this.dialogName}${this.okButtonId}`).dxButton(\"instance\");\r\n if (okButton) {\r\n okButton.on({click: this.ok});\r\n }\r\n\r\n var runProcessButton = $(`#${this.dialogName}${this.runProcessButtonId}`).dxButton(\"instance\");\r\n if (runProcessButton) {\r\n runProcessButton.on({ click: this.runProcess });\r\n }\r\n\r\n if (this.extraInitialization) {\r\n this.extraInitialization();\r\n }\r\n }); \r\n }\r\n\r\n protected cancel = (e: any) => {\r\n this.close(DialogResult.Cancel, null);\r\n } \r\n\r\n protected ok = (e: any): void => { };\r\n\r\n protected runProcess = (e: any): void => { };\r\n\r\n public close(dialogResult: DialogResult, data: any) {\r\n this.popup.hide();\r\n this.closeHandler(dialogResult, data);\r\n this.clear(); \r\n }\r\n\r\n private clear() {\r\n $(`#${this.rootElementId}`).empty();\r\n } \r\n } \r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export class FormCrudOperations {\r\n\r\n form: DevExpress.ui.dxForm;\r\n area: string;\r\n getMoreData: (any) => void;\r\n\r\n constructor(area: string, getMoreData?: (any) => void) {\r\n const formId = `#${area}Form`;\r\n this.form = $(formId).dxForm(\"instance\");\r\n this.area = area;\r\n\r\n if (getMoreData) {\r\n this.getMoreData = getMoreData;\r\n }\r\n }\r\n\r\n insertRecord() {\r\n const newData: any = this.form.option(\"formData\");\r\n\r\n if (this.getMoreData) {\r\n this.getMoreData(newData);\r\n }\r\n\r\n const result: any = this.form.validate();\r\n\r\n if (result.isValid) {\r\n sendRequest(`/${this.area}/Create/Post`, JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n\r\n updateRecord(callback: () => void = null) {\r\n const newData: any = this.form.option(\"formData\");\r\n\r\n if (this.getMoreData) {\r\n this.getMoreData(newData);\r\n }\r\n\r\n const result: any = this.form.validate();\r\n const keyId: any = this.form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/${this.area}/Edit/Put/${keyId}`, JSON.stringify(newData), \"PUT\", callback);\r\n }\r\n }\r\n\r\n deleteRecord() {\r\n const verifyVoid = window.confirm(\"Are you sure you would like to VOID this record?\");\r\n\r\n if (verifyVoid) {\r\n const keyId: any = this.form.option(\"KeyId\");\r\n if (keyId != null) {\r\n sendRequest(`/${this.area}/Edit/Delete/${keyId}`, \"\", \"DELETE\");\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","namespace Areas {\r\n \"use strict\";\r\n\r\n export function lookupActiveTemplate(getItemText: (any) => string) {\r\n return (itemData: any, itemIndex: any, itemElement: any) => {\r\n\r\n const text = getItemText(itemData);\r\n\r\n if (itemData.isActive) {\r\n itemElement.append(\"
\" + text + \"
\");\r\n } else {\r\n itemElement.append(\"
\" + text + \"\" +\r\n \" - Disabled
\").closest(\".dx-list-item\").css(\"pointer-events\", \"none\");\r\n }\r\n }\r\n }\r\n}\r\n\r\n\r\n \r\n","namespace Areas {\r\n \"use strict\";\r\n\r\n declare var settings: any;\r\n const saveUrl = \"/Requests/Save\";\r\n const reportUrl = \"/Home/Index/\";\r\n const mergeExport = \"/DocumentExport/\";\r\n const merge = \"/Merge/Document/\";\r\n const mergeSection = \"/Merge/Section/\";\r\n\r\n //example of a button that fires reportFromForm OnClick\r\n //export function reportFromForm() {\r\n // var form = $('#ProjectInfoUpdateForm').dxForm('instance');\r\n\r\n // Areas.gotoReport(\r\n // \"ProjectInitiationReport\",\r\n // () => { return form.option(\"ProjectInfoId\"); },\r\n // () => { return form.option(\"UserId\") }\r\n // );\r\n //}\r\n \r\n export function gotoReport(reportName: string, getParameters: () => any, getUserId: () => any) {\r\n var parameters = getParameters();\r\n var userId = getUserId();\r\n\r\n if (isNotEmpty(parameters) && isNotEmpty(userId)) {\r\n\r\n var data = JSON.stringify(\r\n {\r\n \"ReportName\": reportName,\r\n \"Parameters\": parameters,\r\n \"UserId\": userId\r\n });\r\n\r\n requestReport(data);\r\n }\r\n }\r\n\r\n function requestReport(data: string) {\r\n const errorMessage = \"Error in request - Contact IS department\";\r\n\r\n const method = \"POST\";\r\n var content: string = \"application/x-www-form-urlencoded; charset=utf-8\";\r\n\r\n var saveReportUrl = settings.reportServer + saveUrl;\r\n\r\n $.ajax({\r\n url: saveReportUrl,\r\n method: method,\r\n contentType: content,\r\n crossDomain: true,\r\n data: data,\r\n success: (response) => {\r\n if (response.errormsg) {\r\n DevExpress.ui.notify(response.errormsg, \"error\", 2000);\r\n } else {\r\n let messageType: string = \"success\";\r\n\r\n DevExpress.ui.notify(response.msg, messageType, 2000);\r\n openReport(response.id);\r\n }\r\n },\r\n error: () => {\r\n DevExpress.ui.notify(errorMessage, \"error\", 2000);\r\n }\r\n });\r\n }\r\n\r\n function openReport(id: any) {\r\n const url = settings.reportServer + reportUrl + id;\r\n window.open(url);\r\n }\r\n\r\n}\r\n","namespace Areas {\r\n \"use strict\";\r\n\r\n export class Tab {\r\n id: number;\r\n url: string;\r\n\r\n constructor(id: number, url: string) {\r\n this.id = id;\r\n this.url = url;\r\n }\r\n }\r\n export function createTabsWithSameActionAndDifferentAreas(action: string, controllersWithArea: string[]): Array {\r\n return controllersWithArea.map((value, index) => new Tab(index, `/${value}/${action}`));\r\n }\r\n\r\n\r\n export function createTabsWithSameAction(area: string, action: string, controllers: string[]): Array {\r\n return controllers.map((value, index) => new Tab(index, `/${area}/${value}/${action}`));\r\n }\r\n\r\n export function createTabsWithSameController(area: string, actions: string[], controller: string): Array {\r\n return actions.map((value, index) => new Tab(index, `/${area}/${controller}/${value}`));\r\n }\r\n\r\n export function tabInitialized(tabItems: Tab[]) {\r\n return tabInitializedBase(tabItems, i => new Tab(i.id, i.url));\r\n } \r\n\r\n export function tabItemClick(params: any) {\r\n window.location.href = params.itemData.url;\r\n } \r\n\r\n export function tabWithIdInitialized(tabItems: Tab[]) {\r\n return tabInitializedBase(tabItems, (i, tabControl) => new Tab(i.id, `${i.url}/${tabControl.option(\"id\")}`));\r\n }\r\n\r\n export function tabWithIdItemClick(params: any) {\r\n const url = params.itemData.url + \"/\" + params.component.option(\"id\");\r\n window.location.href = url;\r\n } \r\n \r\n function tabInitializedBase(tabItems: Tab[], transform: (t: Tab, tabControl: DevExpress.ui.dxTabs) => Tab) {\r\n return (params: any) => {\r\n const tabControl: DevExpress.ui.dxTabs = params.component;\r\n const currentUrl = window.location.pathname;\r\n\r\n matchTabWithExactUrl(tabItems, transform, tabControl, currentUrl);\r\n selectParentTab(tabControl);\r\n }\r\n }\r\n\r\n function selectParentTab(tabControl: DevExpress.ui.dxTabs) {\r\n const parentTabId = tabControl.option(\"parentTabId\");\r\n const parentSelectedIndex:number = tabControl.option(\"parentSelectedIndex\") as number;\r\n\r\n if (isNotEmpty(parentTabId) && isNotEmpty(parentSelectedIndex)) {\r\n const parentTab: DevExpress.ui.dxTabs = $(`#${parentTabId}`).dxTabs(\"instance\");\r\n\r\n if (parentTab) {\r\n parentTab.option(\"selectedIndex\", parentSelectedIndex);\r\n }\r\n }\r\n }\r\n \r\n function matchTabWithExactUrl(tabItems: Tab[], transform: (t: Tab, tabControl: DevExpress.ui.dxTabs) => Tab,\r\n tabControl:DevExpress.ui.dxTabs, currentUrl: string) {\r\n\r\n if (currentUrl.indexOf(\"Account/Schedule\") > 0 ) {\r\n currentUrl = currentUrl.substring(0, currentUrl.lastIndexOf(\"/\"))\r\n }\r\n\r\n \r\n\r\n const selectedTab = tabItems\r\n .map(i => transform(i, tabControl))\r\n .filter((element) => currentUrl === element.url);\r\n\r\n if (selectedTab.length === 1) {\r\n tabControl.option(\"selectedIndex\", selectedTab[0].id);\r\n }\r\n } \r\n \r\n}\r\n","namespace Areas {\r\n \"use strict\";\r\n\r\n export class Selected {\r\n user: any;\r\n } \r\n //grid user lookup\r\n export function userValueChanged(selected: Selected) {\r\n return (rowData, value) => {\r\n if (value === undefined || value === null) {\r\n rowData.userId = null;\r\n rowData.userEmail = null;\r\n rowData.userName = null;\r\n return;\r\n }\r\n\r\n if (!selected.user.isActive) {\r\n DevExpress.ui.notify(\"The record cannot be updated. The user you selected has been disabled!\", \"error\", 3000);\r\n return;\r\n }\r\n\r\n rowData.userId = selected.user.userId;\r\n rowData.userEmail = selected.user.email;\r\n rowData.userName = selected.user.displayName;\r\n }\r\n }\r\n\r\n export function lookupEditTemplate(loadUrl: string, selected: Selected) {\r\n return (cellElement, cellInfo) => {\r\n var storeConfiguration = {\r\n \"loadParams\": {},\r\n \"key\": \"userId\",\r\n \"loadUrl\": loadUrl,\r\n \"insertUrl\": \"\",\r\n \"updateUrl\": \"\",\r\n \"deleteUrl\": \"\"\r\n };\r\n\r\n var store = DevExpress.data.AspNet.createStore(storeConfiguration);\r\n\r\n const dataSource = new DevExpress.data.DataSource({\r\n store: store\r\n });\r\n\r\n var div = document.createElement(\"div\");\r\n cellElement.get(0).appendChild(div);\r\n $(div).dxLookup({\r\n dataSource: dataSource,\r\n valueExpr: \"userId\",\r\n displayExpr: \"displayName\",\r\n value: cellInfo.data.userId,\r\n searchExpr: [\"displayName\", \"email\"],\r\n\r\n\r\n onSelectionChanged(e) {\r\n selected.user = e.selectedItem;\r\n },\r\n\r\n onValueChanged(e) {\r\n cellInfo.setValue(e.value);\r\n }\r\n });\r\n\r\n $(div).dxLookup(\"instance\").option(\"itemTemplate\", customTemplate);\r\n $(div).dxLookup(\"instance\").option(\"popupWidth\", 500);\r\n }\r\n }\r\n\r\n export function lookupCellTemplate(cellElement: any, cellInfo: any) {\r\n cellElement.text(cellInfo.data.displayName);\r\n }\r\n\r\n function customTemplate(itemData: any, itemIndex: any, itemElement: any) {\r\n if (itemData.isActive) {\r\n itemElement.append(`
${itemData.displayName}${itemData.email}
`);\r\n } else {\r\n itemElement.append(`
${itemData.displayName}${itemData.email} - Disabled
`);\r\n }\r\n }\r\n\r\n}\r\n","namespace Areas {\r\n \"use strict\";\r\n\r\n export interface IDictionary {\r\n [index: string]: string;\r\n }\r\n\r\n export function updateQueryStringParameter(uri: any, key: any, value: any) {\r\n const re = new RegExp(`([?&])${key}=.*?(&|$)`, \"i\");\r\n const separator = uri.indexOf(\"?\") !== -1 ? \"&\" : \"?\";\r\n if (uri.match(re)) {\r\n return uri.replace(re, `$1${key}=${value}$2`);\r\n } else {\r\n return uri + separator + key + \"=\" + value;\r\n }\r\n }\r\n\r\n export function removeQueryStringParameter(url: string, parameter: string) {\r\n //prefer to use l.search if you have a location/link object\r\n const urlparts = url.split(\"?\");\r\n if (urlparts.length >= 2) {\r\n\r\n const prefix = encodeURIComponent(parameter) + \"=\";\r\n const pars = urlparts[1].split(/[&;]/g);\r\n\r\n //reverse iteration as may be destructive\r\n for (let i = pars.length; i-- > 0;) {\r\n //idiom for string.startsWith\r\n if (pars[i].lastIndexOf(prefix, 0) !== -1) {\r\n pars.splice(i, 1);\r\n }\r\n }\r\n\r\n url = urlparts[0] + (pars.length > 0 ? `?${pars.join(\"&\")}` : \"\");\r\n return url;\r\n } else {\r\n return url;\r\n }\r\n }\r\n\r\n export function getQueryStringParameter(uri: any, key: any) {\r\n const re = new RegExp(\"([?&])start=(.*?)(&|$)\", \"i\");\r\n if (uri.match(re)) {\r\n return uri.match(re)[2];\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n export function isNotEmpty(variable: any) {\r\n return variable !== undefined && variable != null && variable !== \"\";\r\n }\r\n\r\n export function isEmpty(variable: any) {\r\n return !isNotEmpty(variable);\r\n }\r\n\r\n export function trimTextBoxValue(e: any) {\r\n var textBox = e.component as DevExpress.ui.dxTextBox;\r\n textBox.option(\"value\", $.trim(e.value));\r\n }\r\n\r\n export function partition(items, n) {\r\n var result = _.groupBy(items, function(item, i) {\r\n return Math.floor(i % n);\r\n });\r\n return _.values(result);\r\n }\r\n\r\n export function clone(object: any) {\r\n const json = JSON.stringify(object);\r\n return JSON.parse(json);\r\n } \r\n \r\n export function elementIdExists(elementId: string) : boolean {\r\n return Boolean($(`#${elementId}`).length);\r\n }\r\n\r\n\r\n\r\n export function goToEdit() {\r\n location.href = location.href.replace(\"/View\", \"/Edit\");\r\n } \r\n\r\n export function goToView() {\r\n location.href = location.href.replace(\"/Edit\", \"/View\");\r\n } \r\n\r\n export function reloadPage() {\r\n location.href = location.href;\r\n } \r\n\r\n export function onContentReadySelectFirstRow(e: any) {\r\n e.component.selectRowsByIndexes([0], false);\r\n }\r\n\r\n export function onContentReadyUnSelectRows(e: any) {\r\n let dataGrid = e.component;\r\n const grid: any = dataGrid.dxDataGrid(\"instance\");\r\n\r\n grid.unselectAll;\r\n grid.repaint;\r\n }\r\n\r\n export function onGridSelectionChanged(e: any) {\r\n const rowSelected = e.selectedRowsData.length === 1;\r\n\r\n if (rowSelected) {\r\n enableButton(\"EditButton\");\r\n } else {\r\n disableButton(\"EditButton\");\r\n }\r\n }\r\n\r\n export function clearSelectBoxSelection(e: any) {\r\n const selectBox = e.component as DevExpress.ui.dxSelectBox;\r\n selectBox.reset();\r\n } \r\n\r\n export function formatDateTime(date: Date): string {\r\n return formatDate(date) + \" \" + formatTime(date);\r\n }\r\n\r\n export function isIE11() {\r\n return !!navigator.userAgent.match(/Trident.*rv\\:11\\./);\r\n }\r\n\r\n export function formatDate(date: Date): string {\r\n const month = (\"0\" + (date.getMonth() + 1)).slice(-2);\r\n const year = date.getFullYear();\r\n\r\n const day = (\"0\" + date.getDate()).slice(-2);\r\n\r\n const formattedDate = `${month}/${day}/${year}`;\r\n return formattedDate;\r\n }\r\n\r\n function formatTime(date: Date): string {\r\n let hours = date.getHours();\r\n const ampm = hours >= 12 ? \"PM\" : \"AM\";\r\n hours = hours % 12;\r\n hours = hours ? hours : 12;\r\n const minutes = (\"0\" + date.getMinutes()).slice(-2);\r\n const formattedTime = hours + \":\" + minutes + \" \" + ampm;\r\n return formattedTime;\r\n } \r\n \r\n export function formatDateForUpload(date: Date) {\r\n\r\n if (date == null) return null;\r\n\r\n const year = date.getFullYear();\r\n const month = date.getMonth() + 1;\r\n const day = date.getDate();\r\n\r\n return year + \"-\" + month + \"-\" + day;\r\n } \r\n\r\n export function getNextSaturdayDate() {\r\n return getNextSaturdayFromDate(new Date());\r\n }\r\n\r\n export function getNextSaturdayFromDate(date: Date) {\r\n const momentDate = moment(date);\r\n\r\n if (momentDate.isoWeekday() === 7) {\r\n return momentDate.add(6, \"day\");\r\n }\r\n\r\n return momentDate.endOf(\"isoWeek\").subtract(1, \"day\");\r\n }\r\n\r\n export function getPreviousSundayDate() {\r\n return getPreviousSundayFromDate(new Date());\r\n }\r\n\r\n export function getPreviousSundayFromDate(date: Date) {\r\n const momentDate = moment(date);\r\n\r\n if (momentDate.isoWeekday() === 7) {\r\n return momentDate;\r\n }\r\n\r\n return momentDate.startOf(\"isoWeek\").subtract(1, \"day\");\r\n }\r\n\r\n export function getForm(formName: string) : DevExpress.ui.dxForm {\r\n return $(`#${formName}`).dxForm(\"instance\");\r\n }\r\n\r\n export function getOptionFromForm(formName: string, optionName: string) : any {\r\n return getForm(formName).option(optionName);\r\n }\r\n\r\n export function forceIsValid(e) {\r\n if (e.value === true || e.value === false) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n export function goBack() {\r\n window.history.back();\r\n }\r\n\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export function addToFavorite(e: any) {\r\n const dialog = new Areas.Dialogs.CreateFavoriteDialog(() => { }, { favoriteName: e.component.option(\"description\") });\r\n }\r\n\r\n\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n //export function gotoContract(id: string) {\r\n // gotoSelected(\"ContractGrid\", \"/Contract/GeneralInfo/View/\");\r\n //}\r\n\r\n //export function gotoProject(e: any, fieldName: string, objectName: string, isGrid: boolean, isOption: boolean) {\r\n // clearSelectBoxSelection(e);\r\n // let linkInfo = \"/Project/Profile/View/\" + id;\r\n\r\n // if (isGrid == true)\r\n // {\r\n // gotoSelectedOnGrid(objectName,)\r\n // }\r\n\r\n // gotoSelected(\"ContractGrid\", \"/Contract/GeneralInfo/View/\");\r\n //}\r\n\r\n //export function gotoCostCenter(id: string) {\r\n // gotoSelected(\"ContractGrid\", \"/Contract/GeneralInfo/View/\");\r\n //}\r\n\r\n export function goToSharePoint(e: any) {\r\n const sharePointLink = e.component.option(\"SharePointLink\");\r\n let linkInfo = \"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjects/\" + sharePointLink + \"/\";\r\n if (sharePointLink != \"\") {\r\n window.open(linkInfo);\r\n }\r\n else {\r\n window.open(\"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjectsList\");\r\n }\r\n }\r\n\r\n export function goToPIFPAF(e: any) {\r\n const id = e.component.option(\"ProjectId\");\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + id + \"\";\r\n window.open(linkInfo);\r\n }\r\n\r\n export function goToProject(e: any) {\r\n const id = e.component.option(\"AccountId\");\r\n let linkInfo = \"/Account/Profile/View/\" + id;\r\n window.open(linkInfo);\r\n }\r\n\r\n\r\n export function websiteSharePoint(sharePointLink: string) {\r\n let linkInfo = \"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjects/\" + sharePointLink + \"/Documents/7-%20Construction%20Management\";\r\n if (sharePointLink != \"\") {\r\n window.open(linkInfo);\r\n }\r\n else {\r\n window.open(\"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjectsList\");\r\n }\r\n }\r\n\r\n\r\n\r\n //export function gotoSelectedOnGrid(gridName: string, url: string, ) {\r\n // const dataGrid = $(`#${gridName}`).dxDataGrid(\"instance\");\r\n // const rows = dataGrid.getSelectedRowKeys();\r\n // if (dataId != null) {\r\n // location.href = url + dataId;\r\n // }\r\n // else {\r\n // DevExpress.ui.notify(\"You need to select a row first!\", \"warning\", 2000);\r\n // }\r\n //}\r\n\r\n export function gotoSelectedOnForm(formName: string, url: string) {\r\n const dataForm = $(`#${formName}`).dxForm(\"instance\");\r\n const dataId = dataForm.option()[0];\r\n if (dataId != null) {\r\n location.href = url + dataId;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"You need to select a row first!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n //export function gotoWebsite(url: string, id: string) {\r\n // var returnLink = \"https://sharepoint.capnet.ucla.edu/sites/ActiveProjects/default.aspx\";\r\n // if (isNotEmpty(sharePointLink)) {\r\n // returnLink = \"https://sharepoint.capnet.ucla.edu/sites/ActiveProjects/\" +\r\n // sharePointLink + \"/Documents/7-%20Construction%20Management\";\r\n // }\r\n // window.open(returnLink);\r\n //}\r\n\r\n\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n //contract Lookup\r\n export function contractLookupItem(itemData: any, itemIndex: any, itemElement: any) {\r\n itemElement.append(\r\n `
${itemData.contractNameTypeAmount}
`);\r\n }\r\n\r\n\r\n //contractorContact Lookup (from Account Team)\r\n export function contactLookupItem(itemData: any, itemIndex: any, itemElement: any) {\r\n itemElement.append(\r\n `
${itemData.displayNameCompanyNameRole}
`);\r\n } \r\n\r\n //account Lookup\r\n export function accountLookupItem(itemData: any, itemIndex: any, itemElement: any) {\r\n itemElement.append(`
${itemData.projectCCNumberName}
`);\r\n }\r\n\r\n //project Lookup\r\n export function projectLookupItem(itemData: any, itemIndex: any, itemElement: any) {\r\n itemElement.append(`
${itemData.projectNumberName}
`);\r\n }\r\n\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n const columnChooserButtonName = \"columnChooserButton\";\r\n\r\n export function addColumnChooser(e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n ignoreColumnOptionNames(grid);\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: columnChooserButtonName, \"class\": \"dx-datagrid-column-chooser-button\" },\r\n text: \"Columns\",\r\n hint: \"Choose columns to show/hide\",\r\n type: \"normal\",\r\n icon: \"column-chooser\",\r\n onClick: showColumnChooser(grid)\r\n }, \"after\");\r\n\r\n }\r\n\r\n export function customStateStore(e: any) {\r\n // The selected rows are removed from the state before storing it and\r\n // if the stored state has selected rows they are removed before \r\n // restoring grid state.\r\n\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n const stateStoring = grid.option(\"stateStoring\");\r\n const gridName = grid.option(\"gridName\");\r\n\r\n stateStoring.type = \"custom\";\r\n\r\n stateStoring.customLoad = () => {\r\n let state = JSON.parse(localStorage.getItem(stateStoring.storageKey));\r\n if (state != null) {\r\n state.selectedRowKeys = [];\r\n }\r\n return state;\r\n };\r\n\r\n stateStoring.customSave = (state) => {\r\n state.selectedRowKeys = [];\r\n localStorage.setItem(stateStoring.storageKey, JSON.stringify(state));\r\n };\r\n }\r\n\r\n function ignoreColumnOptionNames(grid: DevExpress.ui.dxDataGrid) {\r\n // This is necessary since we are not setting columnChoose: { enabled: True } \r\n // for the grid to show the column chooser button but we are taking over that\r\n // functionality, otherwise state storing will not work properly with the column visibility property.\r\n grid.option(\"stateStoring.ignoreColumnOptionNames\", []);\r\n }\r\n \r\n function showColumnChooser(grid: DevExpress.ui.dxDataGrid) {\r\n return (e: any) => {\r\n grid.showColumnChooser();\r\n }\r\n } \r\n\r\n}\r\n","namespace Areas {\r\n \"use strict\";\r\n\r\n const downloadZipButtonName = \"downloadZipButton\";\r\n\r\n export function addDownloadZip(e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n\r\n grid.on(\"selectionChanged\", toggleDownloadZipButton);\r\n\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: downloadZipButtonName },\r\n text: \"Download Zip\",\r\n type: \"normal\",\r\n icon: \"arrowdown\",\r\n disabled: true,\r\n onClick: downloadZip(grid)\r\n }, \"before\"); \r\n } \r\n \r\n export function toggleDownloadZipButton(e: any) {\r\n if (e.selectedRowKeys.length) {\r\n Areas.enableButton(downloadZipButtonName);\r\n } else {\r\n Areas.disableButton(downloadZipButtonName);\r\n }\r\n }\r\n\r\n function downloadZip(dataGrid: DevExpress.ui.dxDataGrid) {\r\n return (e: any) => {\r\n const selectedIds = getSelectedIds(dataGrid);\r\n let url = `/File/Get/AttachmentZip?ids=${selectedIds}`; \r\n \r\n location.href = url; \r\n }\r\n }\r\n \r\n function getSelectedIds(dataGrid: DevExpress.ui.dxDataGrid) : string {\r\n return dataGrid.getSelectedRowsData().map(d => d.attachmentId).join(',');\r\n } \r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export class EditBatchButtonConfiguration {\r\n private readonly toolbarOptions: any;\r\n\r\n constructor(toolbarOptions: any) {\r\n this.toolbarOptions = toolbarOptions;\r\n }\r\n\r\n configureBatchEditButtons() {\r\n const saveBtnItem = this.toolbarOptions.items.find(item => item.name === \"saveButton\");\r\n \r\n if (saveBtnItem) {\r\n saveBtnItem.showText = \"always\";\r\n saveBtnItem.options.icon = \"save\";\r\n saveBtnItem.options.type = \"success\";\r\n saveBtnItem.options.text = \"Save\";\r\n }\r\n \r\n const revertBtnItem = this.toolbarOptions.items.find(item => item.name === \"revertButton\");\r\n \r\n if (revertBtnItem) {\r\n revertBtnItem.showText = \"always\";\r\n revertBtnItem.options.icon = \"revert\";\r\n revertBtnItem.options.type = \"default\";\r\n revertBtnItem.options.elementAttr = { class: \"cancel\" };\r\n revertBtnItem.options.text = \"Cancel\"; \r\n }\r\n \r\n const addBtnItem = this.toolbarOptions.items.find(item => item.name === \"addRowButton\");\r\n \r\n if (addBtnItem) {\r\n addBtnItem.showText = \"always\";\r\n addBtnItem.options.icon = \"plus\";\r\n addBtnItem.options.type = \"default\";\r\n addBtnItem.options.elementAttr = { class: \"add\" };\r\n addBtnItem.options.text = \"Add\"; \r\n } \r\n }\r\n }\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export enum GridMode { Normal, Edit } \r\n\r\n export class EditButtonsBuilder {\r\n private readonly addButtonName = \"addButton_\"+ new DevExpress.data.Guid().toString();\r\n private readonly editButtonName = \"editButton_\"+ new DevExpress.data.Guid().toString();\r\n private readonly deleteButtonName = \"deleteButton_\"+ new DevExpress.data.Guid().toString(); \r\n private readonly saveButtonName = \"saveButton_\"+ new DevExpress.data.Guid().toString(); \r\n private readonly cancelButtonName = \"cancelButton_\"+ new DevExpress.data.Guid().toString(); \r\n\r\n private readonly grid: DevExpress.ui.dxDataGrid;\r\n private readonly toolbarOptions: any;\r\n private _gridMode: GridMode = GridMode.Normal;\r\n\r\n get gridMode(): GridMode {\r\n return this._gridMode;\r\n }\r\n\r\n set gridMode(newGridMode: GridMode) {\r\n this._gridMode = newGridMode;\r\n this.setButtonsVisibility();\r\n }\r\n\r\n constructor(grid: DevExpress.ui.dxDataGrid, toolbarOptions: any) {\r\n this.grid = grid;\r\n this.toolbarOptions = toolbarOptions;\r\n }\r\n\r\n addButtons(buttonOptions: Array) {\r\n \r\n let shouldAddSaveButton: boolean = false;\r\n let trackGridSelection: boolean = false;\r\n \r\n if (_.contains(buttonOptions, \"add\")) {\r\n this.addAddButton();\r\n shouldAddSaveButton = true;\r\n } \r\n \r\n if (_.contains(buttonOptions, \"edit\")) {\r\n this.addEditButton();\r\n shouldAddSaveButton = true;\r\n trackGridSelection = true;\r\n }\r\n \r\n if (_.contains(buttonOptions, \"delete\")) {\r\n this.addDeleteButton();\r\n shouldAddSaveButton = true;\r\n trackGridSelection = true;\r\n } \r\n \r\n if (shouldAddSaveButton) {\r\n this.addSaveButton();\r\n this.addCancelButton();\r\n }\r\n \r\n if (trackGridSelection) {\r\n this.addTrackGridSelection();\r\n }\r\n\r\n this.addSetMode();\r\n } \r\n\r\n private addTrackGridSelection() {\r\n this.grid.on(\"selectionChanged\", this.onSelectionChanged());\r\n }\r\n\r\n private addSetMode() {\r\n // adding a function to the grid so that if grid uses popup form mode\r\n // then we can change the grid's mode externally\r\n this.grid[\"setMode\"] = (mode) => this.gridMode = mode;\r\n }\r\n \r\n private onSelectionChanged () {\r\n return (e: any) => {\r\n const enableEditAndDelete = e.selectedRowKeys.length === 1;\r\n \r\n if (enableEditAndDelete) {\r\n Areas.enableButton(this.editButtonName);\r\n Areas.enableButton(this.deleteButtonName); \r\n } else {\r\n Areas.disableButton(this.editButtonName);\r\n Areas.disableButton(this.deleteButtonName); \r\n }\r\n }\r\n }\r\n\r\n private addSaveButton() {\r\n addButtonToToolbar(this.toolbarOptions, {\r\n elementAttr: { id: this.saveButtonName, class: \"green\" },\r\n text: \"Save\",\r\n hint: \"Save changes\",\r\n icon: \"save\",\r\n visible: false,\r\n onClick: this.saveRow()\r\n });\r\n } \r\n \r\n private addCancelButton() {\r\n addButtonToToolbar(this.toolbarOptions, {\r\n elementAttr: { id: this.cancelButtonName, class: \"lightgold\" },\r\n text: \"Cancel\",\r\n hint: \"Cancel changes\",\r\n icon: \"revert\",\r\n visible: false,\r\n onClick: this.cancelEdit()\r\n });\r\n } \r\n \r\n private addAddButton() {\r\n addButtonToToolbar(this.toolbarOptions, {\r\n elementAttr: { id: this.addButtonName, class: \"lightblue\" },\r\n text: \"Add\",\r\n hint: \"Add new record\",\r\n icon: \"plus\",\r\n onClick: this.addRow()\r\n }); \r\n } \r\n \r\n private addEditButton() {\r\n addButtonToToolbar(this.toolbarOptions, {\r\n elementAttr: { id: this.editButtonName, class: \"lightgreen\" },\r\n text: \"Edit\",\r\n hint: \"Edit selected record\",\r\n icon: \"edit\",\r\n disabled: true,\r\n onClick: this.editRow()\r\n }); \r\n } \r\n \r\n private addDeleteButton() {\r\n addButtonToToolbar(this.toolbarOptions, {\r\n elementAttr: { id: this.deleteButtonName, class: \"red\" },\r\n text: \"Delete\",\r\n hint: \"Delete selected record\",\r\n icon: \"remove\",\r\n disabled: true,\r\n onClick: this.deleteRow()\r\n }); \r\n } \r\n \r\n private editRow() {\r\n return (e: any) => {\r\n const rowKeys = this.grid.getSelectedRowKeys();\r\n \r\n if (rowKeys[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n return;\r\n }\r\n \r\n const rowIndex = this.grid.getRowIndexByKey(rowKeys[0]);\r\n \r\n if (rowIndex > -1) {\r\n this.grid.editRow(rowIndex);\r\n \r\n this.gridMode = GridMode.Edit;\r\n }\r\n \r\n }\r\n }\r\n \r\n private deleteRow() {\r\n return (e: any) => {\r\n const rowKeys = this.grid.getSelectedRowKeys();\r\n \r\n if (rowKeys[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n return;\r\n }\r\n \r\n const rowIndex = this.grid.getRowIndexByKey(rowKeys[0]);\r\n \r\n if (rowIndex > -1) {\r\n this.grid.deleteRow(rowIndex);\r\n }\r\n }\r\n } \r\n \r\n private saveRow() {\r\n return (e: any) => {\r\n this.grid.saveEditData()\r\n .done(() => {\r\n const unsavedData = this.grid.hasEditData();\r\n if (!unsavedData) {\r\n this.gridMode = GridMode.Normal;\r\n }\r\n });\r\n }\r\n } \r\n \r\n private addRow() {\r\n return (e: any) => {\r\n this.gridMode = GridMode.Edit;\r\n this.grid.addRow(); \r\n }\r\n } \r\n \r\n private cancelEdit() {\r\n return (e: any) => {\r\n this.gridMode = GridMode.Normal;\r\n this.grid.cancelEditData();\r\n }\r\n } \r\n \r\n private setButtonsVisibility() {\r\n if (this.gridMode === GridMode.Normal) {\r\n Areas.showButton(this.addButtonName);\r\n Areas.showButton(this.editButtonName);\r\n Areas.showButton(this.deleteButtonName);\r\n Areas.hideButton(this.saveButtonName);\r\n Areas.hideButton(this.cancelButtonName);\r\n } else {\r\n Areas.hideButton(this.addButtonName);\r\n Areas.hideButton(this.editButtonName);\r\n Areas.hideButton(this.deleteButtonName);\r\n Areas.showButton(this.saveButtonName);\r\n Areas.showButton(this.cancelButtonName); \r\n }\r\n }\r\n\r\n }\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n const exportButtonName = \"exportButton\";\r\n\r\n export function addExport(e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: exportButtonName, \"class\": \"dx-datagrid-export-button\" },\r\n text: \"Export\",\r\n hint: \"Export all rows to Excel\",\r\n type: \"normal\",\r\n icon: \"xlsxfile\",\r\n onClick: exportData(grid)\r\n }, \"after\");\r\n }\r\n\r\n export function exportToExcel(e: any) {\r\n exportData(e.component)(null);\r\n }\r\n\r\n export function exportPivotToExcel(e: any) {\r\n exportPivotData(e.component)(null);\r\n }\r\n\r\n function exportData(grid: DevExpress.ui.dxDataGrid) {\r\n return (e: any) => {\r\n const fileName: string = grid.option(\"gridName\") as string;\r\n\r\n var workbook = new ExcelJS.Workbook();\r\n var worksheet = workbook.addWorksheet('Main sheet');\r\n DevExpress.excelExporter.exportDataGrid({\r\n worksheet: worksheet,\r\n component: grid,\r\n customizeCell: function(options) {\r\n var {gridCell, excelCell} = options;\r\n\r\n if(gridCell.rowType === 'data') {\r\n if (gridCell.column.dataType === 'datetime') {\r\n excelCell.numFmt = 'mm/dd/yyyy h:mm AM/PM';\r\n } else if (gridCell.column.dataType === 'date') {\r\n excelCell.numFmt = 'mm/dd/yyyy';\r\n }\r\n }\r\n }\r\n }).then(function() {\r\n workbook.xlsx.writeBuffer().then(function(buffer) {\r\n saveAs(new Blob([buffer], { type: 'application/octet-stream' }), `${fileName}.xlsx`);\r\n });\r\n });\r\n }\r\n }\r\n\r\n export function exportPivotData(grid: DevExpress.ui.dxPivotGrid) {\r\n return (e: any) => {\r\n const fileName: string = grid.option(\"gridName\") as string;\r\n\r\n var workbook = new ExcelJS.Workbook();\r\n var worksheet = workbook.addWorksheet('Main sheet');\r\n DevExpress.excelExporter.exportPivotGrid({\r\n worksheet: worksheet,\r\n component: grid,\r\n }).then(function() {\r\n workbook.xlsx.writeBuffer().then(function(buffer) {\r\n saveAs(new Blob([buffer], { type: 'application/octet-stream' }), `${fileName}.xlsx`);\r\n });\r\n });\r\n }\r\n }\r\n\r\n declare module ExcelJS {\r\n\r\n export interface XlsxWriteOptions {\r\n }\r\n\r\n export interface Xlsx {\r\n writeBuffer(options?: Partial): Promise;\r\n }\r\n export interface Worksheet {\r\n }\r\n\r\n export interface AddWorksheetOptions {\r\n }\r\n export class Workbook {\r\n addWorksheet(name?: string, options?: Partial): Worksheet;\r\n readonly xlsx: Xlsx;\r\n }\r\n }\r\n\r\n}\r\n","namespace Areas {\r\n \"use strict\";\r\n\r\n export class FilterBuilder {\r\n filterValue: any;\r\n readonly filterButtonName = \"filterButton_\" + new DevExpress.data.Guid().toString();\r\n readonly clearFilterButtonName = \"clearFilterButton_\"+ new DevExpress.data.Guid().toString();\r\n\r\n readonly grid: DevExpress.ui.dxDataGrid;\r\n private readonly toolbarOptions: any;\r\n\r\n constructor(grid: DevExpress.ui.dxDataGrid, toolbarOptions: any) {\r\n this.grid = grid;\r\n this.toolbarOptions = toolbarOptions;\r\n }\r\n\r\n addButtons() {\r\n addButtonToToolbar(this.toolbarOptions, {\r\n elementAttr: { id: this.filterButtonName },\r\n text: \"Advanced Filter\",\r\n hint: \"Create an advanced filter\",\r\n type: \"normal\",\r\n icon: \"filter\",\r\n onClick: this.showFilterDialog()\r\n }, \"after\"); \r\n \r\n addButtonToToolbar(this.toolbarOptions, {\r\n elementAttr: { id: this.clearFilterButtonName },\r\n text: \"Clear Filter\",\r\n hint: \"Clear the filter\",\r\n type: \"normal\",\r\n disabled: true,\r\n onClick: this.clearFilter()\r\n }, \"after\"); \r\n }\r\n\r\n private showFilterDialog() {\r\n return (e: any) => {\r\n let fields = this.getFields();\r\n\r\n const parameters = {\r\n filterValue: this.filterValue,\r\n fields: fields\r\n };\r\n\r\n const dialog = new Areas.Dialogs.FilterBuilder.FilterBuilderDialog(this.filterBuilderClosed(this), parameters);\r\n }\r\n }\r\n\r\n private getFields(): any {\r\n let fields = [];\r\n\r\n for (let i = 0; i < this.grid.columnCount(); i++) {\r\n const columnOption = this.grid.columnOption(i);\r\n\r\n if (columnOption.dataField) {\r\n fields.push(this.buildField(columnOption));\r\n }\r\n }\r\n\r\n return fields;\r\n }\r\n\r\n private buildField(columnOption: any): any {\r\n if (columnOption.displayField) {\r\n return {\r\n dataField: columnOption.displayField,\r\n dataType: \"string\",\r\n caption: columnOption.caption,\r\n format: columnOption.format\r\n };\r\n }\r\n\r\n return {\r\n dataField: columnOption.dataField,\r\n dataType: columnOption.dataType,\r\n caption: columnOption.caption,\r\n format: columnOption.format\r\n };\r\n }\r\n\r\n private clearFilter() {\r\n return (e: any) => {\r\n this.grid.clearFilter();\r\n this.filterValue = null;\r\n e.component.option(\"disabled\", true);\r\n $(`#${this.filterButtonName}`).dxButton(\"instance\").option(\"type\", \"default\");\r\n };\r\n }\r\n\r\n private filterBuilderClosed (filterBuilder: FilterBuilder) {\r\n return (result: Areas.DialogResult, data: any) => {\r\n if (result === DialogResult.Cancel) return;\r\n\r\n filterBuilder.filterValue = data.filter;\r\n\r\n filterBuilder.grid.filter(data.filter);\r\n\r\n $(`#${filterBuilder.filterButtonName}`).dxButton(\"instance\")\r\n .option(\"type\", data.filter ? \"success\" : \"default\");\r\n\r\n $(`#${filterBuilder.clearFilterButtonName}`).dxButton(\"instance\")\r\n .option(\"disabled\", !data.filter);\r\n }\r\n }\r\n } \r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export function addFilterBuilder(e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n\r\n let filterBuilder = new FilterBuilder(grid, e.toolbarOptions);\r\n filterBuilder.addButtons();\r\n }\r\n\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export function addEditingButtons(e: any, buttonOptions: Array) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n\r\n const editButtonsBuilder = new EditButtonsBuilder(grid, e.toolbarOptions);\r\n editButtonsBuilder.addButtons(buttonOptions);\r\n } \r\n\r\n export function addEditBatchButton(e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n const editBatchButtonConfiguration = new EditBatchButtonConfiguration(e.toolbarOptions);\r\n editBatchButtonConfiguration.configureBatchEditButtons();\r\n }\r\n \r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export function buildCellContent(cellElement: any, getData: () => string, contentTemplate: string) {\r\n const data = getData();\r\n const re = /{placeholder}/gi;\r\n const content = contentTemplate.replace(re, data);\r\n cellElement.html(content);\r\n }\r\n\r\n export function gotoSelected(gridName: string, url: string, getAlternateId: (any) => string = null) {\r\n const dataGrid = $(`#${gridName}`).dxDataGrid(\"instance\");\r\n const dataId = dataGrid.getSelectedRowKeys()[0];\r\n\r\n if (dataId != null) {\r\n if (getAlternateId != null) {\r\n const row = dataGrid.getSelectedRowsData()[0];\r\n location.href = url + getAlternateId(row);\r\n }\r\n else {\r\n location.href = url + dataId;\r\n }\r\n }\r\n else {\r\n DevExpress.ui.notify(\"You need to select a row first!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function refreshGrid(id: string) {\r\n $(`#${id}`).dxDataGrid(\"instance\").refresh();\r\n }\r\n\r\n export function refreshGridAndGoToKey(id: string, key: number) {\r\n $(`#${id}`).dxDataGrid(\"instance\").refresh();\r\n $(`#${id}`).dxDataGrid(\"instance\").selectRows(key[0], true);\r\n \r\n }\r\n \r\n export function refreshData(dataGrid: DevExpress.ui.dxDataGrid) {\r\n dataGrid.refresh();\r\n dataGrid.deselectRows(dataGrid.getSelectedRowKeys());\r\n } \r\n \r\n export function getGrid(gridName: string) : DevExpress.ui.dxDataGrid {\r\n return $(`#${gridName}`).dxDataGrid(\"instance\");\r\n }\r\n\r\n export function setRowBackgroundForCurrentRecord(keyName: string) {\r\n return (e: any) => {\r\n if (e.rowType !== \"data\") {\r\n return;\r\n }\r\n\r\n const cellIsInRowOfCurrentRecord = e.data[keyName] === e.component.option(keyName);\r\n\r\n if (cellIsInRowOfCurrentRecord) {\r\n e.cellElement.css(\"background-color\", \"#FFA07A\");\r\n }\r\n }\r\n } \r\n \r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export function addResetLayout(e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n\r\n addButtonToToolbar(e.toolbarOptions, {\r\n text: \"Reset Layout\",\r\n hint: \"Reset grid layout\",\r\n type: \"normal\",\r\n icon: \"revert\",\r\n onClick: reset(grid)\r\n }, \"after\");\r\n }\r\n\r\n function reset(grid: DevExpress.ui.dxDataGrid) {\r\n return (e: any) => {\r\n grid.state({});\r\n }\r\n }\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export function addButtonsToToolbar(buttonOptions: Array, addOtherButtons: (e: any) => void = null) {\r\n return (e: any) => {\r\n if (_.contains(buttonOptions, \"export\")) {\r\n addExport(e);\r\n } \r\n\r\n if (_.contains(buttonOptions, \"columnChooser\")) {\r\n addColumnChooser(e); \r\n }\r\n\r\n if (_.contains(buttonOptions, \"resetLayout\")) {\r\n addResetLayout(e);\r\n }\r\n\r\n if (_.contains(buttonOptions, \"filterBuilder\")) {\r\n addFilterBuilder(e);\r\n }\r\n\r\n if (_.contains(buttonOptions, \"downloadZip\")) {\r\n addDownloadZip(e);\r\n } \r\n \r\n const editing = e.component.option(\"editing\");\r\n\r\n if (editing.mode === \"batch\") {\r\n addEditBatchButton(e);\r\n } else {\r\n addEditingButtons(e, buttonOptions);\r\n }\r\n\r\n if (addOtherButtons) {\r\n addOtherButtons(e);\r\n }\r\n\r\n customStateStore(e);\r\n }\r\n }\r\n\r\n export function addButtonToToolbar(toolbarOptions: any, options: any, location: string = \"center\") {\r\n toolbarOptions.items.push({\r\n location: location,\r\n locateInMenu: \"auto\", \r\n widget: \"dxButton\",\r\n options: options\r\n }); \r\n } \r\n\r\n}","namespace Areas.TreeList {\r\n \"use strict\";\r\n\r\n const columnChooserButtonName = \"columnChooserButton\";\r\n\r\n export function addColumnChooser(e: any) {\r\n const treeList: DevExpress.ui.dxTreeList = e.component;\r\n \r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: columnChooserButtonName, \"class\": \"dx-datagrid-column-chooser-button\" },\r\n text: \"Columns\",\r\n hint: \"Choose columns to show/hide\",\r\n type: \"normal\",\r\n icon: \"column-chooser\",\r\n onClick: showColumnChooser(treeList)\r\n }, \"after\");\r\n\r\n } \r\n \r\n function showColumnChooser(treeList: DevExpress.ui.dxTreeList) {\r\n return (e: any) => {\r\n treeList.showColumnChooser();\r\n }\r\n } \r\n \r\n}","namespace Areas.TreeList {\r\n \"use strict\";\r\n\r\n export function addResetLayout(e: any) {\r\n const treeList: DevExpress.ui.dxTreeList = e.component;\r\n\r\n addButtonToToolbar(e.toolbarOptions, {\r\n text: \"Reset Layout\",\r\n hint: \"Reset grid layout\",\r\n type: \"normal\",\r\n icon: \"revert\",\r\n onClick: reset(treeList)\r\n }, \"after\");\r\n }\r\n\r\n function reset(treeList: DevExpress.ui.dxTreeList) {\r\n return (e: any) => {\r\n treeList.state({});\r\n }\r\n }\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export function addButtonsToTreeListToolbar(buttonOptions: Array, addOtherButtons: (e: any) => void = null) {\r\n return (e: any) => {\r\n if (_.contains(buttonOptions, \"columnChooser\")) {\r\n TreeList.addColumnChooser(e); \r\n }\r\n\r\n if (isIE11()) {\r\n disableStateStoring(e);\r\n } \r\n \r\n if (_.contains(buttonOptions, \"resetLayout\")) {\r\n TreeList.addResetLayout(e);\r\n }\r\n \r\n }\r\n }\r\n\r\n function disableStateStoring(e: any) {\r\n const grid: DevExpress.ui.dxTreeList = e.component;\r\n grid.option('stateStoring.enabled', false);\r\n }\r\n}","namespace Areas.Account.StatusReport {\r\n \"use strict\";\r\n\r\n let accountStatusReportId: number = 0;\r\n let accountId: number = 0;\r\n let projectCCNumber: string;\r\n let projectCCNumberName: string;\r\n let accountName: string;\r\n const baseUrl = \"/Account/AccountStatusReport\";\r\n\r\n\r\n export function insertRecord() {\r\n const form = $(\"#StatusReportForm\").dxForm(\"instance\");\r\n\r\n accountId = form.option(\"AccountId\") as number;\r\n\r\n $.get(`${baseUrl}/AddAccountStatusReport/${accountId}`,\r\n (data) => {\r\n form.option(\"formData\", data);\r\n });\r\n\r\n }\r\n\r\n export function updateRecord() {\r\n const form = $(\"#StatusReportForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n\r\n if (newData.accountStatusReportId == 0) {\r\n saveRecord(newData);\r\n } else {\r\n updateReportRecord(newData)\r\n }\r\n }\r\n\r\n function saveRecord(newData: any) {\r\n\r\n const url = `${baseUrl}/Post`;\r\n const method = \"POST\";\r\n\r\n sendRequest(url,\r\n JSON.stringify(newData),\r\n method,\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n }\r\n\r\n function updateReportRecord(newData: any) {\r\n const url = `${baseUrl}/Put/${newData.accountStatusReportId}`;\r\n const method = \"PUT\";\r\n \r\n sendRequest(url,\r\n JSON.stringify(newData),\r\n method,\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n }\r\n\r\n export function deleteRecord() {\r\n const verifyVoid = window.confirm(\"Are you sure you would like to Delete this record?\");\r\n\r\n if (verifyVoid) {\r\n const form = $(\"#StatusReportForm\").dxForm(\"instance\");\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (keyId != null) {\r\n sendRequest(`/StatusReport/Edit/Delete/${keyId}/`, \"\", \"DELETE\");\r\n }\r\n }\r\n }\r\n\r\n //\r\n export function onGridSelectionChanged(e: any) {\r\n let rowData: any = e.selectedRowsData[0];\r\n let rowForm: any = $(\"#StatusReportForm\").dxForm(\"instance\");\r\n rowForm.option(\"formData\", rowData); \r\n }\r\n\r\n\r\n\r\n //goto functions\r\n export function goBack() {\r\n window.history.back();\r\n }\r\n\r\n\r\n\r\n export function gotoCreate(e) {\r\n var linkInfo = \"/StatusReport/Create/Index/\";\r\n location.href = linkInfo;\r\n }\r\n\r\n\r\n\r\n export function gotoEdit() {\r\n var dataGrid = $('#StatusReportGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Account/StatusReport/Edit/\" + dataId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"You need to select a row first!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoView() {\r\n var dataGrid = $('#StatusReportGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Account/StatusReport/View/\" + dataId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"You need to select a row first!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n\r\n}\r\n\r\n","namespace Areas.CIB {\r\n \"use strict\";\r\n\r\n let accountCIBId: number;\r\n let accountId: number;\r\n let projectId: number;\r\n let isAdmin: boolean = false;\r\n let projectCCNumber: string;\r\n const baseUrl = \"/Account/CIB\";\r\n let budgetTotals: number;\r\n let fundTotals: number;\r\n let sub8: number;\r\n let signDate: Date;\r\n let noteTotals: number;\r\n let cibStatus: string;\r\n\r\n\r\n\r\n export function onCIBGridContentReady(e: any) {\r\n if (!e.component.getSelectedRowKeys().length) {\r\n e.component.selectRowsByIndexes(0);\r\n }\r\n\r\n }\r\n\r\n export function onEditFormContentReady(e: any) {\r\n var editForm: any = $(\"#AccountCIBEditForm\").dxForm(\"instance\");\r\n var editFormData = editForm.option(\"formData\");\r\n\r\n budgetTotals = editFormData.GrandTotal;\r\n sub8 = editFormData.P8 + editFormData.P8i;\r\n accountCIBId = editFormData.AccountCIBId;\r\n\r\n\r\n }\r\n\r\n export function fundingGridOnContentReady(e: any) {\r\n fundTotals = e.component.getTotalSummaryValue(\"pwcAmountTotal\");\r\n if (fundTotals != budgetTotals) {\r\n $(\"#wmessage\").html(\"Funding Total is not equal to P0-P9 Totals\");\r\n } else $(\"#wmessage\").html(\"\");\r\n }\r\n\r\n export function noteGridOnContentReady(e: any) {\r\n noteTotals = e.component.getTotalSummaryValue(\"notesAmountTotal\");\r\n if (noteTotals != sub8) {\r\n $(\"#w2message\").html(\"Note Total is not equal to P8 Amount\");\r\n } else $(\"#w2message\").html(\"\");\r\n }\r\n\r\n\r\n export function onCIBGridSelectionChanged(e: any) {\r\n\r\n var rowData: any = e.selectedRowsData[0];\r\n\r\n var rowForm: any = $(\"#AccountCIBForm\").dxForm(\"instance\");\r\n rowForm.option(\"formData\", rowData);\r\n\r\n budgetTotals = rowData.pwcTotal;\r\n sub8 = rowData.p8 + rowData.p8i;\r\n signDate = rowData.approvedCIBDate;\r\n cibStatus = rowData.accountCIBStatusLk\r\n isAdmin = rowForm.option(\"IsAdmin\");\r\n\r\n const dataGrid = e.component as DevExpress.ui.dxDataGrid;\r\n accountCIBId = dataGrid.getSelectedRowKeys()[0];\r\n\r\n Areas.refreshGrid(\"AccountCIBNoteGrid\");\r\n Areas.refreshGrid(\"AccountCIBFundingGrid\")\r\n\r\n let dataId = dataGrid.getSelectedRowKeys()[0];\r\n Areas.Attachment.updateAttachmentControls(dataId, \"AccountCIB\");\r\n\r\n if (signDate != null) {\r\n if (!isAdmin) {\r\n disableGrids();\r\n }\r\n }\r\n\r\n if ((signDate != null) && (cibStatus == \"Draft\")) {\r\n $(\"#w3message\").html(\"Approved CIB may not have Draft status\");\r\n } else $(\"#w3message\").html(\"\");\r\n\r\n }\r\n\r\n\r\n\r\n export function getCIBId() {\r\n return accountCIBId;\r\n }\r\n\r\n export function addCIB() {\r\n const form = $(\"#AccountCIBForm\").dxForm(\"instance\");\r\n accountId = form.option(\"AccountId\") as number;\r\n projectCCNumber = form.option(\"ProjectCCNumber\") as string;\r\n accountCIBId = 0;\r\n\r\n $.get(`${baseUrl}/AddCIB/${accountId}/${projectCCNumber}`,\r\n (data) => {\r\n form.option(\"formData\", data);\r\n disableGrids();\r\n\r\n });\r\n\r\n Areas.reloadPage();\r\n\r\n }\r\n\r\n export function editLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.accountCIBId; },\r\n \"Edit\");\r\n }\r\n\r\n export function goToViewCIB() {\r\n\r\n const form = $(\"#AccountCIBEditForm\").dxForm(\"instance\");\r\n accountId = form.option(\"AccountId\") as number;\r\n const newData: any = form.option(\"formData\");\r\n\r\n\r\n //Check for changes\r\n //if (newData != null) {\r\n // updateRecord(newData)\r\n //}\r\n\r\n let url = \"/Account/CIB/View/\" + accountId;\r\n location.href = url;\r\n //window.open(url);\r\n }\r\n\r\n export function goToEditCIB() {\r\n const cibGrid = $(\"#AccountCIBGrid\").dxDataGrid(\"instance\");\r\n const selectedRows: any = cibGrid.getSelectedRowsData();\r\n if (selectedRows[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n accountCIBId = selectedRows[0].accountCIBId;\r\n budgetTotals = selectedRows[0].pwcTotal;\r\n let url = \"/Account/CIB/Edit/\" + accountCIBId;\r\n location.href = url;\r\n //window.open(url);\r\n }\r\n\r\n }\r\n\r\n function disableGrids() {\r\n const fundGrid = $(\"#AccountCIBFundingGrid\").dxDataGrid(\"instance\");\r\n const noteGrid = $(\"#AccountCIBNoteGrid\").dxDataGrid(\"instance\");\r\n //const budgetGrid = $(\"#AccountCIBBudgetGrid\").dxDataGrid(\"instance\");\r\n\r\n fundGrid.option(\"disabled\", true);\r\n noteGrid.option(\"disabled\", true);\r\n //budgetGrid.option(\"disabled\", true);\r\n }\r\n\r\n function enableGrids() {\r\n const fundGrid = $(\"#AccountCIBFundingGrid\").dxDataGrid(\"instance\");\r\n const noteGrid = $(\"#AccountCIBNoteGrid\").dxDataGrid(\"instance\");\r\n //const budgetGrid = $(\"#AccountCIBBudgetGrid\").dxDataGrid(\"instance\");\r\n\r\n fundGrid.option(\"disabled\", false);\r\n noteGrid.option(\"disabled\", false);\r\n //budgetGrid.option(\"disabled\", false);\r\n\r\n\r\n }\r\n\r\n export function updateCIB() {\r\n const form = $(\"#AccountCIBEditForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n\r\n\r\n if (signDate != null) {\r\n if (isAdmin) {\r\n const verifyMod = window.confirm(\"Are you sure you would like to modify CIB Data that has been Signed?\");\r\n\r\n if (!verifyMod) {\r\n return;\r\n }\r\n }\r\n else {\r\n window.alert(\"You are NOT allowed to modify CIB Data that has been SIGNED!\");\r\n\r\n return;\r\n }\r\n }\r\n\r\n\r\n if (newData.accountCIBId == 0) {\r\n saveRecord(newData);\r\n } else {\r\n updateRecord(newData)\r\n }\r\n }\r\n\r\n\r\n export function deleteCIB() {\r\n const cibGrid = $(\"#AccountCIBGrid\").dxDataGrid(\"instance\");\r\n const selectedRows: any = cibGrid.getSelectedRowsData();\r\n if (selectedRows[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n\r\n if (selectedRows[0].approvedCIBDate != null) {\r\n if (isAdmin) {\r\n const verifyMod = window.confirm(\"Are you sure you would like to delete CIB Data that has been Signed?\");\r\n\r\n if (!verifyMod) {\r\n return;\r\n }\r\n }\r\n else {\r\n window.alert(\"You are NOT allowed to modify CIB Data that has been SIGNED!\");\r\n\r\n return;\r\n }\r\n }\r\n\r\n const verifyMod = window.confirm(\"Are you sure you would like to delete this CIB ?\");\r\n\r\n if (!verifyMod) {\r\n return;\r\n }\r\n\r\n selectedRows[0].isActive = false;\r\n\r\n if (selectedRows[0].accountCIBId != 0) {\r\n accountCIBId = selectedRows[0].accountCIBId;\r\n const url = `${baseUrl}/CIBPut/${accountCIBId}`;\r\n const method = \"PUT\";\r\n\r\n sendRequest(url,\r\n JSON.stringify(selectedRows[0]),\r\n method,\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n }\r\n }\r\n }\r\n\r\n function saveRecord(newData: any) {\r\n const url = `${baseUrl}/CIBPost`;\r\n const method = \"POST\";\r\n\r\n sendRequest(url,\r\n JSON.stringify(newData),\r\n method,\r\n (data) => {\r\n Areas.reloadPage();\r\n enableGrids();\r\n }\r\n );\r\n }\r\n\r\n function updateRecord(newData: any) {\r\n\r\n let accountCIBId = newData.AccountCIBId; ///AccountCIBId or accountCIBId\r\n\r\n const url = `${baseUrl}/CIBPut/${accountCIBId}`;\r\n const method = \"PUT\";\r\n\r\n sendRequest(url,\r\n JSON.stringify(newData),\r\n method,\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n }\r\n\r\n export function onInitNewRowCIBDetail(e: any) {\r\n e.data.accountCIBId = accountCIBId;\r\n var a = 1;\r\n }\r\n\r\n export function copyCIB() {\r\n const form = $(\"#AccountCIBForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n accountId = form.option(\"AccountId\") as number;\r\n accountCIBId = formData.accountCIBId;\r\n\r\n\r\n if (accountCIBId > 0) {\r\n\r\n const url = `/Account/CIB/CopyAccountCIB/${accountId}/${accountCIBId}`;\r\n sendRequest(url, \"\", \"POST\");\r\n }\r\n\r\n }\r\n\r\n export function selectPreparedBy() {\r\n const contactDialog = new Areas.Dialogs.ContactDialog(dialogClosing(\"Preparer\"));\r\n }\r\n\r\n export function selectApprovedBy() {\r\n const contactDialog = new Areas.Dialogs.ContactDialog(dialogClosing(\"Campus\"));\r\n }\r\n\r\n export function selectApprovedByAVP() {\r\n const contactDialog = new Areas.Dialogs.ContactDialog(dialogClosing(\"AVP\"));\r\n }\r\n\r\n\r\n function dialogClosing(buttonId: string) {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#AccountCIBEditForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n if (buttonId === \"Preparer\") {\r\n\r\n formData.PreparedByContactId = data.contactId;\r\n formData.PreparedByName = data.displayName;\r\n\r\n } else if (buttonId === \"Campus\") {\r\n\r\n formData.ApprovedByCampusContactId = data.contactId;\r\n formData.ApprovedByName = data.displayName;\r\n\r\n } else if (buttonId === \"AVP\") {\r\n\r\n formData.ApprovedByAVPContactId = data.contactId;\r\n formData.ApprovedByAVPName = data.displayName;\r\n\r\n }\r\n\r\n form.option(\"formData\", formData);\r\n\r\n }\r\n }\r\n\r\n // select account\r\n\r\n function dialogProjectClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#AccountCIBEditForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.AccountId = data.accountId;\r\n formData.AccountName = data.accountName;\r\n formData.ProjectCCNumber = data.projectCCNumber;\r\n\r\n form.option(\"formData\", formData);\r\n }\r\n\r\n\r\n export function selectAccount() {\r\n const form: any = $(\"#AccountCIBeditForm\").dxForm(\"instance\");\r\n projectId = form.option(\"ProjectId\");\r\n\r\n const parameters = { projectId: projectId };\r\n\r\n const projectLookupDialog =\r\n new Areas.Dialogs.Project.ProjectLookupDialog(dialogProjectClosing, parameters);\r\n }\r\n\r\n //select CAAN (building)\r\n\r\n function dialogCaanClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#AccountCIBEditForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.CaanLk = data.caanLk;\r\n formData.BuildingName = data.buildingName;\r\n\r\n form.option(\"formData\", formData);\r\n }\r\n\r\n\r\n export function selectBuilding() {\r\n\r\n const caanLookupDialog =\r\n new Areas.Dialogs.CaanDialog(dialogCaanClosing);\r\n }\r\n\r\n export function runCIB() {\r\n const form = $(\"#AccountCIBForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n accountCIBId = formData.accountCIBId;\r\n\r\n if (accountCIBId > 0) {\r\n const url = `/Account/CIB/GetCIB/${accountCIBId}`;\r\n window.open(url);\r\n }\r\n }\r\n\r\n export function runCIBDetail() {\r\n const form = $(\"#AccountCIBForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n accountCIBId = formData.accountCIBId;\r\n\r\n if (accountCIBId > 0) {\r\n const url = `/Account/CIB/GetCIBDetail/${accountCIBId}`;\r\n window.open(url);\r\n }\r\n }\r\n\r\n export function runCIBAnalytical() {\r\n const form = $(\"#AccountCIBForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n accountCIBId = formData.accountCIBId;\r\n\r\n if (accountCIBId > 0) {\r\n const url = `/Account/CIB/GetCIBAnalytical/${accountCIBId}`;\r\n window.open(url);\r\n }\r\n }\r\n\r\n export function runCIBBudget() {\r\n const form = $(\"#AccountCIBForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n accountCIBId = formData.accountCIBId;\r\n if (accountCIBId > 0) {\r\n const url = `/Account/CIB/GetCIBBudget/${accountCIBId}`;\r\n window.open(url);\r\n }\r\n }\r\n\r\n export function runCIBAnalyticalDetail() {\r\n const form = $(\"#AccountCIBForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n accountCIBId = formData.accountCIBId;\r\n\r\n if (accountCIBId > 0) {\r\n const url = `/Account/CIB/GetCIBAnalyticalDetail/${accountCIBId}`;\r\n window.open(url);\r\n }\r\n }\r\n\r\n export function runCIBBudgetDetail() {\r\n const form = $(\"#AccountCIBForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n accountCIBId = formData.accountCIBId;\r\n if (accountCIBId > 0) {\r\n const url = `/Account/CIB/GetCIBBudgetDetail/${accountCIBId}`;\r\n window.open(url);\r\n }\r\n }\r\n\r\n export function clearBuildingProperties(e: any) {\r\n const form: any = $(\"#AccountCIBEditForm\").dxForm(\"instance\");\r\n const formData = form.option(\"formData\");\r\n\r\n formData.CaanLk = null;\r\n formData.BuildingName = null;\r\n form.option(\"formData\", formData);\r\n }\r\n\r\n export function clearPreparedByProperties(e: any) {\r\n const form: any = $(\"#AccountCIBEditForm\").dxForm(\"instance\");\r\n const formData = form.option(\"formData\");\r\n\r\n formData.PreparedByContactId = null;\r\n formData.PreparedByName = null;\r\n form.option(\"formData\", formData);\r\n }\r\n\r\n export function clearApprovedByProperties(e: any) {\r\n const form: any = $(\"#AccountCIBEditForm\").dxForm(\"instance\");\r\n const formData = form.option(\"formData\");\r\n\r\n formData.ApprovedByCampusContactId = null;\r\n formData.ApprovedByName = null;\r\n form.option(\"formData\", formData);\r\n }\r\n\r\n export function clearAVPByProperties(e: any) {\r\n const form: any = $(\"#AccountCIBEditForm\").dxForm(\"instance\");\r\n const formData = form.option(\"formData\");\r\n\r\n formData.ApprovedByAVPContactId = null;\r\n formData.ApprovedByAVPName = null;\r\n form.option(\"formData\", formData);\r\n\r\n }\r\n\r\n export function editAccountCIBCost() {\r\n const form = $(\"#AccountCIBEditForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n accountCIBId = formData.AccountCIBId;\r\n\r\n if (accountCIBId > 0) {\r\n const parameters = { accountCIBId: accountCIBId };\r\n const accountCIBCostDialog = new Areas.Dialogs.EditAccountCIBCost.EditAccountCIBCostDialog(dialogEditAccountCIBCostClosing, parameters);\r\n }\r\n }\r\n\r\n function dialogEditAccountCIBCostClosing(dialogResult: DialogResult) {\r\n\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n Areas.reloadPage();\r\n }\r\n}\r\n","namespace Areas.ConstructionManagement {\r\n \"use strict\";\r\n\r\n\r\n export function viewLink(cellElement: any, cellInfo: any) {\r\n\r\n let linkInfo: string;\r\n\r\n if (cellInfo.data.sourceTable === \"Transmittal\") {\r\n linkInfo = \"View\";\r\n } else if (cellInfo.data.sourceTable === \"PunchList\") {\r\n linkInfo = \"View\";\r\n } else if (cellInfo.data.sourceTable === \"Submittal\") {\r\n linkInfo = \"View\";\r\n } else if (cellInfo.data.sourceTable === \"Meeting Minutes\") {\r\n linkInfo = \"View\";\r\n } else if (cellInfo.data.sourceTable === \"Warranty\") {\r\n linkInfo = \"View\";\r\n } else if (cellInfo.data.sourceTable === \"Change Management\") {\r\n linkInfo = \"View\";\r\n } else if (cellInfo.data.sourceTable === \"Contractor Pay\") {\r\n linkInfo = \"View\";\r\n }\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.profileId; },\r\n linkInfo);\r\n }\r\n\r\n\r\n export function createNewItem(e: any) {\r\n const newItemDialog = new Areas.Dialogs.CreateConstructionManagementItemDialog(() => { }, { accountId: e.component.option(\"accountId\") });\r\n }\r\n\r\n}","namespace Areas.Account.ContractsSummary{\r\n \"use strict\";\r\n\r\n export function goToActions(sharePointLink: string, projectInfoId: number) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 3) {\r\n goToContract(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 4) {\r\n goToQuestionnaire(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 5) {\r\n goToPrimaryContractor(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n } \r\n\r\n function goToSharePoint(sharePointLink) {\r\n let linkInfo = \"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjects/\" + sharePointLink + \"/\";\r\n if (sharePointLink != \"\") {\r\n window.open(linkInfo);\r\n }\r\n else {\r\n window.open(\"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjectsList\");\r\n }\r\n }\r\n\r\n function goToPIFPAF(projectInfoId) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n if (projectInfoId != 0) {\r\n window.open(linkInfo);\r\n }\r\n\r\n }\r\n\r\n\r\n //TODO: Ask from where comes the property PrimaryContractorId\r\n\r\n function goToPrimaryContractor(e: any) {\r\n const grid = $(\"#ContractsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].vendorId;\r\n let linkInfo = \"https://contract.capnet.ucla.edu/Vendor/Profile/View/\" + id;\r\n window.open(linkInfo);\r\n }\r\n }\r\n\r\n function goToQuestionnaire(e: any) {\r\n const grid = $(\"#ContractsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].questionnaireId;\r\n let linkInfo = \"https://contract.capnet.ucla.edu/Contract/GeneralInfo/View/\" + id;\r\n window.open(linkInfo);\r\n }\r\n }\r\n\r\n function goToContract(e: any) {\r\n const grid = $(\"#ContractsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].contractId;\r\n let linkInfo = \"https://contract.capnet.ucla.edu/Contract/GeneralInfo/View/\" + id;\r\n window.open(linkInfo);\r\n }\r\n }\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.contractId; },\r\n linkInfo);\r\n }\r\n\r\n\r\n \r\n\r\n}","namespace Areas.Account.Funding{\r\n \"use strict\";\r\n let fundTransferId: number;\r\n let fundTransferDetailId: number;\r\n let runQuery: boolean = false;\r\n\r\n export function getFundTransferId() {\r\n return fundTransferId;\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n\r\n export function onFundingGridSelectionChanged(e: any) {\r\n\r\n let rowData: any = e.selectedRowsData[0];\r\n\r\n let rowForm: any = $(\"#FundingForm\").dxForm(\"instance\");\r\n rowForm.option(\"formData\", rowData);\r\n\r\n\r\n let selectedRows = e.component.getSelectedRowsData();\r\n\r\n if (selectedRows.length === 1) {\r\n runQuery = true;\r\n fundTransferId = selectedRows[0].fundTransferId;\r\n Areas.refreshGrid(\"FundingDetailGrid\");\r\n }\r\n }\r\n\r\n export function onFundingContentReady(e: any) {\r\n if (!e.component.getSelectedRowKeys().length)\r\n e.component.selectRowsByIndexes(0);\r\n\r\n }\r\n\r\n export function updateFundingProfile() {\r\n const form = $(\"#FundingForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n\r\n const url = `/Account/FinanceFunding/Put/${fundTransferId}`;\r\n const method = \"PUT\";\r\n\r\n sendRequest(url,\r\n JSON.stringify(newData),\r\n method,\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n }\r\n\r\n}","namespace Areas.Account.RechargeJob{\r\n \"use strict\";\r\n\r\n let workOrderId: number;\r\n let accountId: number;\r\n let projectCCNumber: string;\r\n let projectId: number;\r\n\r\n const baseUrl = \"/Account/FinanceRechargeJob\";\r\n\r\n\r\n export function onGridSelectionChanged(e: any) {\r\n var rowData: any = e.selectedRowsData[0];\r\n\r\n var rowForm: any = $(\"#RechargeJobForm\").dxForm(\"instance\");\r\n rowForm.option(\"formData\", rowData);\r\n\r\n let selectedRows = e.component.getSelectedRowsData();\r\n workOrderId = selectedRows[0].accountWorkOrderId;\r\n }\r\n\r\n export function onRechargeJobContentReady(e: any) {\r\n if (!e.component.getSelectedRowKeys().length)\r\n e.component.selectRowsByIndexes(0);\r\n }\r\n\r\n export function addRechargeJob() {\r\n const form = $(\"#RechargeJobForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n accountId = formData.accountId;\r\n projectCCNumber = formData.projectCCNumber;\r\n workOrderId = 0;\r\n\r\n $.get(`${baseUrl}/AddRechargeJob/${accountId}/${projectCCNumber}`,\r\n (data) => {\r\n form.option(\"formData\", data);\r\n });\r\n\r\n }\r\n\r\n export function copyRechargeJob() {\r\n const form = $(\"#RechargeJobForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n let accountWorkOrderId = formData.accountWorkOrderId;\r\n\r\n \r\n $.get(`${baseUrl}/CopyRechargeJob/${accountWorkOrderId}`,\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n\r\n }\r\n\r\n export function updateRechargeJob() {\r\n const form = $(\"#RechargeJobForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n\r\n if (newData.accountWorkOrderId == 0) {\r\n saveRecord(newData);\r\n } else {\r\n updateRecord(newData)\r\n }\r\n }\r\n\r\n function saveRecord(newData: any) {\r\n const url = `${baseUrl}/RechargeJobPost`;\r\n const method = \"POST\";\r\n\r\n sendRequest(url,\r\n JSON.stringify(newData),\r\n method,\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n }\r\n\r\n function updateRecord(newData: any) {\r\n const url = `${baseUrl}/RechargeJobPut/${workOrderId}`;\r\n const method = \"PUT\";\r\n\r\n sendRequest(url,\r\n JSON.stringify(newData),\r\n method,\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n }\r\n\r\n\r\n // select account\r\n\r\n function dialogProjectClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#RechargeJobForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n\r\n formData.accountId = data.accountId;\r\n formData.accountName = data.accountName;\r\n formData.projectCCNumber = data.projectCCNumber;\r\n\r\n form.option(\"formData\", formData);\r\n }\r\n\r\n\r\n export function selectAccount() {\r\n const form: any = $(\"#RechargeJobForm\").dxForm(\"instance\");\r\n projectId = form.option(\"ProjectId\");\r\n\r\n const parameters = { projectId: projectId };\r\n\r\n const projectLookupDialog =\r\n new Areas.Dialogs.Project.ProjectLookupDialog(dialogProjectClosing, parameters);\r\n }\r\n\r\n}","namespace Areas.Account.ValidFund{\r\n \"use strict\";\r\n\r\n let currentValidFund: any;\r\n let selectedAccount: any;\r\n let selectedFund: any;\r\n\r\n\r\n export function onSelectionChanged(e: any) {\r\n var selectedRows = e.component.getSelectedRowsData();\r\n\r\n if (selectedRows.length === 1) {\r\n selectedAccount = selectedRows[0].projectCCNumber;\r\n selectedFund = selectedRows[0].fundingSourceCode;\r\n }\r\n }\r\n\r\n export function onValidFundContentReady(e: any) {\r\n if (!e.component.getSelectedRowKeys().length)\r\n e.component.selectRowsByIndexes(0);\r\n }\r\n\r\n export function onNewValidFundRow(e: any) {\r\n currentValidFund = e.data;\r\n currentValidFund.accountId = e.component.option(\"AccountId\");\r\n currentValidFund.projectCCNumber = e.component.option(\"ProjectCCNumber\");\r\n currentValidFund.accountName = e.component.option(\"AccountName\");\r\n currentValidFund.projectId = e.component.option(\"ProjectId\");\r\n selectedAccount = e.component.option(\"ProjectCCNumber\");\r\n }\r\n\r\n export function onEditingStart(e: any) {\r\n currentValidFund = e.data;\r\n selectedAccount = e.data.projectCCNumber;\r\n selectedFund = e.data.fundingSourceCode;\r\n }\r\n\r\n export function updateValidFund() {\r\n const grid = $(\"#ValidFundGrid\").dxForm(\"instance\");\r\n const newData: any = grid.option(\"gridData\");\r\n const result: any = grid.validate();\r\n const keyId: any = grid.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/Account/FinanceValidFund/Put/${keyId}`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n export function selectAccount() {\r\n const grid: any = $(\"#ValidFundGrid\").dxDataGrid(\"instance\");\r\n const parameters = { projectId: grid.option(\"ProjectId\") };\r\n\r\n const projectLookupDialog =\r\n new Areas.Dialogs.Project.ProjectLookupDialog(dialogAccountClosing, parameters);\r\n }\r\n\r\n function dialogAccountClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const dataGrid = $(\"#ValidFundGrid\").dxDataGrid(\"instance\");\r\n\r\n var rowIndex = getItemRowIndex(dataGrid);\r\n updateAccountGridRow(dataGrid, rowIndex, data);\r\n }\r\n\r\n function getItemRowIndex(dataGrid: DevExpress.ui.dxDataGrid): number {\r\n let rowIndex = 0;\r\n\r\n if (currentValidFund === undefined || currentValidFund === null) {\r\n return rowIndex;\r\n } else if (currentValidFund.accountValidFundId) {\r\n rowIndex = dataGrid.getRowIndexByKey(currentValidFund.accountValidFundId);\r\n }\r\n\r\n return rowIndex;\r\n }\r\n\r\n function updateAccountGridRow(dataGrid: DevExpress.ui.dxDataGrid, rowIndex: number, data: any) {\r\n\r\n dataGrid.cellValue(rowIndex, \"accountId\", data.accountId);\r\n dataGrid.cellValue(rowIndex, \"projectCCNumber\", data.projectCCNumber);\r\n dataGrid.cellValue(rowIndex, \"accountName\", data.accountName);\r\n\r\n currentValidFund.accountId = data.accountId;\r\n currentValidFund.projectCCNumber = data.projectCCNumber;\r\n currentValidFund.accountName = data.accountName;\r\n\r\n selectedAccount = data.projectCCNumber;\r\n\r\n dataGrid.repaintRows([rowIndex]);\r\n }\r\n\r\n export function onRowInserted(e: any) {\r\n selectedAccount = e.component.option(\"ProjectCCNumber\");\r\n currentValidFund = null;\r\n }\r\n\r\n export function editAccountTemplate(cellElement, cellInfo) {\r\n let projectCCNumber = !selectedAccount ? \"Select...\" : selectedAccount;\r\n let htmlString = `
${projectCCNumber}
`;\r\n let html = $.parseHTML(htmlString);\r\n\r\n cellElement.on(\"click\", selectAccount);\r\n cellElement.append(html);\r\n }\r\n\r\n\r\n //select Funding Source\r\n export function selectFundingSource() {\r\n const fundingSourceDialog = new Areas.Dialogs.FundingSourceDialog(dialogClosing);\r\n }\r\n\r\n function dialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const dataGrid = $(\"#ValidFundGrid\").dxDataGrid(\"instance\");\r\n\r\n var rowIndex = getItemRowIndex(dataGrid);\r\n updateGridRow(dataGrid, rowIndex, data);\r\n }\r\n\r\n function updateGridRow(dataGrid: DevExpress.ui.dxDataGrid, rowIndex: number, data: any) {\r\n\r\n dataGrid.cellValue(rowIndex, \"fundingSourceId\", data.fundingSourceId);\r\n dataGrid.cellValue(rowIndex, \"fundingSourceCode\", data.fundingSourceCode);\r\n dataGrid.cellValue(rowIndex, \"fundingSourceName\", data.fundingSourceName);\r\n dataGrid.cellValue(rowIndex, \"fundingSourceDescription\", data.fundingSourceDescription)\r\n dataGrid.cellValue(rowIndex, \"fundMaturityDate\", data.fundMaturityDate);\r\n\r\n currentValidFund.fundingSourceId = data.fundingSourceId;\r\n currentValidFund.fundingSourceCode = data.fundingSourceCode;\r\n currentValidFund.fundingSourceName = data.fundingSourceName;\r\n currentValidFund.fundingSourceDescription = data.fundingSourceDescription;\r\n currentValidFund.fundMaturityDate = data.fundMaturityDate;\r\n\r\n dataGrid.repaintRows([rowIndex]);\r\n }\r\n\r\n export function editFundingSourceTemplate(cellElement, cellInfo) {\r\n let fundingSourceCode = !cellInfo.data.fundingSourceCode ? \"Select...\" : cellInfo.data.fundingSourceCode;\r\n let htmlString = `
${fundingSourceCode}
`;\r\n let html = $.parseHTML(htmlString);\r\n\r\n cellElement.on(\"click\", selectFundingSource);\r\n cellElement.append(html);\r\n }\r\n}","namespace Areas.Account.GLDetail {\r\n \"use strict\";\r\n\r\n export function goToActions(sharePointLink: string, projectInfoId: number) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n }\r\n }\r\n }\r\n\r\n export function goToSharePoint(sharePointLink) {\r\n let linkInfo = \"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjects/\" + sharePointLink + \"/\";\r\n if (sharePointLink != \"\") {\r\n window.open(linkInfo);\r\n }\r\n else {\r\n window.open(\"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjectsList\");\r\n }\r\n }\r\n\r\n export function goToPIFPAF(projectInfoId) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n if (projectInfoId != 0) {\r\n window.open(linkInfo);\r\n }\r\n\r\n }\r\n}","namespace Areas.Account.GLSummary{\r\n \"use strict\";\r\n\r\n export function goToActions(sharePointLink: string, projectInfoId: number) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n }\r\n }\r\n }\r\n\r\n export function goToSharePoint(sharePointLink) {\r\n let linkInfo = \"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjects/\" + sharePointLink + \"/\";\r\n if (sharePointLink != \"\") {\r\n window.open(linkInfo);\r\n }\r\n else {\r\n window.open(\"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjectsList\");\r\n }\r\n }\r\n\r\n export function goToPIFPAF(projectInfoId) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n if (projectInfoId != 0) {\r\n window.open(linkInfo);\r\n }\r\n\r\n }\r\n\r\n}","namespace Areas.Account.InspectionsSummary{\r\n \"use strict\";\r\n\r\n export function status(cellElement, cellInfo) {\r\n\r\n cellElement.html(cellInfo.data.statusLk);\r\n\r\n if (cellInfo.data.statusLk == 'Accepted') {\r\n $(cellElement).css('background-color', 'lightgreen');\r\n } else if (cellInfo.data.statusLk == 'Pending') {\r\n $(cellElement).css('background-color', 'gold');\r\n } else if (cellInfo.data.statusLk == 'ReInspected') {\r\n $(cellElement).css('background-color', 'pink');\r\n } else if (cellInfo.data.statusLk == 'Rejected') {\r\n $(cellElement).css('background-color', 'red');\r\n }\r\n\r\n }\r\n\r\n export function viewLink(cellElement, cellInfo) {\r\n var fieldData = cellInfo.data.inspectionId;\r\n var statusData = cellInfo.data.statusLk;\r\n var projectId = cellInfo.component.option(\"InspectionProjectId\");\r\n var linkInfo = \"\";\r\n\r\n if (statusData == \"Rejected\") {\r\n linkInfo = \"View

\" +\r\n \"ReInspection
\"\r\n $(cellElement).css('background-color', 'orange')\r\n }\r\n else if (statusData == \"Draft\") {\r\n linkInfo = \"Edit\"\r\n }\r\n else {\r\n linkInfo = \"View\"\r\n }\r\n cellElement.html(linkInfo);\r\n }\r\n\r\n export function createReinspection(inspectionId: number, projectId: number) {\r\n sendRequest(`https://inspection.capnet.ucla.edu/Inspections/Create/ReInspection/${inspectionId}/${projectId}/`, \"\", \"PUT\");\r\n }\r\n\r\n export function goToActions(sharePointLink: string, projectInfoId: number) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n export function goToInspection(e: any) {\r\n const grid = $(\"#InspectionGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].inspectionId;\r\n let linkInfo = \"https://inspection.capnet.ucla.edu/Inspections/View/Index/\" + id;\r\n location.href = linkInfo;\r\n }\r\n }\r\n\r\n export function goToSharePoint(sharePointLink) {\r\n let linkInfo = \"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjects/\" + sharePointLink + \"/\";\r\n if (sharePointLink != \"\") {\r\n window.open(linkInfo);\r\n }\r\n else {\r\n window.open(\"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjectsList\");\r\n }\r\n }\r\n\r\n export function goToPIFPAF(projectInfoId) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n if (projectInfoId != 0) {\r\n window.open(linkInfo);\r\n }\r\n\r\n }\r\n\r\n}","namespace Areas.Account.List {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"Account\", [\"Active\", \"Closed\"], \"List\");\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n export function onGridSelectionChanged(e: any) {\r\n const rowSelected = e.selectedRowsData.length === 1;\r\n\r\n if (rowSelected) {\r\n enableButton(\"EditButton\");\r\n } else {\r\n disableButton(\"EditButton\");\r\n }\r\n }\r\n\r\n\r\n export function viewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.accountId; },\r\n \"View\");\r\n }\r\n\r\n export function view() {\r\n gotoSelected(\"AccountsGrid\", \"/Account/Profile/View/\");\r\n }\r\n\r\n export function edit() {\r\n gotoSelected(\"AccountsGrid\", \"/Account/Profile/Edit/\");\r\n }\r\n\r\n export function showCreate() {\r\n const createProjectDialog = new Areas.Dialogs.CreateProjectDialog(() => { });\r\n }\r\n\r\n export function insertRecord(e: any) {\r\n const form = $(\"#AccountForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n const newData: any = form.option(\"formData\");\r\n\r\n sendRequest(\"/Account/List/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n\r\n}","namespace Areas.Account.Milestones{\r\n \"use strict\";\r\n \r\n let currentMilestoneRow: any;\r\n let selectedAccount: any;\r\n\r\n export function onNewMilestoneRow(e: any) {\r\n currentMilestoneRow = e.data;\r\n currentMilestoneRow.accountId = e.component.option(\"AccountId\");\r\n currentMilestoneRow.projectCCNumber = e.component.option(\"ProjectCCNumber\");\r\n currentMilestoneRow.accountName = e.component.option(\"AccountName\");\r\n currentMilestoneRow.projectId = e.component.option(\"ProjectId\");\r\n selectedAccount = e.component.option(\"ProjectCCNumber\");\r\n }\r\n\r\n export function onSelectionChanged(e: any) {\r\n var selectedRows = e.component.getSelectedRowsData();\r\n\r\n if (selectedRows.length === 1) {\r\n selectedAccount = selectedRows[0].projectCCNumber;\r\n }\r\n }\r\n\r\n export function onEditingStart(e: any) {\r\n currentMilestoneRow = e.data;\r\n selectedAccount = e.data.projectCCNumber;\r\n }\r\n\r\n export function selectAccount() {\r\n const grid: any = $(\"#MilestoneGrid\").dxDataGrid(\"instance\");\r\n const parameters = { projectId: grid.option(\"ProjectId\") };\r\n\r\n const projectLookupDialog =\r\n new Areas.Dialogs.Project.ProjectLookupDialog(dialogAccountClosing, parameters);\r\n }\r\n\r\n function dialogAccountClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const dataGrid = $(\"#MilestoneGrid\").dxDataGrid(\"instance\");\r\n\r\n var rowIndex = getItemRowIndex(dataGrid);\r\n updateAccountGridRow(dataGrid, rowIndex, data);\r\n }\r\n\r\n function getItemRowIndex(dataGrid: DevExpress.ui.dxDataGrid): number {\r\n let rowIndex = 0;\r\n\r\n if (currentMilestoneRow === undefined || currentMilestoneRow === null) {\r\n return rowIndex;\r\n } else if (currentMilestoneRow.accountMilestoneId) {\r\n rowIndex = dataGrid.getRowIndexByKey(currentMilestoneRow.accountMilestoneId);\r\n }\r\n\r\n return rowIndex;\r\n }\r\n\r\n function updateAccountGridRow(dataGrid: DevExpress.ui.dxDataGrid, rowIndex: number, data: any) {\r\n\r\n dataGrid.cellValue(rowIndex, \"accountId\", data.accountId);\r\n dataGrid.cellValue(rowIndex, \"projectCCNumber\", data.projectCCNumber);\r\n dataGrid.cellValue(rowIndex, \"accountName\", data.accountName);\r\n\r\n currentMilestoneRow.accountId = data.accountId;\r\n currentMilestoneRow.projectCCNumber = data.projectCCNumber;\r\n currentMilestoneRow.accountName = data.accountName;\r\n\r\n selectedAccount = data.projectCCNumber;\r\n\r\n dataGrid.repaintRows([rowIndex]);\r\n }\r\n\r\n export function onRowInserted(e: any) {\r\n selectedAccount = e.component.option(\"ProjectCCNumber\");\r\n currentMilestoneRow = null;\r\n }\r\n\r\n export function editAccountTemplate(cellElement, cellInfo) {\r\n let projectCCNumber = !selectedAccount ? \"Select...\" : selectedAccount;\r\n let htmlString = `
${projectCCNumber}
`;\r\n let html = $.parseHTML(htmlString);\r\n\r\n cellElement.on(\"click\", selectAccount);\r\n cellElement.append(html);\r\n }\r\n\r\n}","namespace Areas.Account.PWC {\r\n \"use strict\";\r\n\r\n let projectId: number;\r\n let glDataId: number;\r\n let pwcglId: number;\r\n let accountId: number;\r\n let glDataAmount: number;\r\n let phaseLk: string;\r\n\r\n\r\n export function getProjectId() {\r\n return projectId;\r\n }\r\n\r\n export function onGridSelectionChanged(e: any) {\r\n var rowData: any = e.selectedRowsData[0];\r\n projectId = e.component.option(\"ProjectId\");\r\n\r\n var rowForm: any = $(\"#PWCForm\").dxForm(\"instance\");\r\n rowForm.option(\"formData\", rowData);\r\n\r\n let selectedRows = e.component.getSelectedRowsData();\r\n\r\n if (selectedRows.length === 1) {\r\n projectId = selectedRows[0].projectId;\r\n accountId = selectedRows[0].accountId;\r\n glDataId = selectedRows[0].glDataId;\r\n pwcglId = selectedRows[0].pwcglId;\r\n\r\n Areas.refreshGrid(\"PWCGLDataGrid\");\r\n }\r\n }\r\n\r\n export function onGridPWCGLSelectionChanged(e: any) {\r\n var rowData: any = e.selectedRowsData[0];\r\n pwcglId = e.component.option(\"PWCGLId\");\r\n accountId = e.component.option(\"AccountId\");\r\n\r\n var rowGrid: any = $(\"#PWCGLDataGrid\").dxDataGrid(\"instance\");\r\n rowGrid.option(\"gridData\", rowData);\r\n\r\n let selectedRows = e.component.getSelectedRowsData();\r\n\r\n if (selectedRows.length === 1) {\r\n pwcglId = selectedRows[0].pwcglId;\r\n accountId = selectedRows[0].accountId;\r\n glDataId = selectedRows[0].glDataId;\r\n phaseLk = selectedRows[0].phaseLk;\r\n glDataAmount = selectedRows[0].glDataAmount;\r\n }\r\n }\r\n\r\n}\r\n","namespace Areas.Account.Profile{\r\n \"use strict\";\r\n\r\n const baseUrl = \"/Account/Profile\";\r\n let webId: number;\r\n let accountId: number;\r\n let projectId: number;\r\n let accountWebId: number;\r\n\r\n\r\n\r\n export function getWEBId() {\r\n return webId;\r\n }\r\n\r\n export function viewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.accountId; },\r\n \"View\");\r\n }\r\n\r\n export function onCellPrepared(e: any) {\r\n if (e.rowType !== \"data\") {\r\n return;\r\n }\r\n setRowBackground(e);\r\n }\r\n\r\n function setRowBackground(e: any) {\r\n accountId = e.component.option(\"accountId\") as number;\r\n\r\n if (e.data.accountId === accountId) {\r\n e.cellElement.css(\"background-color\", \"#FFA07A\");\r\n\r\n const rowData: any = e.data;\r\n\r\n const rowForm: any = $(\"#WebForm\").dxForm(\"instance\");\r\n rowForm.option(\"formData\", rowData);\r\n\r\n const rowProjectForm: any = $(\"#ProjectForm\").dxForm(\"instance\");\r\n rowProjectForm.option(\"formData\", rowData);\r\n\r\n webId = rowData.accountWebId;\r\n\r\n }\r\n }\r\n\r\n export function onGridContentReady(e: any) {\r\n const form = $(\"#WebForm\").dxForm(\"instance\");\r\n accountId = e.component.option(\"accountId\");\r\n projectId = e.component.option(\"projectId\")\r\n\r\n $.get(`${baseUrl}/GetAccountWeb/${accountId}`,\r\n (data) => {\r\n form.option(\"formData\", data)\r\n });\r\n\r\n const formProject = $(\"#ProjectForm\").dxForm(\"instance\");\r\n\r\n $.get(`${baseUrl}/GetProjectInfo/${accountId}`,\r\n (data) => {\r\n if (data.projectId > 0) {\r\n enableButton(\"SaveProjectInfoButton\");\r\n formProject.option(\"disabled\", false);\r\n } else {\r\n disableButton(\"SaveProjectInfoButton\");\r\n formProject.option(\"disabled\", true);\r\n }\r\n formProject.option(\"formData\", data)\r\n });\r\n }\r\n\r\n \r\n export function copyWebsiteProfile() {\r\n const form = $(\"#WebForm\").dxForm(\"instance\");\r\n accountId = form.option(\"KeyId\") as number;\r\n projectId = form.option(\"ProjectId\") as number;\r\n webId = 0;\r\n\r\n $.get(`${baseUrl}/CopyWebsiteProfile/${accountId}`,\r\n (data) => { form.option(\"formData\", data) });\r\n }\r\n \r\n export function updateWebsiteProfile() {\r\n const form = $(\"#WebForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n\r\n newData.accountId = form.option(\"KeyId\");\r\n newData.projectId = form.option(\"ProjectId\");\r\n\r\n if (newData.accountWebId == 0) {\r\n saveRecord(newData);\r\n } else {\r\n updateRecord(newData)\r\n }\r\n }\r\n\r\n function saveRecord(newData: any) {\r\n const url = `${baseUrl}/WebsiteProfilePost/${accountId}/${projectId}`;\r\n const method = \"POST\";\r\n\r\n sendRequest(url,\r\n JSON.stringify(newData),\r\n method);\r\n }\r\n\r\n function updateRecord(newData: any) {\r\n accountWebId = newData.accountWebId;\r\n const url = `${baseUrl}/WebsiteProfilePut/${accountWebId}`;\r\n const method = \"PUT\";\r\n\r\n sendRequest(url,\r\n JSON.stringify(newData),\r\n method);\r\n }\r\n\r\n export function createAccount() {\r\n const parameters = { ProjectId: projectId };\r\n const createAccountDialog = new Areas.Dialogs.CreateAccountDialog(() => { }, parameters);\r\n \r\n }\r\n\r\n export function updateProjectProfile() {\r\n const form = $(\"#ProjectForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n newData.accountId = form.option(\"KeyId\");\r\n newData.projectId = form.option(\"ProjectId\");\r\n\r\n updateProjectProfileRecord(newData)\r\n }\r\n\r\n function updateProjectProfileRecord(newData: any) {\r\n projectId = newData.projectId;\r\n accountId = newData.accountId;\r\n const url = `${baseUrl}/ProjectProfilePut/${projectId}/${accountId}`;\r\n const method = \"PUT\";\r\n\r\n sendRequest(url,\r\n JSON.stringify(newData),\r\n method);\r\n }\r\n\r\n\r\n export function managerLookupItem(itemData: any, itemIndex: any, itemElement: any) {\r\n itemElement.append(\r\n `
${itemData.displayName}${itemData.primaryEMail}
`\r\n\r\n );\r\n }\r\n\r\n export function initiationContactLookupItem(itemData: any, itemIndex: any, itemElement: any) {\r\n itemElement.append(\r\n `
${itemData.displayName}${itemData.primaryEMail}
`\r\n );\r\n }\r\n\r\n\r\n export function accountImageUploadDialog() {\r\n const data = { accountId: accountId };\r\n\r\n const accountProfileImageDialog =\r\n new Areas.Dialogs.AccountProfileImageDialog(dialogClosing, data);\r\n }\r\n\r\n function dialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n location.href = location.href;\r\n } \r\n\r\n}\r\n","namespace Areas.Account.RechargeSummary {\r\n \"use strict\";\r\n\r\n export function goToActions(sharePointLink: string, projectInfoId: number) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n export function goToSharePoint(sharePointLink) {\r\n let linkInfo = \"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjects/\" + sharePointLink + \"/\";\r\n if (sharePointLink != \"\") {\r\n window.open(linkInfo);\r\n }\r\n else {\r\n window.open(\"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjectsList\");\r\n }\r\n }\r\n\r\n export function goToPIFPAF(projectInfoId) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n if (projectInfoId != 0) {\r\n window.open(linkInfo);\r\n }\r\n\r\n }\r\n}","namespace Areas.Account.Report {\r\n \"use strict\";\r\n\r\n\r\n //505\r\n export function GetCP505Dialog(a) {\r\n const projectId = a.component.option(\"ProjectId\");\r\n const accountId = a.component.option(\"AccountId\")\r\n const parameters = { accountId: accountId, projectId: projectId };\r\n\r\n const Report505Dialog =\r\n new Areas.Dialogs.Report505Dialog(report505DialogClosing(), report505DialogRunProcess(), parameters);\r\n }\r\n\r\n function report505DialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return; \r\n }\r\n }\r\n\r\n function report505DialogRunProcess() {\r\n return (data: any) => {\r\n \r\n let projectId = data.projectId;\r\n\r\n let startDate = data.startDate;\r\n if (startDate != null) {\r\n startDate = moment(data.startDate).format('YYYY-MM-DD');\r\n }\r\n\r\n let endDate = data.endDate;\r\n if (endDate != null) {\r\n endDate = moment(data.endDate).format('YYYY-MM-DD');\r\n }\r\n\r\n let grouping = data.grouping;\r\n let ccIds = data.ccIds;\r\n let fundSourceIds = data.fundSourceIds;\r\n let subLks = data.subLks;\r\n let reportLevel = data.reportLevel;\r\n\r\n if (projectId != null) {\r\n const url = `/Account/Report/Get505/${projectId}/${startDate}/${endDate}/${grouping}/${ccIds}/${fundSourceIds}/${subLks}/${reportLevel}`;\r\n window.open(url);\r\n }\r\n }\r\n }\r\n\r\n //123\r\n export function GetCP123Dialog(a) {\r\n const projectId = a.component.option(\"ProjectId\");\r\n const accountId = a.component.option(\"AccountId\")\r\n const parameters = { accountId: accountId, projectId: projectId };\r\n\r\n const Report123Dialog =\r\n new Areas.Dialogs.Report123Dialog(report123DialogClosing(), report123DialogRunProcess(), parameters);\r\n }\r\n\r\n function report123DialogRunProcess() {\r\n return (data: any) => {\r\n \r\n let projectId = data.projectId;\r\n\r\n let startDate = data.startDate;\r\n if (startDate != null) {\r\n startDate = moment(data.startDate).format('YYYY-MM-DD');\r\n }\r\n\r\n let endDate = data.endDate;\r\n if (endDate != null) {\r\n endDate = moment(data.endDate).format('YYYY-MM-DD');\r\n }\r\n\r\n let reportLevel = data.reportLevel;\r\n let showCost = data.showCost;\r\n let employeeId = data.employeeId;\r\n let ccIds = data.ccIds;\r\n let workOrderIds = data.workOrderIds;\r\n\r\n if (projectId != null) {\r\n const url = `/Account/Report/Get123/${projectId}/${startDate}/${endDate}/${ccIds}/${workOrderIds}/${employeeId}/${reportLevel}/${showCost}`;\r\n window.open(url);\r\n }\r\n }\r\n }\r\n\r\n function report123DialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n }\r\n }\r\n\r\n\r\n //309\r\n export function GetCP309Dialog(a) {\r\n const projectId = a.component.option(\"ProjectId\");\r\n const accountId = a.component.option(\"AccountId\")\r\n const parameters = { accountId: accountId, projectId: projectId };\r\n\r\n const Report309Dialog =\r\n new Areas.Dialogs.Report309Dialog(report309DialogClosing(), report309DialogRunProcess(), parameters);\r\n }\r\n\r\n function report309DialogRunProcess() {\r\n return (data: any) => {\r\n \r\n let projectId = data.projectId;\r\n let startDate = data.startDate;\r\n if (startDate != null) {\r\n startDate = moment(data.startDate).format('YYYY-MM-DD');\r\n }\r\n\r\n let endDate = data.endDate;\r\n if (endDate != null) {\r\n endDate = moment(data.endDate).format('YYYY-MM-DD');\r\n }\r\n let employeeId = data.employeeId;\r\n let ccIds = data.ccIds;\r\n let workOrderIds = data.workOrderIds;\r\n\r\n if (projectId != null) {\r\n const url = `/Account/Report/Get309/${projectId}/${startDate}/${endDate}/${ccIds}/${workOrderIds}/${employeeId}`;\r\n window.open(url);\r\n }\r\n }\r\n }\r\n\r\n function report309DialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n }\r\n }\r\n\r\n //309a\r\n export function GetCP309aDialog(a) {\r\n const projectId = a.component.option(\"ProjectId\");\r\n const accountId = a.component.option(\"AccountId\")\r\n const parameters = { accountId: accountId, projectId: projectId };\r\n\r\n const Report309aDialog =\r\n new Areas.Dialogs.Report309aDialog(report309aDialogClosing(), report309aDialogRunProcess(), parameters);\r\n }\r\n\r\n function report309aDialogRunProcess() {\r\n return (data: any) => {\r\n \r\n let projectId = data.projectId;\r\n let startDate = data.startDate;\r\n if (startDate != null) {\r\n startDate = moment(data.startDate).format('YYYY-MM-DD');\r\n }\r\n\r\n let endDate = data.endDate;\r\n if (endDate != null) {\r\n endDate = moment(data.endDate).format('YYYY-MM-DD');\r\n }\r\n let employeeId = data.employeeId;\r\n let ccIds = data.ccIds;\r\n let workOrderIds = data.workOrderIds;\r\n\r\n if (projectId != null) {\r\n const url = `/Account/Report/Get309a/${projectId}/${startDate}/${endDate}/${ccIds}/${workOrderIds}/${employeeId}`;\r\n window.open(url);\r\n }\r\n }\r\n }\r\n\r\n function report309aDialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n }\r\n }\r\n\r\n //401\r\n export function GetCP401Dialog(a) {\r\n const projectId = a.component.option(\"ProjectId\");\r\n const accountId = a.component.option(\"AccountId\")\r\n const parameters = { accountId: accountId, projectId: projectId };\r\n\r\n const Report505Dialog =\r\n new Areas.Dialogs.Report401Dialog(report401DialogClosing(), report401DialogRunProcess(), parameters);\r\n }\r\n\r\n function report401DialogRunProcess() {\r\n return (data: any) => {\r\n \r\n let projectId = data.projectId;\r\n let startDate = data.startDate;\r\n if (startDate != null) {\r\n startDate = moment(data.startDate).format('YYYY-MM-DD');\r\n }\r\n\r\n let endDate = data.endDate;\r\n if (endDate != null) {\r\n endDate = moment(data.endDate).format('YYYY-MM-DD');\r\n }\r\n let employeeId = data.employeeId;\r\n let ccIds = data.ccIds;\r\n let workOrderIds = data.workOrderIds;\r\n\r\n if (projectId != null) {\r\n const url = `/Account/Report/Get401/${projectId}/${startDate}/${endDate}/${ccIds}/${workOrderIds}/${employeeId}`;\r\n window.open(url);\r\n }\r\n\r\n }\r\n }\r\n\r\n function report401DialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n }\r\n }\r\n\r\n //581\r\n export function GetCP581Dialog(a) {\r\n const projectId = a.component.option(\"ProjectId\");\r\n const accountId = a.component.option(\"AccountId\")\r\n const parameters = { accountId: accountId, projectId: projectId };\r\n\r\n const Report505Dialog =\r\n new Areas.Dialogs.Report581Dialog(report581DialogClosing(), report581DialogRunProcess(), parameters);\r\n }\r\n\r\n function report581DialogRunProcess() {\r\n return (data: any) => {\r\n \r\n let projectId = data.projectId;\r\n\r\n let ccIds = data.ccIds;\r\n let fundSourceIds = data.fundSourceIds;\r\n let showCost = data.showCost;\r\n\r\n\r\n if (projectId != null) {\r\n const url = `/Account/Report/Get581/${projectId}/${ccIds}/${fundSourceIds}/${showCost}`;\r\n window.open(url);\r\n }\r\n }\r\n }\r\n\r\n function report581DialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n }\r\n }\r\n}\r\n\r\n","namespace Areas.Account.Schedule {\r\n \"use strict\";\r\n\r\n let accountScheduleId: number;\r\n let accountId: number;\r\n const baseUrl = \"/Account/Schedule\";\r\n\r\n export function onCellPrepared(e: any) {\r\n if (e.rowType !== \"data\") {\r\n return;\r\n }\r\n setRowBackground(e);\r\n }\r\n\r\n export function onAccountScheduleGridReady(e: any) {\r\n accountId = e.component.option(\"AccountId\") as number;\r\n }\r\n\r\n function setRowBackground(e: any) {\r\n accountScheduleId = e.component.option(\"AccountScheduleId\") as number;\r\n\r\n if (e.data.accountScheduleId === accountScheduleId) {\r\n e.cellElement.css(\"background-color\", \"#FFA07A\");\r\n\r\n const rowData: any = e.data;\r\n const rowForm: any = Areas.getForm(\"AccountScheduleForm\");\r\n rowForm.option(\"formData\", rowData);\r\n Areas.enableButton(\"SaveAccountSchedule\");\r\n Areas.getGrid(\"AccountScheduleDetailGrid\").option(\"disabled\", false);\r\n }\r\n }\r\n\r\n export function viewLink(cellElement: any, cellInfo: any) {\r\n const action = location.href.toLowerCase().indexOf(\"edit\") > 0 ? \"Edit\": \"View\";\r\n const ids = cellInfo.data.accountId + \"/\" + cellInfo.data.accountScheduleId;\r\n\r\n buildCellContent(cellElement,\r\n () => { return ids; },\r\n `${action}`);\r\n }\r\n\r\n export function onNewAccountSchedule(e: any) {\r\n e.data.accountId = e.component.option(\"AccountId\");\r\n }\r\n\r\n export function refreshGantt() {\r\n const gantt: DevExpress.ui.dxGantt = $(\"#gantt\").dxGantt(\"instance\");\r\n\r\n if (gantt) {\r\n const url = `${baseUrl}/GetScheduleDetailData/${accountScheduleId}`;\r\n\r\n $.get(url, (data) => { \r\n gantt.option(\"tasks\")[\"dataSource\"] = data;\r\n gantt.repaint();\r\n });\r\n }\r\n }\r\n\r\n export function addAccountSchedule() {\r\n const form = Areas.getForm(\"AccountScheduleForm\");\r\n const projectCCNumber = form.option(\"ProjectCCNumber\");\r\n const accountName = form.option(\"AccountName\");\r\n\r\n const data = {\r\n accountScheduleId: 0,\r\n accountId: accountId,\r\n projectCCNumber: projectCCNumber,\r\n accountName: accountName,\r\n accountScheduleTypeLk: null,\r\n accountScheduleName: null,\r\n accountScheduleStatus: null,\r\n showOnMaster: false\r\n }\r\n\r\n form.option(\"formData\", data);\r\n Areas.getGrid(\"AccountScheduleDetailGrid\").option(\"disabled\", true);\r\n Areas.disableButton(\"AddAccountSchedule\");\r\n Areas.enableButton(\"SaveAccountSchedule\");\r\n }\r\n\r\n export function copySchedule() {\r\n const url = `${baseUrl}/CopyAccountSchedule/${accountId}/${accountScheduleId}`;\r\n sendRequest(url, \"\", \"POST\");\r\n }\r\n\r\n export function copySubPhase() {\r\n const dataGrid = Areas.getGrid(\"AccountScheduleDetailGrid\");\r\n const selectedRows = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRows[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n if (selectedRows[0].accountScheduleDetailId == 0) {\r\n DevExpress.ui.notify(\"This Record may not be copied (no detailId)\", \"warning\", 2000);\r\n } else {\r\n const id = selectedRows[0].accountScheduleDetailId;\r\n const url = `${baseUrl}/CopySubPhase/${id}`;\r\n\r\n sendRequest(url,\r\n \"\",\r\n \"POST\",\r\n () => {\r\n dataGrid.refresh();\r\n dataGrid.selectRowsByIndexes([0]);\r\n });\r\n }\r\n }\r\n }\r\n \r\n export function updateAccountSchedule() {\r\n const newData: any = Areas.getOptionFromForm(\"AccountScheduleForm\", \"formData\");\r\n\r\n if (newData.accountScheduleId == 0) {\r\n saveRecord(newData);\r\n } else {\r\n updateRecord(newData)\r\n }\r\n }\r\n\r\n function saveRecord(data: any) {\r\n sendRequest(`${baseUrl}/Post/${accountId}`, JSON.stringify(data), \"POST\");\r\n }\r\n\r\n function updateRecord(data: any) {\r\n sendRequest(`${baseUrl}/Put/${accountScheduleId}`, JSON.stringify(data), \"PUT\", () => { Areas.reloadPage(); });\r\n }\r\n}","namespace Areas.Account.Edit {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Account\", \"Edit\",\r\n [\"Profile\",\"AccountStatusReport\", \"Workflows\", \"CIB\", \"PWC\", \"Milestones\", \"Schedule\", \"Team\", \"Module\", \"ContractsSummary\", \"FinanceFunding\", \"Report\"]);\r\n\r\n let summaryTabItems = Areas.createTabsWithSameAction(\"Account\", \"Edit\",\r\n [\"ContractsSummary\", \"InspectionsSummary\", \"GLSummary\", \"GLDetailSummary\", \"RechargeSummary\", \"YearMonthChart\", \"YearMonthGLChart\"]);\r\n\r\n let financeTabItems = Areas.createTabsWithSameAction(\"Account\", \"Edit\",\r\n [\"FinanceValidFund\", \"FinanceRechargeJob\", \"FinanceFunding\"]); \r\n\r\n let reportTabItems = Areas.createTabsWithSameAction(\"Account\", \"Edit\",\r\n [\"Report1\", \"Report2\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n export function summaryTabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(summaryTabItems)(params);\r\n }\r\n\r\n export function financeTabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(financeTabItems)(params);\r\n }\r\n\r\n export function reportTabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(reportTabItems)(params);\r\n }\r\n\r\n\r\n export function updateAccount() {\r\n const form = $(\"#AccountForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const result: any = form.validate();\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/Account/Profile/Put/${keyId}`,\r\n JSON.stringify(newData),\r\n \"PUT\");\r\n }\r\n }\r\n\r\n\r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/Account/List/Active\";\r\n location.href = linkInfo;\r\n\r\n }\r\n\r\n\r\n}\r\n","namespace Areas.Accounts.GoTo {\r\n \"use strict\";\r\n\r\n export function goToActions(projectInfoId: number, sharePointLink: string, ) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 3) {\r\n Areas.CIB.runCIB();\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 4) {\r\n Areas.CIB.runCIBDetail();\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 5) {\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 6) {\r\n Areas.CIB.runCIBBudget();\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 7) {\r\n Areas.CIB.runCIBAnalytical();\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 8) {\r\n Areas.CIB.runCIBBudgetDetail();\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 9) {\r\n Areas.CIB.runCIBAnalyticalDetail();\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n\r\n function goToSharePoint(sharePointLink: string) {\r\n let linkInfo = \"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjects/\" + sharePointLink + \"/\";\r\n if (sharePointLink != \"\") {\r\n window.open(linkInfo);\r\n }\r\n else {\r\n window.open(\"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjectsList\");\r\n }\r\n\r\n }\r\n\r\n function goToPIFPAF(projectInfoId: number) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n if (projectInfoId != 0) {\r\n window.open(linkInfo);\r\n }\r\n \r\n }\r\n\r\n}\r\n","namespace Areas.Account.View {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Account\",\r\n \"View\",\r\n [\"Profile\",\"AccountStatusReport\", \"Workflows\", \"CIB\", \"PWC\", \"Milestones\", \"Schedule\", \"Team\", \"Module\", \"Analysis\", \"Finance\", \"Report\"]);\r\n\r\n\r\n let summaryTabItems = Areas.createTabsWithSameAction(\"Account\",\"View\",\r\n [\"ContractsSummary\", \"InspectionsSummary\", \"GLSummary\", \"GLDetailSummary\", \"RechargeSummary\", \"YearMonthChart\", \"YearMonthGLChart\"]);\r\n\r\n let financeTabItems = Areas.createTabsWithSameAction(\"Account\", \"View\",\r\n [\"FinanceValidFund\", \"FinanceRechargeJob\", \"FinanceFunding\"]); \r\n\r\n let reportTabItems = Areas.createTabsWithSameAction(\"Account\",\r\n \"View\",\r\n [\"Report1\", \"Report2\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n export function summaryTabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(summaryTabItems)(params);\r\n }\r\n\r\n export function financeTabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(financeTabItems)(params);\r\n }\r\n\r\n export function reportTabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(reportTabItems)(params);\r\n }\r\n\r\n}\r\n\r\n","namespace Areas.Account.Team{\r\n \"use strict\";\r\n \r\n let currentTeamRow: any;\r\n let selectedContact: any;\r\n let selectedVendor: any;\r\n let selectedAccount: any;\r\n\r\n export function onNewTeamRow(e: any) {\r\n currentTeamRow = e.data;\r\n currentTeamRow.accountId = e.component.option(\"AccountId\");\r\n currentTeamRow.projectCCNumber = e.component.option(\"ProjectCCNumber\");\r\n currentTeamRow.accountName = e.component.option(\"AccountName\");\r\n currentTeamRow.projectId = e.component.option(\"ProjectId\");\r\n selectedVendor = '';\r\n selectedContact = '';\r\n selectedAccount = e.component.option(\"ProjectCCNumber\");\r\n }\r\n\r\n export function onSelectionChanged(e: any) {\r\n var selectedRows = e.component.getSelectedRowsData();\r\n\r\n if (selectedRows.length === 1) {\r\n selectedVendor = selectedRows[0].vendorName;\r\n selectedAccount = selectedRows[0].projectCCNumber;\r\n selectedContact = selectedRows[0].displayName;\r\n }\r\n }\r\n\r\n export function onEditingStart(e: any) {\r\n currentTeamRow = e.data;\r\n selectedAccount = e.data.projectCCNumber;\r\n }\r\n\r\n\r\n export function selectContact() {\r\n const contactDialog = new Areas.Dialogs.ContactDialog(dialogContactClosing);\r\n }\r\n\r\n export function selectAccount() {\r\n const grid: any = $(\"#TeamGrid\").dxDataGrid(\"instance\");\r\n const parameters = { projectId: grid.option(\"ProjectId\") };\r\n\r\n const projectLookupDialog =\r\n new Areas.Dialogs.Project.ProjectLookupDialog(dialogAccountClosing, parameters);\r\n }\r\n\r\n export function selectVendor() {\r\n const vendorDialog = new Areas.Dialogs.VendorDialog(dialogVendorClosing)\r\n }\r\n\r\n\r\n function dialogContactClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const dataGrid = $(\"#TeamGrid\").dxDataGrid(\"instance\");\r\n\r\n var rowIndex = getItemRowIndex(dataGrid);\r\n updateContactGridRow(dataGrid, rowIndex, data);\r\n }\r\n\r\n function dialogAccountClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const dataGrid = $(\"#TeamGrid\").dxDataGrid(\"instance\");\r\n\r\n var rowIndex = getItemRowIndex(dataGrid);\r\n updateAccountGridRow(dataGrid, rowIndex, data);\r\n }\r\n\r\n function dialogVendorClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const dataGrid = $(\"#TeamGrid\").dxDataGrid(\"instance\");\r\n\r\n var rowIndex = getItemRowIndex(dataGrid);\r\n updateVendorGridRow(dataGrid, rowIndex, data);\r\n }\r\n\r\n function getItemRowIndex(dataGrid: DevExpress.ui.dxDataGrid): number {\r\n let rowIndex = 0;\r\n\r\n if (currentTeamRow === undefined || currentTeamRow === null) {\r\n return rowIndex;\r\n } else if (currentTeamRow.accountTeamId) {\r\n rowIndex = dataGrid.getRowIndexByKey(currentTeamRow.accountTeamId);\r\n }\r\n\r\n return rowIndex;\r\n }\r\n\r\n\r\n function updateContactGridRow(dataGrid: DevExpress.ui.dxDataGrid, rowIndex: number, data: any) {\r\n\r\n dataGrid.cellValue(rowIndex, \"contactId\", data.contactId);\r\n dataGrid.cellValue(rowIndex, \"displayName\", data.displayName);\r\n dataGrid.cellValue(rowIndex, \"company\", data.company);\r\n dataGrid.cellValue(rowIndex, \"primaryEMail\", data.primaryEMail);\r\n dataGrid.cellValue(rowIndex, \"workPhone\", data.workPhone);\r\n\r\n currentTeamRow.contactId = data.contactId;\r\n currentTeamRow.displayName = data.displayName;\r\n currentTeamRow.company = data.company;\r\n currentTeamRow.primaryEmail = data.primaryEMail;\r\n currentTeamRow.workPhone = data.workPhone;\r\n\r\n selectedContact = data.displayName;\r\n\r\n\r\n dataGrid.repaintRows([rowIndex]);\r\n }\r\n\r\n function updateAccountGridRow(dataGrid: DevExpress.ui.dxDataGrid, rowIndex: number, data: any) {\r\n\r\n dataGrid.cellValue(rowIndex, \"accountId\", data.accountId);\r\n dataGrid.cellValue(rowIndex, \"projectCCNumber\", data.projectCCNumber);\r\n dataGrid.cellValue(rowIndex, \"accountName\", data.accountName);\r\n\r\n currentTeamRow.accountId = data.accountId;\r\n currentTeamRow.projectCCNumber = data.projectCCNumber;\r\n currentTeamRow.accountName = data.accountName;\r\n\r\n selectedAccount = data.projectCCNumber;\r\n\r\n dataGrid.repaintRows([rowIndex]);\r\n }\r\n\r\n function updateVendorGridRow(dataGrid: DevExpress.ui.dxDataGrid, rowIndex: number, data: any) {\r\n\r\n dataGrid.cellValue(rowIndex, \"vendorId\", data.vendorId);\r\n dataGrid.cellValue(rowIndex, \"vendorName\", data.vendorName);\r\n\r\n currentTeamRow.vendorId = data.vendorId;\r\n currentTeamRow.vendorName = data.vendorName;\r\n\r\n selectedVendor = data.vendorName;\r\n\r\n dataGrid.repaintRows([rowIndex]);\r\n }\r\n\r\n export function onRowInserted(e: any) {\r\n selectedVendor = '';\r\n selectedContact = '';\r\n selectedAccount = e.component.option(\"ProjectCCNumber\");\r\n currentTeamRow = null;\r\n }\r\n\r\n\r\n export function editContactTemplate(cellElement, cellInfo) {\r\n\r\n let displayName = !selectedContact ? \"Select...\" : selectedContact;\r\n let htmlString = `
${displayName}
`;\r\n let html = $.parseHTML(htmlString);\r\n\r\n cellElement.on(\"click\", selectContact);\r\n cellElement.append(html);\r\n }\r\n\r\n export function editAccountTemplate(cellElement, cellInfo) {\r\n let projectCCNumber = !selectedAccount ? \"Select...\" : selectedAccount;\r\n let htmlString = `
${projectCCNumber}
`;\r\n let html = $.parseHTML(htmlString);\r\n\r\n cellElement.on(\"click\", selectAccount);\r\n cellElement.append(html);\r\n }\r\n\r\n export function editVendorTemplate(cellElement, cellInfo) {\r\n let vendorName = !selectedVendor ? \"Select...\" : selectedVendor;\r\n \r\n let htmlString = `
${vendorName}
`;\r\n let html = $.parseHTML(htmlString);\r\n\r\n cellElement.on(\"click\", selectVendor);\r\n cellElement.append(html);\r\n }\r\n\r\n export function goToActions(sharePointLink: string, projectInfoId: number) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n Areas.Account.Team.goToContact();\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 3) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n export function goToContact() {\r\n const grid= $(\"#TeamGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = 0;\r\n if (isNotEmpty(row[0].contactId)) {\r\n id = row[0].contactId;\r\n }\r\n else {\r\n return;\r\n }\r\n\r\n let linkInfo = \"/Contact/Profile/View/\" + id;\r\n location.href = linkInfo;\r\n }\r\n }\r\n\r\n function goToSharePoint(sharePointLink: string) {\r\n let linkInfo = \"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjects/\" + sharePointLink + \"/\";\r\n if (sharePointLink != \"\") {\r\n window.open(linkInfo);\r\n }\r\n else {\r\n window.open(\"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjectsList\");\r\n }\r\n }\r\n\r\n function goToPIFPAF(projectInfoId) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n}","namespace Areas.Account.Workflows {\r\n \"use strict\";\r\n\r\n export function viewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.workflowId; },\r\n \"View\");\r\n }\r\n\r\n\r\n export function cellPreparedPivotGrid(e: any) {\r\n if (isWorkflowNameColumn(e) || isWorkflowLinkColumn(e) || isWorkflowDateColumn(e)) {\r\n const workflowLink = e.cell.text;\r\n e.cellElement.html(workflowLink);\r\n } else if (isWorkflowDetailIdColumn(e)) {\r\n e.cellElement.html(\"\");\r\n }\r\n else if (isDataColumn(e)) {\r\n setContent(e);\r\n }\r\n }\r\n\r\n export function calculateSummaryValue(args) {\r\n if (args.field(\"row\")) {\r\n if (args.field(\"row\").dataField === \"workflowName\"\r\n || args.field(\"row\").dataField === \"projectName\"\r\n || args.field(\"row\").dataField === \"displayDueDate\"\r\n ) {\r\n return \"\"; //Show blank on the workflowName and projectName summary row\r\n }\r\n else {\r\n return args.value(\"html\") || \"\"; //Return an empty string if value is null to prevent cell from being hidden\r\n }\r\n }\r\n }\r\n\r\n function isWorkflowNameColumn(e: any): boolean {\r\n return e.area === \"row\" && e.cell.path && e.cell.path.length === 2;\r\n }\r\n\r\n function isWorkflowDateColumn(e: any): boolean {\r\n return e.area === \"row\" && e.cell.path && e.cell.path.length === 3;\r\n }\r\n\r\n function isWorkflowLinkColumn(e: any): boolean {\r\n return e.area === \"row\" && e.cell.path && e.cell.path.length === 4;\r\n }\r\n\r\n function isWorkflowDetailIdColumn(e: any): boolean {\r\n return e.area === \"row\" && e.cell.path && e.cell.path.length === 5;\r\n }\r\n\r\n function isDataColumn(e: any): boolean {\r\n return e.area === \"data\" && e.cell.text !== \"undefined\" && e.cell.text !== \"\";\r\n }\r\n\r\n function setContent(e: any) {\r\n const data = e.cell.text.split(\"|\");\r\n const [user, actionTaken, dateActionTaken] = data;\r\n let content = user + \"
\" + actionTaken;\r\n\r\n if (dateActionTaken) {\r\n const date = new Date(dateActionTaken);\r\n\r\n content = content + \"
\" + formatDateTime(date);\r\n }\r\n\r\n if (!dateActionTaken) {\r\n e.cellElement.css(\"background-color\", \"#fafad2\" );\r\n }\r\n\r\n e.cellElement.html(content);\r\n }\r\n\r\n}","namespace Areas.Account.YearMonthChart {\r\n \"use strict\";\r\n\r\n //below need research ... thought is to start chart with recent YearMonth\r\n\r\n export function ymChartInitialized(e) {\r\n e.component.zoomArgument(\"2019-01\",\"2020-03\")\r\n }\r\n\r\n export function ymZoomStart(e) {\r\n var a = 1;\r\n }\r\n\r\n export function ymCustomizeLabels() {\r\n return { visible: false };\r\n }\r\n\r\n export function ymZoomEnd(e) {\r\n var b = 1;\r\n }\r\n\r\n}","namespace Areas.Account.YearMonthGLChart {\r\n \"use strict\";\r\n\r\n\r\n export function onLegendClick(e) {\r\n var arg = e.target;\r\n toggleVisibility(arg);\r\n }\r\n\r\n function toggleVisibility(item) {\r\n if (item.isVisible()) {\r\n item.hide();\r\n } else {\r\n item.show();\r\n }\r\n }\r\n\r\n export function customizeLabels() {\r\n return { visible: false };\r\n }\r\n\r\n export function chartRedraw() {\r\n const chart = $(\"#GLChart\").dxChart(\"instance\");\r\n var series = chart.getAllSeries();\r\n //TODO figure out all label visibility/not visible\r\n /* chart.option(\")*/\r\n var a = 1;\r\n\r\n }\r\n\r\n}\r\n","namespace Areas.Analysis.ActiveProjects {\r\n \"use strict\";\r\n\r\n\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"Analysis\",\r\n [\"All\", \"Capital\", \"Facilities\", \"Housing\", \"Medical\", \"RealEstate\", \"Other\", \"Admin\", \"Completed\", \"InActive\", \"Deleted\"],\r\n \"ActiveProjects\");\r\n\r\n var allSubTabItems = Areas.createTabsWithSameController(\"Analysis\",\r\n [\"AllFinance\", \"AllDates\", \"Schedule\", \"AllContracts\", \"AllNonPlantContracts\"],\r\n \"ActiveProjects\");\r\n\r\n var capitalSubTabItems = Areas.createTabsWithSameController(\"Analysis\",\r\n [\"CapitalFinance\", \"CapitalDates\", \"CapitalSchedule\",\"CapitalContracts\", \"CapitalNonPlantContracts\"],\r\n \"ActiveProjects\");\r\n\r\n var facilitiesTabItems = Areas.createTabsWithSameController(\"Analysis\",\r\n [\"FacilitiesFinance\", \"FacilitiesDates\", \"FacilitiesSchedule\", \"FacilitiesContracts\", \"FacilitiesNonPlantContracts\"],\r\n \"ActiveProjects\");\r\n\r\n var medicalTabItems = Areas.createTabsWithSameController(\"Analysis\",\r\n [\"MedicalFinance\", \"MedicalDates\", \"MedicalSchedule\", \"MedicalContracts\", \"MedicalNonPlantContracts\"],\r\n \"ActiveProjects\");\r\n\r\n var housingTabItems = Areas.createTabsWithSameController(\"Analysis\",\r\n [\"HousingFinance\", \"HousingDates\", \"HousingSchedule\",\"HousingContracts\", \"HousingNonPlantContracts\"],\r\n \"ActiveProjects\");\r\n\r\n var realestateTabItems = Areas.createTabsWithSameController(\"Analysis\",\r\n [\"RealEstateFinance\", \"RealEstateDates\", \"RealEstateSchedule\", \"RealEstateContracts\", \"RealEstateNonPlantContracts\"],\r\n \"ActiveProjects\");\r\n\r\n var otherTabItems = Areas.createTabsWithSameController(\"Analysis\",\r\n [\"OtherFinance\", \"OtherDates\", \"OtherContracts\", \"OtherNonPlantContracts\"],\r\n \"ActiveProjects\");\r\n\r\n var onholdTabItems = Areas.createTabsWithSameController(\"Analysis\",\r\n [\"OnHoldFinance\", \"OnHoldDates\", \"OnHoldContracts\", \"OnHoldNonPlantContracts\"],\r\n \"ActiveProjects\");\r\n\r\n var inactiveTabItems = Areas.createTabsWithSameController(\"Analysis\",\r\n [\"InActiveFinance\", \"InActiveDates\", \"InActiveContracts\", \"InActiveNonPlantContracts\"],\r\n \"ActiveProjects\");\r\n\r\n var adminTabItems = Areas.createTabsWithSameController(\"Analysis\",\r\n [\"AdminFinance\", \"AdminDates\", \"AdminContracts\", \"AdminNonPlantContracts\"],\r\n \"ActiveProjects\");\r\n\r\n var completedTabItems = Areas.createTabsWithSameController(\"Analysis\",\r\n [\"CompletedFinance\", \"CompletedDates\", \"CompletedContracts\", \"CompletedNonPlantContracts\"],\r\n \"ActiveProjects\");\r\n\r\n var deletedTabItems = Areas.createTabsWithSameController(\"Analysis\",\r\n [\"DeletedFinance\", \"DeletedDates\", \"DeletedContracts\", \"DeletedNonPlantContracts\"],\r\n \"ActiveProjects\");\r\n\r\n export function activeProjectsTabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n export function allSubTabInitialized(params: any) {\r\n return Areas.tabInitialized(allSubTabItems)(params);\r\n }\r\n\r\n export function capitalSubTabInitialized(params: any) {\r\n return Areas.tabInitialized(capitalSubTabItems)(params);\r\n }\r\n\r\n export function facilitiesSubTabInitialized(params: any) {\r\n return Areas.tabInitialized(facilitiesTabItems)(params);\r\n }\r\n\r\n export function medicalSubTabInitialized(params: any) {\r\n return Areas.tabInitialized(medicalTabItems)(params);\r\n }\r\n\r\n export function housingSubTabInitialized(params: any) {\r\n return Areas.tabInitialized(housingTabItems)(params);\r\n }\r\n\r\n export function realestateSubTabInitialized(params: any) {\r\n return Areas.tabInitialized(realestateTabItems)(params);\r\n }\r\n\r\n export function otherSubTabInitialized(params: any) {\r\n return Areas.tabInitialized(otherTabItems)(params);\r\n }\r\n\r\n export function onholdSubTabInitialized(params: any) {\r\n return Areas.tabInitialized(onholdTabItems)(params);\r\n }\r\n\r\n export function inactiveSubTabInitialized(params: any) {\r\n return Areas.tabInitialized(inactiveTabItems)(params);\r\n }\r\n\r\n export function adminSubTabInitialized(params: any) {\r\n return Areas.tabInitialized(adminTabItems)(params);\r\n }\r\n\r\n export function completedSubTabInitialized(params: any) {\r\n return Areas.tabInitialized(completedTabItems)(params);\r\n }\r\n\r\n export function deletedSubTabInitialized(params: any) {\r\n return Areas.tabInitialized(deletedTabItems)(params);\r\n }\r\n\r\n export function onCellPrepared(e: any) {\r\n if (e.rowType !== \"data\") {\r\n return;\r\n }\r\n setPifPafAmountBackground(e);\r\n setCIBAmountBackground(e);\r\n }\r\n\r\n function setPifPafAmountBackground(e) {\r\n var isPifPafDataCell = e.column.dataField === \"pifpafAmount\";\r\n\r\n if (isPifPafDataCell) {\r\n if (e.data.pifpafBalance < 0) {\r\n e.cellElement.css(\"background-color\", \"yellow\");\r\n } else if (e.data.pifpafAmount < e.data.cibBudgetAmount) {\r\n e.cellElement.css(\"background-color\", \"yellow\");\r\n }\r\n }\r\n }\r\n\r\n function setCIBAmountBackground(e) {\r\n var isCIBDataCell = e.column.dataField === \"cibBudgetAmount\";\r\n\r\n if (isCIBDataCell) {\r\n if (e.data.cibBudgetAmount < e.data.pifpafAmount && e.data.pifpafAmount > 1000000) {\r\n e.cellElement.css(\"background-color\", \"#FFA07A\");\r\n } else if (e.data.cibBudgetAmount < e.data.appropriation && e.data.appropriation > 1000000) {\r\n e.cellElement.css(\"background-color\", \"red\");\r\n }\r\n }\r\n }\r\n\r\n //function setStatusCellBackground(e) {\r\n // var isStatusDataCell = e.column.dataField === \"status\";\r\n\r\n // if (isStatusDataCell) {\r\n // if (e.data.status === 'Approved') {\r\n // e.cellElement.css('background-color', '#90EE90');\r\n // } else if (e.data.status === 'HOLD') {\r\n // e.cellElement.css('background-color', 'yellow');\r\n // } else if (e.data.status === 'DELETED') {\r\n // e.cellElement.css('background-color', 'red');\r\n // }\r\n // }\r\n //}\r\n\r\n export function contractViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.contractId; },\r\n linkInfo);\r\n }\r\n\r\n export function projectViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.accountId; },\r\n linkInfo);\r\n }\r\n\r\n export function goToAccount(e: any) {\r\n const grid = $(\"#ActiveProjectsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].accountId;\r\n let linkInfo = \"/Account/Profile/View/\" + id;\r\n window.open(linkInfo);\r\n }\r\n }\r\n\r\n export function goToProject(e: any) {\r\n const grid = $(\"#ActiveProjectsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].accountId;\r\n let linkInfo = \"/Account/Profile/View/\" + id;\r\n window.open(linkInfo);\r\n }\r\n }\r\n\r\n export function goToSharePoint(e: any) {\r\n const grid = $(\"#ActiveProjectsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var sharePointLink = row[0].sharePointLink;\r\n let linkInfo = \"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjects/\" + sharePointLink + \"/\";\r\n if (sharePointLink != \"\") {\r\n window.open(linkInfo);\r\n }\r\n else {\r\n window.open(\"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjectsList\");\r\n }\r\n }\r\n }\r\n\r\n export function goToPIFPAF(e: any) {\r\n const grid = $(\"#ActiveProjectsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].projectInfoId;\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + id + \"\";\r\n if (id != null) {\r\n window.open(linkInfo);\r\n }\r\n }\r\n }\r\n\r\n export function goToContract(e: any) {\r\n const grid = $(\"#ActiveProjectsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].contractId;\r\n let linkInfo = \"https://contract.capnet.ucla.edu/Contract/GeneralInfo/View/\" + id + \"\";\r\n if (id != null) {\r\n window.open(linkInfo);\r\n }\r\n }\r\n }\r\n\r\n export function goToConstructionContract(e: any) {\r\n const grid = $(\"#ActiveProjectsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var accountId = row[0].accountId;\r\n\r\n if (accountId != null) {\r\n const url = `/Analysis/ActiveProjects/GetConstructionContract/${accountId}`;\r\n\r\n $.get(url, (contractId) => {\r\n if (contractId > 0) {\r\n let linkInfo = \"https://contract.capnet.ucla.edu/Contract/GeneralInfo/View/\" + contractId + \"\";\r\n window.open(linkInfo);\r\n } else {\r\n DevExpress.ui.notify(\"There is no construction contract for this Project\", \"warning\", 2000);\r\n }\r\n });\r\n }\r\n\r\n \r\n }\r\n }\r\n\r\n\r\n\r\n\r\n}","namespace Areas.Analysis.CIBApprovals\r\n{\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"Analysis\", [\"Unapproved\", \"Approved\"], \"CIBApprovals\");\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n export function goToProjectCIB(e: any) {\r\n const grid = $(\"#CIBApprovalsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].accountId;\r\n var cibId = row[0].accountCIBId;\r\n let linkInfo = \"/Account/CIB/View/\" + id ;\r\n window.open(linkInfo);\r\n }\r\n }\r\n\r\n export function goToSharePoint(e: any) {\r\n const grid = $(\"#CIBApprovalsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var sharePointLink = row[0].sharePointLink;\r\n let linkInfo = \"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjects/\" + sharePointLink + \"/\";\r\n if (sharePointLink != \"\") {\r\n window.open(linkInfo);\r\n }\r\n else {\r\n window.open(\"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjectsList\");\r\n }\r\n }\r\n }\r\n\r\n export function viewLink(cellElement: any, cellInfo: any) {\r\n\r\n const ids = cellInfo.data.accountId ;\r\n\r\n buildCellContent(cellElement,\r\n () => { return ids; },\r\n \"View\");\r\n\r\n }\r\n\r\n}\r\n","namespace Areas.Analysis.DataReview {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"Analysis\", [\"OvernightSnapshotActive\", \"OvernightSnapshotCompleted\", \"OvernightSnapshotOther\", \"WebProfile\", \"CIBProfile\"], \"DataReview\");\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n export function webLinkProjectTemplate(cellElement, cellInfo) {\r\n const linktext = String(cellInfo.data.webLinkProject);\r\n if (linktext != 'null') {\r\n let linkInfo = '' + String(cellInfo.data.accountId) + '';\r\n cellElement.html(linkInfo);\r\n }\r\n }\r\n\r\n export function webLinkSharePointTemplate(cellElement, cellInfo) {\r\n const linktext = String(cellInfo.data.webLinkSharePoint);\r\n if (linktext != 'null') {\r\n let linkInfo = 'link';\r\n cellElement.html(linkInfo);\r\n }\r\n }\r\n\r\n export function webLinkContractTemplate(cellElement, cellInfo) {\r\n const linktext = String(cellInfo.data.webLinkContract);\r\n if (linktext != 'null') {\r\n let linkInfo = '' + String(cellInfo.data.contractId) + '';\r\n cellElement.html(linkInfo);\r\n }\r\n }\r\n\r\n export function webLinkPlanRoomTemplate(cellElement, cellInfo) {\r\n const linktext = String(cellInfo.data.webLinkPlanRoom);\r\n if (linktext != 'null') {\r\n let linkInfo = 'link';\r\n cellElement.html(linkInfo);\r\n }\r\n }\r\n\r\n export function onCellPrepared(e: any) {\r\n if (e.rowType === \"header\") {\r\n setColumnHeaderColor(e);\r\n return;\r\n }\r\n //setColumnHeaderColor(e);\r\n }\r\n\r\n function setColumnHeaderColor(e) {\r\n\r\n if (e.column.caption === \"CIB\") {\r\n e.cellElement.css(\"background-color\", \"Seashell\");\r\n }\r\n if (e.column.dataField === \"originalCIB\") {\r\n e.cellElement.css(\"background-color\", \"Seashell\");\r\n }\r\n if (e.column.dataField === \"increaseCIB\") {\r\n e.cellElement.css(\"background-color\", \"Seashell\");\r\n }\r\n if (e.column.dataField === \"currentCIB\") {\r\n e.cellElement.css(\"background-color\", \"Seashell\");\r\n }\r\n if (e.column.dataField === \"projectApprovalDate\") {\r\n e.cellElement.css(\"background-color\", \"Seashell\");\r\n }\r\n\r\n\r\n if (e.column.caption === \"Contract\") {\r\n e.cellElement.css(\"background-color\", \"Honeydew\");\r\n }\r\n if (e.column.dataField === \"ntpDate\") {\r\n e.cellElement.css(\"background-color\", \"Honeydew\");\r\n }\r\n if (e.column.dataField === \"originalContractSCDate\") {\r\n e.cellElement.css(\"background-color\", \"Honeydew\");\r\n }\r\n if (e.column.dataField === \"revisedContractSCDate\") {\r\n e.cellElement.css(\"background-color\", \"Honeydew\");\r\n }\r\n if (e.column.dataField === \"scDate\") {\r\n e.cellElement.css(\"background-color\", \"Honeydew\");\r\n }\r\n\r\n\r\n if (e.column.caption === \"Finance\") {\r\n e.cellElement.css(\"background-color\", \"Ivory\");\r\n }\r\n if (e.column.dataField === \"pifpafAmount\") {\r\n e.cellElement.css(\"background-color\", \"Ivory\");\r\n }\r\n if (e.column.dataField === \"appropriation\") {\r\n e.cellElement.css(\"background-color\", \"Ivory\");\r\n }\r\n if (e.column.dataField === \"irsDeclaration\") {\r\n e.cellElement.css(\"background-color\", \"Ivory\");\r\n }\r\n\r\n\r\n\r\n if (e.column.caption === \"PM Schedule\") {\r\n e.cellElement.css(\"background-color\", \"LavenderBlush\");\r\n }\r\n if (e.column.dataField === \"cApproved\") {\r\n e.cellElement.css(\"background-color\", \"LavenderBlush\");\r\n }\r\n if (e.column.dataField === \"cEndApproved\") {\r\n e.cellElement.css(\"background-color\", \"LavenderBlush\");\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\n\r\n ","namespace Areas.Analysis.ProjectsGantt {\r\n \"use strict\";\r\n\r\n export function goToProject(e: any) {\r\n const grid = $(\"#ProjectsGanttAnalysisGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].accountId;\r\n let linkInfo = \"/Account/Profile/View/\" + id;\r\n window.open(linkInfo);\r\n }\r\n }\r\n\r\n\r\n}","namespace Areas.Analysis.TimesheetPivot {\r\n \"use strict\";\r\n\r\n let startDate: Date;\r\n let endDate: Date;\r\n let runQuery: boolean = false;\r\n\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n\r\n\r\n export function onCellPrepared(e: any) {\r\n if (e.area === \"row\" && e.cell.path) {\r\n if (e.cell.text.includes('href')) {\r\n var linkText = e.cell.text;\r\n if (e.cell.path.length > 1) {\r\n e.cellElement.html(linkText)\r\n } else {\r\n var piStart = linkText.indexOf(\">\") + 1;\r\n var piLength = linkText.length - 4;\r\n var projectInfoText = linkText.substring(piStart, piLength);\r\n return e.cellElement.text(projectInfoText);\r\n }\r\n }\r\n }\r\n }\r\n\r\n export function selectorLink(data: any) {\r\n var projectInfo = data.projectNumber + \"--\" + data.projectName;\r\n var linkInfo = \"\" + projectInfo + \"\";\r\n return linkInfo;\r\n\r\n }\r\n\r\n\r\n export function resetPivotGrid() {\r\n const dataPivot = $(\"#TimesheetPivotGrid\").dxPivotGrid(\"instance\");\r\n dataPivot.getDataSource().state({});\r\n }\r\n\r\n export function refreshData() {\r\n const form = $(\"#TimePeriodSelectForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n if ((formData.startDate == null) || (formData.endDate == null)) {\r\n DevExpress.ui.notify(\"You need to select a time period first!\", \"warning\", 2000);\r\n return;\r\n }\r\n\r\n startDate = formData.startDate;\r\n endDate = formData.endDate;\r\n runQuery = true;\r\n\r\n const dataPivot = $(\"#TimesheetPivotGrid\").dxPivotGrid(\"instance\");\r\n dataPivot.getDataSource().reload();\r\n\r\n const dataGrid = $(\"#TimesheetGrid\").dxDataGrid(\"instance\");\r\n dataGrid.refresh();\r\n\r\n }\r\n\r\n export function getStartDate() {\r\n return startDate;\r\n }\r\n\r\n export function getEndDate() {\r\n return endDate;\r\n }\r\n\r\n export function goToProjectFromGrid(e: any) {\r\n const dataGrid = $(\"#TimesheetGrid\").dxDataGrid(\"instance\");\r\n const rows = dataGrid.getSelectedRowsData();\r\n if (rows.length == 1) {\r\n location.href = \"/Account/Profile/View/\" + rows[0].accountId; // + \" target=_blank \";\r\n }\r\n else {\r\n DevExpress.ui.notify(\"You need to select a row first!\", \"warning\", 2000);\r\n }\r\n\r\n }\r\n\r\n export function getStartEndDateFromTimePeriod(e) {\r\n const form = $(\"#TimePeriodSelectForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n if (e.selectedItem == null) {\r\n const timePeriodText = null\r\n formData.startDate = null;\r\n formData.endDate = null;\r\n form.option(\"formData\", formData);\r\n\r\n } else {\r\n\r\n const timePeriodText = e.selectedItem.id;\r\n\r\n $.get(`/Analysis/TimesheetPivot/GetStartEndDates/${timePeriodText}`,\r\n (data) => {\r\n\r\n startDate = data.beginDate;\r\n endDate = data.endDate;\r\n\r\n formData.startDate = data.beginDate;\r\n formData.endDate = data.endDate;\r\n form.option(\"formData\", formData);\r\n\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n}","namespace Areas.Attachment {\r\n \"use strict\";\r\n\r\n const attachmentGridId = \"attachmentDataGrid\";\r\n const attachmentGridKey = \"attachmentId\";\r\n const fileUploaderId = \"fileUploaderControl\";\r\n const textBoxId = \"FileDescriptionTextBox\";\r\n\r\n export function onValueChanged(e) {\r\n var newValue = e.value;\r\n if (newValue != e.previousValue) {\r\n var uploader = $(\"#fileUploaderControl\").dxFileUploader(\"instance\");\r\n var url = uploader.option(\"uploadUrl\");\r\n url = updateQueryStringParameter(url, \"fileDescription\", newValue);\r\n uploader.option(\"uploadUrl\", url);\r\n }\r\n }\r\n\r\n export function onUploadError(e) {\r\n DevExpress.ui.notify(e.error.responseText, \"error\", 2000);\r\n }\r\n\r\n export function addIconImage(cellElement, cellInfo) {\r\n var iconSource = cellInfo.data.icon;\r\n var img = \"\";\r\n cellElement.height(30);\r\n cellElement.html(img);\r\n }\r\n\r\n export function downloadAttachmentLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.attachmentId; },\r\n \"Download\");\r\n }\r\n\r\n export function refreshGridAfterUpload(e) {\r\n Areas.refreshGrid(attachmentGridId);\r\n }\r\n\r\n export function onCellPrepared(e) {\r\n\r\n if (e.rowType === \"data\" && e.column.command === \"edit\") {\r\n if (e.data.isReadOnly) {\r\n e.cellElement.empty();\r\n }\r\n }\r\n }\r\n\r\n export function updateAttachmentControls(recordId: number, parentEntity: string, fileDescription: string = \"\") {\r\n updateUploadControl(recordId, fileDescription);\r\n updateGridControl(recordId, parentEntity);\r\n }\r\n\r\n export function updateUploadControl(recordId: number, fileDescription: string) {\r\n const uploader = getFileUploader();\r\n\r\n if (uploader) {\r\n if (recordId > 0) {\r\n\r\n let url = uploader.option(\"uploadUrl\");\r\n url = updateQueryStringParameter(url, \"recordId\", recordId);\r\n url = updateQueryStringParameter(url, \"fileDescription\", fileDescription);\r\n uploader.option(\"uploadUrl\", url);\r\n }\r\n }\r\n\r\n const textBoxControl = getFileUploaderTextBox();\r\n if (textBoxControl) {\r\n textBoxControl.option(\"value\", fileDescription);\r\n }\r\n }\r\n\r\n\r\n\r\n export function updateGridControl(recordId: number, parentEntity: string) {\r\n const uploadGrid = getAttachmentGrid();\r\n\r\n if (uploadGrid) {\r\n uploadGrid.option(\"dataSource\", createDataSource(recordId, parentEntity));\r\n }\r\n }\r\n\r\n function createDataSource(recordId: number, parentEntity: string): DevExpress.data.DataSource {\r\n const baseUrl = \"/Attachment/Attachment\";\r\n\r\n const storeConfiguration = {\r\n \"loadParams\": {\r\n recordId: recordId,\r\n parentEntity: parentEntity\r\n },\r\n \"key\": attachmentGridKey,\r\n \"loadUrl\": `${baseUrl}/Get`,\r\n \"insertUrl\": `${baseUrl}/Post`,\r\n \"updateUrl\": `${baseUrl}/Put`,\r\n \"deleteUrl\": `${baseUrl}/Delete`\r\n };\r\n\r\n const store = DevExpress.data.AspNet.createStore(storeConfiguration);\r\n return new DevExpress.data.DataSource({ store: store });\r\n }\r\n\r\n function getAttachmentGrid(): DevExpress.ui.dxDataGrid {\r\n return Areas.getGrid(attachmentGridId);\r\n }\r\n\r\n function getFileUploader(): DevExpress.ui.dxFileUploader {\r\n return $(`#${fileUploaderId}`).dxFileUploader(\"instance\");\r\n }\r\n\r\n function getFileUploaderTextBox(): DevExpress.ui.dxTextBox {\r\n return $(`#${textBoxId}`).dxTextBox(\"instance\");\r\n }\r\n} ","namespace Areas.Budget.AutoLink {\r\n \"use strict\";\r\n\r\n export function processAutoLinks() {\r\n\r\n const linkedGrid = $(\"#BudgetListGrid\").dxDataGrid(\"instance\");\r\n const accountId = linkedGrid.option(\"accountId\");\r\n\r\n let url = `/Budget/AutoLinked/ProcessAllAutoLinks/${accountId}`;\r\n\r\n const method = \"POST\";\r\n sendRequest(url,\r\n \"\",\r\n method,\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n\r\n\r\n }\r\n\r\n\r\n}\r\n","namespace Areas.Budget.BudgetEntry {\r\n \"use strict\";\r\n\r\n\r\n\r\n\r\n}","namespace Areas.Budget.Linked {\r\n \"use strict\";\r\n\r\n export function relinkSelected() {\r\n const linkedGrid = $(\"#BudgetLinkedGrid\").dxDataGrid(\"instance\");\r\n const rowsSelected = linkedGrid.getSelectedRowsData();\r\n if (rowsSelected[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n let subCode = rowsSelected[0].ucopSubCodeLk;\r\n //check that all selected rows have the same ucopsubcodelk\r\n for (var i = 0; i < rowsSelected.length; i++) {\r\n if (rowsSelected[i].ucopSubCodeLk != subCode) {\r\n console.log(rowsSelected[i]);\r\n console.log(subCode);\r\n DevExpress.ui.notify(\"All Selected Records must be for the same Sub\", \"warning\", 4000)\r\n return;\r\n }\r\n }\r\n\r\n let accountId = linkedGrid.option(\"AccountId\");\r\n let budgetId = linkedGrid.option(\"BudgetId\");\r\n const parameters = { accountId: accountId, sub: subCode, budgetId: budgetId };\r\n const relinkSameSubDialog =\r\n new Areas.Dialogs.BudgetAccountCategory.RelinkSameSubDialog(RelinkDialogClosing(), parameters);\r\n }\r\n }\r\n\r\n //select Link Category\r\n function RelinkDialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const linkedGrid = $(\"#BudgetLinkedGrid\").dxDataGrid(\"instance\");\r\n const budgetItemLinkIds = linkedGrid.getSelectedRowKeys().join(',');\r\n\r\n\r\n //for each selected record relink/update BudgetItemCategoryId in BudgetItemLink records\r\n let newBudgetAccountCategoryId: number = 0;\r\n newBudgetAccountCategoryId = data.budgetAccountCategoryId;\r\n\r\n let url = `/Budget/Linked/RelinkItems/${budgetItemLinkIds}/${newBudgetAccountCategoryId}`;\r\n\r\n\r\n const method = \"POST\";\r\n\r\n sendRequest(url,\r\n \"\",\r\n method,\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n\r\n }\r\n }\r\n\r\n\r\n export function reclassifySelected() {\r\n const linkedGrid = $(\"#BudgetLinkedGrid\").dxDataGrid(\"instance\");\r\n const rowsSelected = linkedGrid.getSelectedRowsData();\r\n let accountId = linkedGrid.option(\"AccountId\");\r\n\r\n\r\n if (rowsSelected[0] == null || rowsSelected.length > 1) {\r\n DevExpress.ui.notify(\"Please make a selection first ... one row only!\", \"warning\", 2000);\r\n } else {\r\n if (rowsSelected[0].isLocked) {\r\n DevExpress.ui.notify(\"This record is locked ... not editable\", \"warning\", 2000);\r\n return;\r\n }\r\n else {\r\n\r\n const parameters = {\r\n data: rowsSelected[0],\r\n accountId: accountId\r\n };\r\n const budgetAccountCategoryLinkDialog =\r\n new Areas.Dialogs.BudgetAccountCategory.ReclassifyLinkDialog(reclassifyLinkDialogClosing(), parameters);\r\n }\r\n }\r\n }\r\n\r\n function reclassifyLinkDialogClosing() {\r\n\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) {\r\n\r\n \r\n sendRequest(\"/Budget/Linked/ReclassifyCancel\",\r\n data,\r\n \"POST\");\r\n }\r\n else {\r\n \r\n sendRequest(\"/Budget/Linked/ReclassifyItem\",\r\n data,\r\n \"POST\",\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n }\r\n\r\n \r\n\r\n }\r\n }\r\n\r\n export function changePCategorylinkItems() {\r\n const linkedGrid = $(\"#BudgetLinkedGrid\").dxDataGrid(\"instance\");\r\n const rowsSelected = linkedGrid.getSelectedRowsData();\r\n if (rowsSelected[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n let accountId = linkedGrid.option(\"AccountId\");\r\n let budgetId = linkedGrid.option(\"BudgetId\");\r\n const parameters = { accountId: accountId, budgetId: budgetId };\r\n const changePCategoryDialog =\r\n new Areas.Dialogs.ChangePCategory.ChangePCategoryDialog(changePCategoryDialogClosing(), parameters);\r\n }\r\n }\r\n\r\n function changePCategoryDialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const linkedGrid = $(\"#BudgetLinkedGrid\").dxDataGrid(\"instance\");\r\n const budgetItemLinkIds = linkedGrid.getSelectedRowKeys().join(',');\r\n data.dataIds = budgetItemLinkIds;\r\n\r\n const newData = JSON.stringify(data);\r\n\r\n let url = \"/Budget/Linked/ChangePCategory/\";\r\n const method = \"POST\";\r\n\r\n sendRequest(url,\r\n newData,\r\n method,\r\n (_) => {\r\n Areas.reloadPage();\r\n });\r\n\r\n }\r\n }\r\n\r\n}\r\n","namespace Areas.Budget.List {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"Budget\", [\"Active\", \"Closed\"], \"List\");\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n export function edit() {\r\n gotoSelected(\"BudgetsGrid\", \"/Budget/Profile/Edit/\");\r\n }\r\n\r\n export function view() {\r\n gotoSelected(\"BudgetsGrid\", \"/Budget/Profile/View/\");\r\n } \r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.budgetId; },\r\n \"View\");\r\n }\r\n\r\n\r\n\r\n export function showCreate() {\r\n const dataGrid = $('#BudgetsGrid').dxDataGrid('instance');\r\n const row = dataGrid.getSelectedRowsData();\r\n\r\n let accountId = 3080;\r\n let project = \"Budget.01 Template\";\r\n\r\n if (row.length == 1) {\r\n accountId = row[0].accountId;\r\n let project = row[0].projectCCNumber + \" \" + row[0].accountName\r\n } \r\n\r\n const method = \"GET\";\r\n let url = `/Budget/List/CheckForBudgetAccountCategoriesForAccountId`;\r\n\r\n $.get(`${url}/${accountId}`,\r\n (data) => {\r\n if (data.length > 0) {\r\n showCreateDialog(false, accountId, project);\r\n }\r\n else {\r\n showCreateDialog(true, accountId, project);\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n function showCreateDialog(addBC: any, accountId, project) {\r\n\r\n\r\n const parameters = { AccountId: accountId, Project: project, AddBC: addBC };\r\n\r\n const createBudgetDialog = new Areas.Dialogs.CreateBudgetDialog(() => { }, parameters);\r\n\r\n }\r\n\r\n\r\n export function budgetCategories() {\r\n const dataGrid = $('#BudgetsGrid').dxDataGrid('instance');\r\n const row = dataGrid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n let id = row[0].accountId;\r\n let linkInfo = \"/Budget/BudgetAccountCategory/Index/\" + id.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"You need to select a row first!\", \"warning\", 2000);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n}","namespace Areas.Budget.Category {\r\n \"use strict\";\r\n\r\n let baseURL = \"/Budget/Profile/InactivateBudgetAccountCategory\";\r\n\r\n\r\n export function addBudgetCategory() {\r\n const budCatTree = $(\"#BudgetAccountCategoryTree\").dxTreeList(\"instance\");\r\n const selectedRows = budCatTree.getSelectedRowsData();\r\n\r\n if (selectedRows.length) {\r\n\r\n const parameters = {\r\n data: selectedRows[0], \r\n };\r\n const createBudgetAccountCategoryDialog = new Areas.Dialogs.CreateBudgetAccountCategory.CreateBudgetAccountCategoryDialog(editDialogClosing, parameters);\r\n\r\n } else {\r\n let accountId = budCatTree.option(\"AccountId\");\r\n\r\n const data = { accountId: accountId, budgetCategoryGroupLk: \"P0\" };\r\n const parameters = data;\r\n const createBudgetAccountCategoryDialog = new Areas.Dialogs.CreateBudgetAccountCategory.CreateBudgetAccountCategoryDialog(editDialogClosing, parameters);\r\n }\r\n\r\n\r\n \r\n\r\n }\r\n\r\n export function inActivateBudgetCategory() {\r\n const budCatTree = $(\"#BudgetAccountCategoryTree\").dxTreeList(\"instance\");\r\n const selectedRows = budCatTree.getSelectedRowsData();\r\n\r\n if (selectedRows.length) {\r\n\r\n selectedRows[0].isActive = false;\r\n let keyId = selectedRows[0].budgetAccountCategoryId;\r\n let newData = selectedRows[0];\r\n\r\n sendRequest(`${baseURL}/${keyId}`,\r\n JSON.stringify(newData),\r\n \"PUT\",\r\n () => {\r\n Areas.reloadPage();\r\n });\r\n }\r\n }\r\n\r\n export function onTreeSelectionChanged(e: any) {\r\n let rowData: any = e.selectedRowsData[0];\r\n if (rowData.branchLevel == 1) {\r\n disableButton(\"CategoryEditButton\");\r\n disableButton(\"CategoryDeleteButton\");\r\n } else {\r\n enableButton(\"CategoryEditButton\");\r\n enableButton(\"CategoryDeleteButton\");\r\n }\r\n }\r\n\r\n export function editBudgetCategory() {\r\n const budCatTree = $(\"#BudgetAccountCategoryTree\").dxTreeList(\"instance\");\r\n const selectedRows = budCatTree.getSelectedRowsData();\r\n\r\n if (selectedRows.length) {\r\n\r\n const parameters = {\r\n data: selectedRows[0],\r\n };\r\n\r\n const editBudgetAccountCategoryDialog = new Areas.Dialogs.EditBudgetAccountCategory.EditBudgetAccountCategoryDialog(editDialogClosing, parameters);\r\n\r\n }\r\n }\r\n\r\n function editDialogClosing() {\r\n const budCatTree = $(\"#BudgetAccountCategoryTree\").dxTreeList(\"instance\");\r\n Areas.reloadPage();\r\n\r\n }\r\n\r\n}\r\n","namespace Areas.Budget.Profile {\r\n \"use strict\";\r\n\r\n export function updateProfile() {\r\n const form = $(\"#BudgetProfileForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const result: any = form.validate();\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/Budget/Profile/Put/${keyId}`, JSON.stringify(newData), \"PUT\");\r\n }\r\n \r\n }\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.budgetId; },\r\n \"View\");\r\n }\r\n\r\n export function copyBudget(budgetId: number, accountId: number, accountInfo: string): () => void {\r\n return () : void => {\r\n const parameters = { budgetId: budgetId, accountId: accountId, accountInfo: accountInfo };\r\n const copyBudgetDialog = new Areas.Dialogs.CopyBudgetDialog(() => { }, parameters);\r\n }\r\n }\r\n\r\n}\r\n","namespace Areas.Budget.Edit {\r\n \"use strict\";\r\n\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Budget\", \"Edit\",\r\n [\"Profile\", \"BudgetEntry\", \"UnLinked\", \"Linked\", \"AutoLinked\", \"Summary\", \"Detail\", \"Filter\", \"Reclass\", \"Memos\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/Budget/List/Active\";\r\n location.href = linkInfo;\r\n\r\n }\r\n\r\n export function goToProject() {\r\n const linkedGrid = $(\"#BudgetListGrid\").dxDataGrid(\"instance\");\r\n let accountId = linkedGrid.option(\"accountId\");\r\n\r\n let linkInfo = \"/Account/Profile/View/\" + accountId;\r\n window.open(linkInfo);\r\n }\r\n}\r\n","namespace Areas.Budget.GoTo {\r\n \"use strict\";\r\n\r\n export function goToActions(id: number) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goTo506Summary(id);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goTo506Detail(id);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 3) {\r\n goTo506SummaryFiltered(id);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 4) {\r\n goTo506DetailFiltered(id);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n\r\n }\r\n }\r\n\r\n export function goTo506Summary(id) {\r\n\r\n if (id != null) {\r\n const url = `/Reports/Report/Get506Summary/${id}`;\r\n window.open(url);\r\n }\r\n\r\n }\r\n\r\n\r\n export function goTo506Detail(id) {\r\n\r\n if (id != null) {\r\n const url = `/Reports/Report/Get506Detail/${id}`;\r\n window.open(url);\r\n }\r\n\r\n }\r\n\r\n export function goTo506SummaryFiltered(id) {\r\n\r\n if (id != null) {\r\n const url = `/Reports/Report/Get506SummaryFiltered/${id}`;\r\n window.open(url);\r\n }\r\n\r\n }\r\n\r\n\r\n export function goTo506DetailFiltered(id) {\r\n\r\n if (id != null) {\r\n const url = `/Reports/Report/Get506DetailFiltered/${id}`;\r\n window.open(url);\r\n }\r\n\r\n }\r\n\r\n}\r\n","namespace Areas.Budget.View {\r\n \"use strict\";\r\n\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Budget\", \"View\",\r\n [\"Profile\", \"BudgetEntry\", \"UnLinked\", \"Linked\", \"AutoLinked\", \"Summary\", \"Detail\", \"Filter\", \"Reclass\", \"Memos\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n}\r\n","namespace Areas.Budget.UnLinked {\r\n \"use strict\";\r\n\r\n\r\n export function linkSelected() {\r\n\r\n const unlinkedGrid = $(\"#BudgetUnLinkedGrid\").dxDataGrid(\"instance\");\r\n const rowsSelected = unlinkedGrid.getSelectedRowsData();\r\n if (rowsSelected[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n\r\n let accountId = unlinkedGrid.option(\"AccountId\");\r\n let subCode = rowsSelected[0].ucopSubCodeLk;\r\n let budgetId = unlinkedGrid.option(\"BudgetId\");\r\n const parameters = { accountId: accountId, sub: subCode, budgetId: budgetId };\r\n const budgetAccountCategoryLinkDialog =\r\n new Areas.Dialogs.BudgetAccountCategory.BudgetAccountCategoryLinkDialog(linkDialogClosing(), parameters);\r\n }\r\n }\r\n\r\n //select Link Category\r\n function linkDialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const unlinkedGrid = $(\"#BudgetUnLinkedGrid\").dxDataGrid(\"instance\");\r\n const glDataIds = unlinkedGrid.getSelectedRowKeys().join(',');\r\n\r\n\r\n //for each selected record create BudgetItemLink records\r\n let newBudgetAccountCategoryId: number = 0;\r\n newBudgetAccountCategoryId = data.budgetAccountCategoryId;\r\n\r\n let url = `/Budget/UnLinked/AddLinkItems/${glDataIds}/${newBudgetAccountCategoryId}`;\r\n\r\n\r\n const method = \"POST\";\r\n\r\n sendRequest(url,\r\n \"\",\r\n method,\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n\r\n }\r\n }\r\n\r\n export function createAutoLinkForSelected() {\r\n const unlinkedGrid = $(\"#BudgetUnLinkedGrid\").dxDataGrid(\"instance\");\r\n const rowsSelected = unlinkedGrid.getSelectedRowsData();\r\n if (rowsSelected[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n if (rowsSelected.length > 1) {\r\n DevExpress.ui.notify(\"Select 1 record to link all with the same Purchase Order!\", \"warning\", 2000);\r\n } else {\r\n let accountId = unlinkedGrid.option(\"AccountId\");\r\n let subCode = rowsSelected[0].ucopSubCodeLk;\r\n let budgetId = unlinkedGrid.option(\"BudgetId\");\r\n const parameters = { accountId: accountId, sub: subCode, budgetId: budgetId };\r\n const budgetAccountCategoryLinkDialog =\r\n new Areas.Dialogs.BudgetAccountCategory.BudgetAccountCategoryLinkDialog(autolinkDialogClosing(), parameters);\r\n }\r\n }\r\n }\r\n\r\n //select Link Category\r\n function autolinkDialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const unlinkedGrid = $(\"#BudgetUnLinkedGrid\").dxDataGrid(\"instance\");\r\n const rowData = unlinkedGrid.getSelectedRowsData();\r\n \r\n let poNumber = rowData[0].glReference;\r\n let fauobject = rowData[0].fauObject;\r\n let faudesc = rowData[0].fauDescription.replaceAll('/', '-');\r\n \r\n\r\n //for each selected record create BudgetItemLink records\r\n let newBudgetAccountCategoryId: number = 0;\r\n newBudgetAccountCategoryId = data.budgetAccountCategoryId;\r\n\r\n let url = `/Budget/UnLinked/AddAutoLink/${newBudgetAccountCategoryId}/${poNumber}/${fauobject}/${faudesc}`;\r\n\r\n\r\n const method = \"POST\";\r\n\r\n sendRequest(url,\r\n \"\",\r\n method,\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","namespace Areas.ChangeManagement.List {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"ChangeManagement\", [\"Active\", \"Completed\"], \"List\");\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n export function onGridSelectionChanged(e: any) {\r\n const rowSelected = e.selectedRowsData.length === 1;\r\n\r\n if (rowSelected) {\r\n enableButton(\"EditButton\");\r\n } else {\r\n disableButton(\"EditButton\");\r\n }\r\n }\r\n\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.changeManagementProfileId; },\r\n \"View\");\r\n }\r\n\r\n export function view() {\r\n gotoSelected(\"ChangeManagementGrid\", \"/ChangeManagement/Profile/View/\");\r\n }\r\n\r\n export function edit() {\r\n gotoSelected(\"ChangeManagementGrid\", \"/ChangeManagement/Profile/Edit/\");\r\n }\r\n\r\n export function showCreate() {\r\n const createChangeManagementProfileDialog = new Areas.Dialogs.CreateChangeManagementProfileDialog(() => { });\r\n }\r\n\r\n export function insertRecord(e: any) {\r\n const form = $(\"#AccountForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n const newData: any = form.option(\"formData\");\r\n\r\n sendRequest(\"/ChangeManagement/List/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n}","namespace Areas.ChangeManagement.Profile{\r\n \"use strict\";\r\n\r\n\r\n //select Account\r\n function accountDialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#ChangeManagementProfileForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.AccountId = data.accountId;\r\n formData.AccountName = data.accountName;\r\n\r\n form.option(\"formData\", formData);\r\n\r\n }\r\n }\r\n\r\n export function selectAccount() {\r\n const form: any = $(\"#ChangeManagementProfileForm\").dxForm(\"instance\");\r\n\r\n const accountLookupDialog =\r\n new Areas.Dialogs.AccountDialog(accountDialogClosing());\r\n }\r\n\r\n\r\n //select Contract\r\n function contractDialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#ChangeManagementProfileForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.ContractId = data.contractId;\r\n formData.ContractName = data.contractName;\r\n formData.ContractAmount = data.contractAmount;\r\n formData.ContractType = data.contractType;\r\n\r\n form.option(\"formData\", formData);\r\n\r\n }\r\n }\r\n\r\n export function selectContract() {\r\n const form: any = $(\"#ChangeManagementProfileForm\").dxForm(\"instance\");\r\n\r\n const contractLookupDialog =\r\n new Areas.Dialogs.ContractDialog(contractDialogClosing());\r\n }\r\n\r\n\r\n //contact lookup\r\n export function selectContractor() {\r\n const form: any = $(\"#ChangeManagementProfileForm\").dxForm(\"instance\");\r\n const parameters = { accountId: form.option(\"AccountId\") };\r\n\r\n const accountTeamLookupDialog =\r\n new Areas.Dialogs.AccountTeam.AccountTeamContactLookupDialog(accountTeamDialogClosing(\"Contractor\"), parameters);\r\n }\r\n\r\n export function selectArchitect() {\r\n const form: any = $(\"#ChangeManagementProfileForm\").dxForm(\"instance\");\r\n const parameters = { accountId: form.option(\"AccountId\") };\r\n\r\n const accountTeamLookupDialog =\r\n new Areas.Dialogs.AccountTeam.AccountTeamContactLookupDialog(accountTeamDialogClosing(\"Architect\"), parameters);\r\n }\r\n\r\n export function selectCM() {\r\n const form: any = $(\"#ChangeManagementProfileForm\").dxForm(\"instance\");\r\n const parameters = { accountId: form.option(\"AccountId\") };\r\n\r\n const accountTeamLookupDialog =\r\n new Areas.Dialogs.AccountTeam.AccountTeamContactLookupDialog(accountTeamDialogClosing(\"CM\"), parameters);\r\n }\r\n\r\n export function selectCoordinator() {\r\n const form: any = $(\"#ChangeManagementProfileForm\").dxForm(\"instance\");\r\n const parameters = { accountId: form.option(\"AccountId\") };\r\n\r\n const accountTeamLookupDialog =\r\n new Areas.Dialogs.AccountTeam.AccountTeamContactLookupDialog(accountTeamDialogClosing(\"Coordinator\"), parameters);\r\n }\r\n\r\n function accountTeamDialogClosing(buttonId: string) {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#ChangeManagementProfileForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n if (buttonId === \"Contractor\") {\r\n formData.ContractorContactId = data.contactId;\r\n formData.ContractorContactName = data.displayName;\r\n formData.ContractorCompanyName = data.companyName;\r\n\r\n } else if (buttonId === \"CM\") {\r\n formData.CMContactId = data.contactId;\r\n formData.CMContactName = data.displayName;\r\n formData.CMCompanyName = data.companyName;\r\n\r\n } else if (buttonId === \"Coordinator\") {\r\n formData.CoordinatorContactId = data.contactId;\r\n formData.CoordinatorContactName = data.displayName;\r\n formData.CoordinatorCompanyName = data.companyName;\r\n\r\n } else if (buttonId === \"Architect\") {\r\n formData.ArchitectContactId = data.contactId;\r\n formData.ArchitectContactName = data.displayName;\r\n formData.ArchitectCompanyName = data.companyName;\r\n }\r\n\r\n form.option(\"formData\", formData);\r\n\r\n }\r\n } \r\n\r\n\r\n export function goToActions(projectInfoId: number) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n Areas.ChangeManagement.Profile.goToSharePoint();\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n Areas.ChangeManagement.Profile.goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n export function goToSharePoint() {\r\n const dataGrid = $(\"#ChangeManagementProfilesGrid\").dxDataGrid(\"instance\");\r\n var sharePointLink = dataGrid.option(\"sharePointLink\") as string;\r\n if (isNotEmpty(sharePointLink)) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n }\r\n\r\n export function goToPIFPAF(projectInfoId) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n}\r\n","namespace Areas.ChangeManagement.Edit {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"ChangeManagement\", \"Edit\",\r\n [\"Profile\", \"Summary\", \"Transaction\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n export function updateChangeManagementProfile() {\r\n const form = $(\"#ChangeManagementProfileForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const result: any = form.validate();\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/ChangeManagement/Profile/Put/${keyId}`, JSON.stringify(newData), \"PUT\", \r\n () => Areas.refreshGrid(\"ChangeManagementProfilesGrid\"));\r\n }\r\n }\r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/ChangeManagement/List/Active\";\r\n location.href = linkInfo;\r\n\r\n }\r\n}","namespace Areas.ChangeManagement.View {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"ChangeManagement\", \"View\",\r\n [\"Profile\", \"Summary\", \"Transaction\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n export function addGridButtons(e: any) {\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { class: \"dxButton lightblue\" },\r\n text: \"Create\",\r\n hint: \"Create\",\r\n type: \"default\",\r\n icon: \"plus\",\r\n onClick: () => Areas.ChangeManagement.List.showCreate()\r\n }, \"before\");\r\n }\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.changeManagementProfileId; },\r\n \"View\");\r\n }\r\n\r\n}","namespace Areas.ChangeManagement.Summary {\r\n \"use strict\";\r\n let changeManagementType: string;\r\n let changeManagementProfileId: number;\r\n let runQuery: boolean = false;\r\n\r\n let currentDetailGridRow: any;\r\n let detailAccountId: number;\r\n\r\n\r\n export function goToActions(projectInfoId: string) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n Areas.ChangeManagement.Summary.goToTransmittals(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n Areas.ChangeManagement.Summary.goToSharePoint(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 3) {\r\n Areas.ChangeManagement.Summary.goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 4) {\r\n Areas.ChangeManagement.Summary.goToReportChangeOrder(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 5) {\r\n Areas.ChangeManagement.Summary.goToReportRFIAll(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 6) {\r\n Areas.ChangeManagement.Summary.goToReportRFI(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 7) {\r\n Areas.ChangeManagement.Summary.goToReportPendingRequests(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 8) {\r\n Areas.ChangeManagement.Summary.goToReportTransaction(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n\r\n export function goToTransmittals(e: any) {\r\n const grid = $(\"#ChangeManagementSummaryGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = 0;\r\n if (isNotEmpty(row[0].accountId)) {\r\n id = row[0].accountId;\r\n }\r\n else {\r\n return;\r\n }\r\n\r\n let linkInfo = \"/Transmittal/Profile/View/\" + id;\r\n location.href = linkInfo;\r\n }\r\n }\r\n\r\n export function goToSharePoint(e: any) {\r\n const grid = $(\"#ChangeManagementProfilesGrid\").dxDataGrid(\"instance\");\r\n var sharePointLink = grid.option(\"sharePointLink\") as string;\r\n\r\n if (isNotEmpty(sharePointLink)) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n return\r\n }\r\n\r\n export function goToPIFPAF(projectInfoId) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n\r\n\r\n export function goToReportChangeOrder(e: any) {\r\n const grid = $(\"#ChangeManagementSummaryGrid\").dxDataGrid(\"instance\");\r\n const rows = grid.getSelectedRowsData();\r\n if (rows.length == 1) {\r\n clearSelectBoxSelection(e);\r\n var id = rows[0].changeManagementProfileId;\r\n const url = `/Reports/Report/GetReport840/${id}`;\r\n window.open(url);\r\n }\r\n }\r\n\r\n export function goToReportRFIAll(e: any) {\r\n const grid = $(\"#ChangeManagementSummaryGrid\").dxDataGrid(\"instance\");\r\n const rows = grid.getSelectedRowsData();\r\n if (rows.length == 1) {\r\n clearSelectBoxSelection(e);\r\n var id = rows[0].changeManagementProfileId;\r\n const url = `/Reports/Report/GetReport842/${id}`;\r\n window.open(url);\r\n }\r\n }\r\n\r\n export function goToReportRFI(e: any) {\r\n const grid = $(\"#ChangeManagementSummaryGrid\").dxDataGrid(\"instance\");\r\n const rows = grid.getSelectedRowsData();\r\n if (rows.length == 1) {\r\n clearSelectBoxSelection(e);\r\n var id = rows[0].changeManagementProfileId;\r\n const url = `/Reports/Report/GetReport843/${id}`;\r\n window.open(url);\r\n }\r\n }\r\n\r\n export function goToReportPendingRequests(e: any) {\r\n const grid = $(\"#ChangeManagementSummaryGrid\").dxDataGrid(\"instance\");\r\n const rows = grid.getSelectedRowsData();\r\n if (rows.length == 1) {\r\n clearSelectBoxSelection(e);\r\n var id = rows[0].changeManagementProfileId;\r\n const url = `/Reports/Report/GetReport841/${id}`;\r\n window.open(url);\r\n }\r\n }\r\n\r\n export function goToReportTransaction(e: any) {\r\n const grid = $(\"#SummaryDetailGrid\").dxDataGrid(\"instance\");\r\n const rows = grid.getSelectedRowsData();\r\n if (rows.length == 1) {\r\n clearSelectBoxSelection(e);\r\n var id = rows[0].changeManagementId;\r\n const url = `/Reports/Report/GetReport844/${id}`;\r\n window.open(url);\r\n }\r\n }\r\n\r\n export function getChangeManagementProfileId() {\r\n return changeManagementProfileId;\r\n }\r\n\r\n export function getChangementManagementType() {\r\n return changeManagementType;\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n\r\n export function onSummaryGridSelectionChanged(e: any) {\r\n const selectedRows = e.component.getSelectedRowsData();\r\n\r\n if (selectedRows.length === 1) {\r\n runQuery = true;\r\n changeManagementProfileId = selectedRows[0].changeManagementProfileId;\r\n changeManagementType = selectedRows[0].changeManagementType;\r\n Areas.refreshGrid(\"SummaryDetailGrid\");\r\n }\r\n }\r\n\r\n export function onSummaryContentReady(e: any) {\r\n if (!e.component.getSelectedRowKeys().length)\r\n e.component.selectRowsByIndexes(0);\r\n\r\n\r\n }\r\n\r\n export function detailGridSelectionChanged(e: any) {\r\n const dataGrid = e.component as DevExpress.ui.dxDataGrid;\r\n let dataId = dataGrid.getSelectedRowKeys()[0];\r\n let fileDesc = dataGrid.getSelectedRowsData()[0].changeManagementTitle;\r\n Areas.Attachment.updateAttachmentControls(dataId, \"CM\", fileDesc);\r\n\r\n }\r\n \r\n export function newChangeManagement(e: any) {\r\n const changeManagement = e.data;\r\n //setting this here because if there is no summary record, changemanagementprofileid does not get as \r\n //summary events do not fire\r\n changeManagementProfileId = e.component.option(\"ChangeManagementProfileId\");\r\n\r\n changeManagement.changeManagementProfileId = changeManagementProfileId;\r\n changeManagement.changeManagementTypeLk = changeManagementType;\r\n detailAccountId = e.component.option(\"AccountId\");\r\n }\r\n\r\n export function addGridButtons(e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n\r\n const disabled = !grid.option(\"IsEditable\");\r\n\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: \"escalation\" },\r\n text: \"Escalation\",\r\n hint: \"Create Escalation record\",\r\n type: \"default\",\r\n icon: \"add\",\r\n disabled: disabled,\r\n onClick: escalate\r\n }, \"before\");\r\n\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: \"escalation\" },\r\n text: \"Transmittal\",\r\n hint: \"Create Transmittal record\",\r\n type: \"default\",\r\n icon: \"add\",\r\n disabled: disabled,\r\n onClick: transmittal\r\n }, \"before\");\r\n\r\n }\r\n\r\n\r\n\r\n export function escalate() {\r\n const dataGrid = $(\"#SummaryDetailGrid\").dxDataGrid(\"instance\");\r\n const selectedRows = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRows.length) {\r\n const dialog = new Dialogs.CreateChangeManagementEscalationDialog(escalateDialogClosing, selectedRows);\r\n }\r\n\r\n }\r\n\r\n export function transmittal() {\r\n const dataGrid = $(\"#SummaryDetailGrid\").dxDataGrid(\"instance\");\r\n const selectedRows = dataGrid.getSelectedRowsData();\r\n const parameters = {\r\n projectName: dataGrid.option(\"ProjectName\"),\r\n projectNumber: dataGrid.option(\"ProjectNumber\"),\r\n accountId: dataGrid.option(\"AccountId\"),\r\n referenceTable: \"ChangeManagement\",\r\n data: selectedRows\r\n };\r\n\r\n if (selectedRows.length) {\r\n const dialog = new Dialogs.Transmittal.CreateTransmittalDialog((r, d) => { }, parameters);\r\n }\r\n }\r\n\r\n export function refreshSummaryGrid(e: any) {\r\n Areas.refreshGrid(\"ChangeManagementSummaryGrid\");\r\n }\r\n\r\n function escalateDialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n Areas.refreshGrid(\"SummaryDetailGrid\");\r\n Areas.refreshGrid(\"ChangeManagementSummaryGrid\");\r\n }\r\n\r\n\r\n export function editDetailGridContactTemplate(cellElement, cellInfo) {\r\n let contactIdDisplay = !cellInfo.data.toContactId ? \"Select...\" : cellInfo.data.toContactId;\r\n let htmlString = `
${contactIdDisplay}
`;\r\n let html = $.parseHTML(htmlString);\r\n\r\n cellElement.on(\"click\", selectDetailGridContact);\r\n cellElement.append(html);\r\n }\r\n\r\n export function editDetailGridFromContactTemplate(cellElement, cellInfo) {\r\n let contactIdDisplay = !cellInfo.data.fromContactId ? \"Select...\" : cellInfo.data.fromContactId;\r\n let htmlString = `
${contactIdDisplay}
`;\r\n let html = $.parseHTML(htmlString);\r\n\r\n cellElement.on(\"click\", selectDetailGridFromContact);\r\n cellElement.append(html);\r\n }\r\n\r\n export function selectDetailGridContact() {\r\n const parameters = { accountId: detailAccountId };\r\n const accountTeamContactLookupDialog =\r\n new Areas.Dialogs.AccountTeam.AccountTeamContactLookupDialog(\r\n dialogAccountTeamContactClosing, parameters);\r\n\r\n }\r\n\r\n export function selectDetailGridFromContact() {\r\n const parameters = { accountId: detailAccountId };\r\n const accountTeamContactLookupDialog =\r\n new Areas.Dialogs.AccountTeam.AccountTeamContactLookupDialog(\r\n dialogAccountTeamFromContactClosing, parameters);\r\n\r\n }\r\n\r\n function dialogAccountTeamContactClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const dataGrid = $(\"#SummaryDetailGrid\").dxDataGrid(\"instance\");\r\n\r\n var rowIndex = getDetailGridRowIndex(dataGrid);\r\n updateDetailContactGridRow(dataGrid, rowIndex, data);\r\n }\r\n\r\n function dialogAccountTeamFromContactClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const dataGrid = $(\"#SummaryDetailGrid\").dxDataGrid(\"instance\");\r\n\r\n var rowIndex = getDetailGridRowIndex(dataGrid);\r\n updateDetailFromContactGridRow(dataGrid, rowIndex, data);\r\n }\r\n\r\n function getDetailGridRowIndex(dataGrid: DevExpress.ui.dxDataGrid): number {\r\n let rowIndex = 0;\r\n\r\n if (currentDetailGridRow === undefined || currentDetailGridRow === null) {\r\n return rowIndex;\r\n } else if (currentDetailGridRow.changeManagementId) {\r\n rowIndex = dataGrid.getRowIndexByKey(currentDetailGridRow.changeManagementId);\r\n }\r\n\r\n return rowIndex;\r\n }\r\n\r\n function updateDetailContactGridRow(dataGrid: DevExpress.ui.dxDataGrid, rowIndex: number, data: any) {\r\n\r\n dataGrid.cellValue(rowIndex, \"toContactId\", data.contactId);\r\n dataGrid.cellValue(rowIndex, \"toContactName\", data.displayName);\r\n dataGrid.cellValue(rowIndex, \"toCompany\", data.companyName);\r\n\r\n currentDetailGridRow.toContactId = data.contactId;\r\n currentDetailGridRow.toContactName = data.displayName;\r\n currentDetailGridRow.toCompany = data.companyName;\r\n\r\n dataGrid.repaintRows([rowIndex]);\r\n }\r\n\r\n function updateDetailFromContactGridRow(dataGrid: DevExpress.ui.dxDataGrid, rowIndex: number, data: any) {\r\n\r\n dataGrid.cellValue(rowIndex, \"fromContactId\", data.contactId);\r\n dataGrid.cellValue(rowIndex, \"fromContactName\", data.displayName);\r\n dataGrid.cellValue(rowIndex, \"fromCompany\", data.companyName);\r\n\r\n currentDetailGridRow.fromContactId = data.contactId;\r\n currentDetailGridRow.fromContactName = data.displayName;\r\n currentDetailGridRow.fromCompany = data.companyName;\r\n\r\n dataGrid.repaintRows([rowIndex]);\r\n }\r\n\r\n export function onDetailGridEditingStart(e: any) {\r\n currentDetailGridRow = e.data;\r\n detailAccountId = e.component.option(\"AccountId\");\r\n }\r\n\r\n export function onPopupEditorPreparing(e) {\r\n if (e.dataField === \"changeManagementDescription\") {\r\n e.editorName = \"dxTextArea\";\r\n }\r\n }\r\n\r\n //detail popup support\r\n\r\n export function onDetailEditPopupShowing(e: any) {\r\n const items = e.component.option(\"toolbarItems\");\r\n\r\n const saveButtonIndex = 0;\r\n const cancelButtonIndex = 1;\r\n const saveButton = items[saveButtonIndex];\r\n const cancelButton = items[cancelButtonIndex];\r\n\r\n const grid: any = $(\"#SummaryDetailGrid\").dxDataGrid(\"instance\");\r\n\r\n cancelButton.options.elementAttr = { class: \"cancel\" };\r\n cancelButton.options.icon = \"revert\";\r\n cancelButton.options.onClick = (e) => {\r\n grid.cancelEditData();\r\n grid.setMode(Areas.GridMode.Normal);\r\n };\r\n\r\n saveButton.options.type = \"success\";\r\n saveButton.options.icon = \"save\";\r\n saveButton.options.onClick = (e) => {\r\n grid.saveEditData();\r\n grid.setMode(Areas.GridMode.Normal);\r\n }\r\n\r\n e.component.option(\"toolbarItems\", items);\r\n }\r\n\r\n}\r\n","namespace Areas.ChangeManagement.Transaction{\r\n \"use strict\";\r\n\r\n\r\n export function goToActions(projectInfoId: number) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n Areas.ChangeManagement.Transaction.goToSharePoint(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n Areas.ChangeManagement.Transaction.goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n export function goToSharePoint(e: any) {\r\n const grid = $(\"#ChangeManagementProfilesGrid\").dxDataGrid(\"instance\");\r\n var sharePointLink = grid.option(\"sharePointLink\") as string;\r\n\r\n if (isNotEmpty(sharePointLink)) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n return\r\n }\r\n\r\n export function goToPIFPAF(projectInfoId) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n}\r\n","namespace Areas.ConstructionManagement.Edit {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"ConstructionManagement\", \"View\",\r\n [\"ChangeManagement\", \"ContractorPay\", \"MeetingMinutes\", \"PunchList\", \"Submittals\", \"Transmittals\", \"Warranty\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n}\r\n","namespace Areas.ConstructionManagement.View {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameActionAndDifferentAreas(\"Active\",\r\n [\r\n \"ChangeManagement/List\",\r\n \"ContractorPay/List\",\r\n \"MeetingMinutes/List\",\r\n \"PunchList/List\",\r\n \"Submittals/List\",\r\n \"Transmittals/List\",\r\n \"Warranty/List\"\r\n ]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n}\r\n","namespace Areas.Contact.List {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"Contact\", [\"Active\", \"Inactive\"], \"List\");\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n\r\n export function view() {\r\n gotoSelected(\"ContactsGrid\", \"/Contact/Profile/View/\");\r\n }\r\n\r\n export function edit() {\r\n gotoSelected(\"ContactsGrid\", \"/Contact/Profile/Edit/\");\r\n }\r\n\r\n export function showCreate() {\r\n const createContactDialog = new Areas.Dialogs.CreateContactDialog(() => { });\r\n }\r\n \r\n\r\n export function insertRecord(e: any) {\r\n const form = $(\"#ContactForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n const newData: any = form.option(\"formData\");\r\n sendRequest(\"/Contact/Profile/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n\r\n export function getActiveInActive() {\r\n return $(\"#filter-type\").is(\":checked\");\r\n } \r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.contactId; },\r\n linkInfo);\r\n }\r\n}","namespace Areas.Contact.Profile {\r\n \"use strict\";\r\n\r\n let currentContactPhone: any;\r\n\r\n export function onNewContactPhoneRow(e: any) {\r\n currentContactPhone = e.data;\r\n currentContactPhone.contactId = e.component.option(\"ContactId\");\r\n }\r\n}","namespace Areas.Contact.Edit {\r\n \"use strict\";\r\n\r\n let tabItems = Areas.createTabsWithSameAction(\"Contact\", \"Edit\",\r\n [\"Profile\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n export function updateContact() {\r\n const form = $(\"#ContactForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const result: any = form.validate();\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/Contact/Profile/Put/${keyId}`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n\r\n export function addToManager() {\r\n const form = $(\"#ContactForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const result: any = form.validate();\r\n const contactId: any = form.option(\"KeyId\");\r\n\r\n const data = JSON.stringify(newData)\r\n\r\n if (result.isValid && contactId != null) {\r\n sendRequest(`/Contact/Profile/AddManagerRecord/`, data, \"POST\");\r\n }\r\n }\r\n\r\n export function updateContactManager() {\r\n const form = $(\"#ContactManagerForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const result: any = form.validate();\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/Contact/Profile/ManagerPut/${keyId}`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n}","namespace Areas.Contact.View {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Contact\", \"View\",\r\n [\"Profile\" ]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/Contact/List/Active\";\r\n location.href = linkInfo;\r\n\r\n }\r\n \r\n}","namespace Areas.ContractorPay.Detail{\r\n \"use strict\";\r\n\r\n\r\n export function goToActions(projectInfoId: number, sharePointLink: string) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n function goToSharePoint(sharePointLink: string) {\r\n if (sharePointLink != null) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n return\r\n }\r\n\r\n function goToPIFPAF(projectInfoId: number) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n\r\n}","namespace Areas.ContractorPay.EnterChangeOrder {\r\n \"use strict\";\r\n\r\n let contractScheduleValueId: number;\r\n let runQuery: boolean = false;\r\n\r\n export function onNewTransactionRow(e: any) {\r\n e.data.contractScheduleValueProfileId = e.component.option(\"ContractScheduleValueProfileId\");\r\n }\r\n\r\n\r\n export function forceSendingAllRowValues(options) {\r\n options.newData = $.extend({}, options.oldData, options.newData); \r\n }\r\n\r\n export function getContractScheduleValueId() {\r\n return contractScheduleValueId;\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n\r\n export function getDataForDocDate(e: any) {\r\n const grid = $(\"#EnterChangeOrderGrid\").dxDataGrid(\"instance\");\r\n\r\n let selectedRows = grid.getSelectedRowsData();\r\n\r\n if (selectedRows.length === 1) {\r\n runQuery = true;\r\n contractScheduleValueId = selectedRows[0].contractScheduleValueId;\r\n Areas.refreshGrid(\"EnterChangeOrderDetailGrid\");\r\n }\r\n }\r\n\r\n\r\n export function goToActions(projectInfoId: number, sharePointLink: string) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n function goToSharePoint(sharePointLink: string) {\r\n if (sharePointLink != null) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n return\r\n }\r\n\r\n function goToPIFPAF(projectInfoId: number) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n}","namespace Areas.ContractorPay.EnterPayment{\r\n \"use strict\";\r\n\r\n let contractScheduleValueId: number;\r\n let runQuery: boolean = false;\r\n\r\n export function onNewTransactionRow(e: any) {\r\n e.data.contractScheduleValueProfileId = e.component.option(\"ContractScheduleValueProfileId\");\r\n }\r\n\r\n\r\n export function forceSendingAllRowValues(options) {\r\n options.newData = $.extend({}, options.oldData, options.newData); \r\n }\r\n\r\n export function setCurrentBillingValue(rowData, value) {\r\n const grid = $(\"#EnterPaymentDetailGrid\").dxDataGrid(\"instance\");\r\n rowData.currentBilling = value;\r\n const retention = value * Number(grid.option(\"RetentionPercentage\"));\r\n rowData.currentRetention = retention;\r\n }\r\n\r\n export function getContractScheduleValueId() {\r\n return contractScheduleValueId;\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n\r\n export function getDataForDocDate(e: any) {\r\n const grid = $(\"#EnterPaymentGrid\").dxDataGrid(\"instance\");\r\n\r\n let selectedRows = grid.getSelectedRowsData();\r\n\r\n if (selectedRows.length === 1) {\r\n runQuery = true;\r\n contractScheduleValueId = selectedRows[0].contractScheduleValueId;\r\n Areas.refreshGrid(\"EnterPaymentDetailGrid\");\r\n }\r\n }\r\n\r\n\r\n export function goToActions(projectInfoId: number, sharePointLink: string) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n function goToSharePoint(sharePointLink: string) {\r\n if (sharePointLink != null) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n return\r\n }\r\n\r\n function goToPIFPAF(projectInfoId: number) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n}","namespace Areas.ContractorPay.Information {\r\n \"use strict\";\r\n\r\n\r\n export function loadInformationForm(e: any) {\r\n const form = $(\"#InformationForm\").dxForm(\"instance\");\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (keyId != null) { \r\n let formData = sendRequest(`/ContractorPay/Information/GetContractScheduleValueInfoByContractScheduleValueProfileIdQuery/${keyId}`,\r\n \"\",\r\n \"GET\");\r\n form.option(\"formData\", formData);\r\n Areas.refreshGrid(\"InformationForm\");\r\n }\r\n\r\n }\r\n\r\n export function updateContractorPayInformation() {\r\n const form = $(\"#ContractorPayInformationForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const result: any = form.validate();\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n\r\n if (result.isValid) {\r\n if (keyId == null || keyId == 0){\r\n sendRequest(`/ContractorPay/Information/Post/`, JSON.stringify(newData), \"POST\");\r\n }\r\n sendRequest(`/ContractorPay/Information/Put/${keyId}`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n export function goToActions(projectInfoId: number, sharePointLink: string) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n function goToSharePoint(sharePointLink: string) {\r\n if (sharePointLink != null) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n return\r\n }\r\n\r\n function goToPIFPAF(projectInfoId: number) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n}","namespace Areas.ContractorPay.List {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"ContractorPay\", [\"Active\", \"Completed\"], \"List\");\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n export function onGridSelectionChanged(e: any) {\r\n const rowSelected = e.selectedRowsData.length === 1;\r\n\r\n if (rowSelected) {\r\n enableButton(\"EditButton\");\r\n } else {\r\n disableButton(\"EditButton\");\r\n }\r\n }\r\n\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.contractScheduleValueProfileId; },\r\n \"View\");\r\n }\r\n\r\n export function view() {\r\n gotoSelected(\"ContractorPayGrid\", \"/ContractorPay/Profile/View/\");\r\n }\r\n\r\n export function edit() {\r\n gotoSelected(\"ContractorPayGrid\", \"/ContractorPay/Profile/Edit/\");\r\n }\r\n\r\n export function showCreate() {\r\n const createContractorPayProfileDialog = new Areas.Dialogs.CreateContractorPayProfileDialog(() => { });\r\n }\r\n\r\n export function insertRecord(e: any) {\r\n const form = $(\"#ContractorPayForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n const newData: any = form.option(\"formData\");\r\n\r\n sendRequest(\"/ContractorPay/List/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n}","namespace Areas.ContractorPay.Payment{\r\n \"use strict\";\r\n\r\n let contractScheduleValueId: number;\r\n let runQuery: boolean = false;\r\n\r\n export function getContractScheduleValueId() {\r\n return contractScheduleValueId;\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n\r\n export function onPaymentGridSelectionChanged(e: any) {\r\n\r\n //let rowData: any = e.selectedRowsData[0];\r\n\r\n //let rowForm: any = $(\"#PaymentForm\").dxForm(\"instance\");\r\n //rowForm.option(\"formData\", rowData);\r\n\r\n\r\n let selectedRows = e.component.getSelectedRowsData();\r\n\r\n if (selectedRows.length === 1) {\r\n runQuery = true;\r\n contractScheduleValueId = selectedRows[0].contractScheduleValueId;\r\n Areas.refreshGrid(\"PaymentDetailGrid\");\r\n }\r\n }\r\n\r\n\r\n export function goToActions(projectInfoId: number, sharePointLink: string) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n function goToSharePoint(sharePointLink: string) {\r\n if (sharePointLink != null) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n return\r\n }\r\n\r\n function goToPIFPAF(projectInfoId: number) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n\r\n\r\n}","namespace Areas.ContractorPay.Profile{\r\n \"use strict\";\r\n\r\n\r\n export function onProfileContentReady(e: any) {\r\n if (!e.component.getSelectedRowKeys().length)\r\n e.component.selectRowsByIndexes(0);\r\n\r\n }\r\n\r\n export function view() {\r\n gotoSelected(\"ContractorPayProfileForm\", \"/ContractorPay/Profile/View/\");\r\n }\r\n\r\n export function edit() {\r\n gotoSelected(\"ContractorPayProfileForm\", \"/ContractorPay/Profile/Edit/\");\r\n }\r\n\r\n\r\n //select Account\r\n function accountDialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#ContractorPayProfileForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.AccountId = data.accountId;\r\n formData.AccountName = data.accountName;\r\n\r\n form.option(\"formData\", formData);\r\n\r\n }\r\n }\r\n\r\n export function selectAccount() {\r\n const form: any = $(\"#ContractorPayProfileForm\").dxForm(\"instance\");\r\n\r\n const accountLookupDialog =\r\n new Areas.Dialogs.AccountDialog(accountDialogClosing());\r\n }\r\n\r\n\r\n //select Contract\r\n function contractDialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#ContractorPayProfileForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.ContractId = data.contractId;\r\n formData.ContractName = data.contractName;\r\n formData.ContractAmount = data.contractAmount;\r\n formData.ContractType = data.contractType;\r\n formData.ContractStartDate = data.executionDate;\r\n formData.ConstructionStartDate = data.ntpDate;\r\n formData.CompletionDate = data.adjustedEstimatedCompletionDate;\r\n formData.PACNumber = data.pacNumber;\r\n\r\n\r\n const completionDate = moment(data.adjustedEstimatedCompletionDate);\r\n const constructionDate = moment(data.ntpDate);\r\n\r\n formData.NumberOfDays = completionDate.diff(constructionDate, \"days\");\r\n\r\n form.option(\"formData\", formData);\r\n\r\n }\r\n }\r\n\r\n export function selectContract() {\r\n const form: any = $(\"#ContractorPayProfileForm\").dxForm(\"instance\");\r\n\r\n const contractLookupDialog =\r\n new Areas.Dialogs.ContractDialog(contractDialogClosing());\r\n }\r\n\r\n export function goToActions(sharePointLink: string, projectInfoId: number) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n export function goToSharePoint(sharePointLink) {\r\n if (sharePointLink != null) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n return\r\n }\r\n\r\n export function goToPIFPAF(projectInfoId) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n}","namespace Areas.ContractorPay.Edit {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"ContractorPay\", \"Edit\",\r\n [\"Profile\", \"Summary\", \"Transaction\", \"Detail\", \"Information\", \"Payment\", \"EnterPayment\", \"EnterChangeOrder\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n export function updateContractorPayProfile() {\r\n const form = $(\"#ContractorPayProfileForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const result: any = form.validate();\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/ContractorPay/Profile/Put/${keyId}`, JSON.stringify(newData), \"PUT\",\r\n () => Areas.refreshGrid(\"ContractorPayProfilesGrid\"));\r\n }\r\n }\r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/ContractorPay/List/Active\";\r\n location.href = linkInfo;\r\n\r\n }\r\n\r\n export function onNewTransactionDetailRow(e: any) {\r\n const id = e.component.option(\"ContractScheduleValueId\");\r\n e.data.contractScheduleValueId = id;\r\n }\r\n\r\n export function onNewTransactionRow(e: any) {\r\n const id = e.component.option(\"ContractScheduleValueProfileId\");\r\n e.data.contractScheduleValueProfileId = id;\r\n }\r\n}","namespace Areas.ContractorPay.View {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"ContractorPay\", \"View\",\r\n [\"Profile\", \"Summary\", \"Transaction\", \"Detail\", \"Information\", \"Payment\", \"EnterPayment\", \"EnterChangeOrder\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.contractScheduleValueProfileId; },\r\n \"View\");\r\n }\r\n\r\n export function addGridButtons(e: any) {\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { class: \"dxButton lightblue\" },\r\n text: \"Create\",\r\n hint: \"Create\",\r\n type: \"default\",\r\n icon: \"plus\",\r\n onClick: () => Areas.ContractorPay.List.showCreate()\r\n }, \"before\");\r\n\r\n }\r\n\r\n}","namespace Areas.ContractorPay.Summary{\r\n \"use strict\";\r\n\r\n\r\n export function goToActions(projectInfoId: number, sharePointLink: string) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n function goToSharePoint(sharePointLink: string) {\r\n if (sharePointLink != null) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n return\r\n }\r\n\r\n function goToPIFPAF(projectInfoId: number) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n\r\n}","namespace Areas.ContractorPay.Transaction {\r\n \"use strict\";\r\n\r\n let contractScheduleValueProfileId: number;\r\n let contractScheduleValueId: number;\r\n let sovAction: string;\r\n let sovNumber: string;\r\n //let sovDate: Date;\r\n let runQuery: boolean = false;\r\n\r\n let currentDetailRow: any;\r\n\r\n\r\n export function getContractScheduleValueId() {\r\n return contractScheduleValueId;\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n\r\n export function onTransactionGridSelectionChanged(e: any) {\r\n let selectedRows = e.component.getSelectedRowsData();\r\n if (selectedRows.length === 1) {\r\n runQuery = true;\r\n contractScheduleValueId = selectedRows[0].contractScheduleValueId;\r\n sovAction = selectedRows[0].contractScheduleValueActionLk;\r\n sovNumber = selectedRows[0].contractScheduleValueNumber;\r\n //sovDate = selectedRows[0].contractScheduleValueDate.getDate();\r\n Areas.refreshGrid(\"TransactionDetailGrid\");\r\n }\r\n }\r\n\r\n export function onDetailGridSelectionChanged(e: any) {\r\n let selectedRows = e.component.getSelectedRowsData();\r\n if (selectedRows.length === 1) {\r\n currentDetailRow = e.data;\r\n }\r\n }\r\n\r\n\r\n export function onNewTransactionRow(e: any) {\r\n e.data.contractScheduleValueProfileId = e.component.option(\"ContractScheduleValueProfileId\");\r\n }\r\n\r\n export function onNewTransactionDetailRow(e: any) {\r\n\r\n\r\n const dataGrid = $(\"#TransactionGrid\").dxDataGrid(\"instance\");\r\n let selectedRows = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRows.length === 1) {\r\n e.data.contractScheduleValueId = contractScheduleValueId;\r\n e.data.masterSovAction = sovAction;\r\n e.data.masterSovActionNumber = sovNumber;\r\n //e.data.contractScheduleValueDate = sovDate;\r\n } else {\r\n DevExpress.ui.notify(\"You need to select a row in Transaction Grid first!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function onTransactionDetailRowUpdated() {\r\n Areas.refreshGrid(\"TransactionGrid\");\r\n }\r\n\r\n //vendor lookup\r\n export function selectVendor() {\r\n const vendorDialog = new Areas.Dialogs.VendorDialog(dialogVendorClosing)\r\n }\r\n\r\n function dialogVendorClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const dataGrid = $(\"#TransactionDetailGrid\").dxDataGrid(\"instance\");\r\n\r\n var rowIndex = getItemRowIndex(dataGrid);\r\n updateVendorGridRow(dataGrid, rowIndex, data);\r\n }\r\n\r\n function getItemRowIndex(dataGrid: DevExpress.ui.dxDataGrid): number {\r\n let rowIndex = 0;\r\n\r\n if (currentDetailRow === undefined || currentDetailRow === null) {\r\n return rowIndex;\r\n } else if (currentDetailRow.contractScheduleValueDetailId) {\r\n rowIndex = dataGrid.getRowIndexByKey(currentDetailRow.contractScheduleValueDetailId);\r\n }\r\n\r\n return rowIndex;\r\n }\r\n\r\n function updateVendorGridRow(dataGrid: DevExpress.ui.dxDataGrid, rowIndex: number, data: any) {\r\n\r\n dataGrid.cellValue(rowIndex, \"vendorId\", data.vendorId);\r\n dataGrid.cellValue(rowIndex, \"vendorName\", data.vendorName);\r\n let gridRow = dataGrid.getSelectedRowsData();\r\n\r\n if (currentDetailRow === undefined || currentDetailRow === null) {\r\n currentDetailRow = dataGrid.getSelectedRowsData();\r\n }\r\n\r\n currentDetailRow.vendorId = data.vendorId;\r\n currentDetailRow.vendorName = data.vendorName;\r\n\r\n dataGrid.repaintRows([rowIndex]);\r\n }\r\n\r\n export function editVendorTemplate(cellElement, cellInfo) {\r\n let vendorDisplayName = !cellInfo.data.vendorName ? \"Select...\" : cellInfo.data.vendorName;\r\n let htmlString = `
${vendorDisplayName}
`;\r\n let html = $.parseHTML(htmlString);\r\n\r\n cellElement.on(\"click\", selectVendor);\r\n cellElement.append(html);\r\n }\r\n\r\n export function onEditingStart(e: any) {\r\n currentDetailRow = e.data;\r\n }\r\n\r\n\r\n export function goToActions(projectInfoId: number, sharePointLink: string) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n function goToSharePoint(sharePointLink: string) {\r\n if (sharePointLink != null) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n return\r\n }\r\n\r\n function goToPIFPAF(projectInfoId: number) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","namespace Areas.CustomQuery {\r\n \"use strict\";\r\n\r\n let formIsInitialized: boolean = false; \r\n\r\n interface ParameterDefinition {\r\n parameterName: string;\r\n parameterDisplayName: string;\r\n parameterType: string;\r\n parameterLookupDialog: string;\r\n propertyValueName: string;\r\n propertyDisplayName: string;\r\n }\r\n\r\n export function parameterFormIsInitialized(): boolean {\r\n return formIsInitialized;\r\n }\r\n\r\n export function createParameterForm(parameters: Array): void {\r\n if (formIsInitialized) {\r\n $(\"#ParameterForm\").dxForm(\"dispose\");\r\n formIsInitialized = false;\r\n }\r\n\r\n if (parameters.length == 0) {\r\n return;\r\n }\r\n\r\n createForm();\r\n createParameters(parameters);\r\n } \r\n\r\n function createForm(): void {\r\n $(\"#ParameterForm\").dxForm({\r\n minColWidth: 100,\r\n items: [{\r\n itemType: \"group\",\r\n caption: \" \",\r\n name: \"MainGroup\",\r\n colCount: 4,\r\n items: [{\r\n itemType: \"empty\", \r\n colSpan: 4\r\n }]\r\n }],\r\n onInitialized: function(e) { formIsInitialized = true; } \r\n });\r\n }\r\n\r\n function createParameters(parameters: Array): void {\r\n const form = $(\"#ParameterForm\").dxForm(\"instance\");\r\n const mainGroup = form.itemOption(\"MainGroup\");\r\n\r\n form.option(\"parameterList\", parameters.map(item => item.parameterName));\r\n parameters.forEach(parameter => addParameterToForm(mainGroup, parameter));\r\n form.repaint();\r\n }\r\n \r\n function addParameterToForm(mainGroup: any, parameter: ParameterDefinition): void {\r\n const isDialog = Areas.isNotEmpty(parameter.parameterLookupDialog);\r\n \r\n if (isDialog) {\r\n addDialogBox(mainGroup, parameter)\r\n } else {\r\n addInputBox(mainGroup, parameter);\r\n }\r\n }\r\n\r\n function addInputBox(mainGroup: any, parameter: ParameterDefinition): void {\r\n const item = getItem(parameter);\r\n mainGroup.items.push(item);\r\n }\r\n\r\n function getEditorType(parameterType: string): string {\r\n const editorTypeMap = {} as IDictionary;\r\n editorTypeMap[\"string\"] = \"dxTextBox\";\r\n editorTypeMap[\"integer\"] = \"dxNumberBox\";\r\n editorTypeMap[\"date\"] = \"dxDateBox\";\r\n\r\n return editorTypeMap[parameterType]; \r\n }\r\n \r\n function getItem(parameter: ParameterDefinition): any {\r\n return {\r\n label: {text: parameter.parameterDisplayName},\r\n dataField: parameter.parameterName,\r\n editorType: getEditorType(parameter.parameterType),\r\n colSpan:4\r\n };\r\n }\r\n\r\n function addDialogBox(mainGroup: any, parameter: ParameterDefinition): void {\r\n const item = {\r\n label: {text: parameter.parameterDisplayName},\r\n editorType: \"dxTextBox\",\r\n name: parameter.parameterName + \"Display\",\r\n disabled: true,\r\n colSpan:3\r\n };\r\n\r\n mainGroup.items.push(item); \r\n \r\n const button = {\r\n colSpan: 1,\r\n template: function(data, element) {\r\n var div = document.createElement(\"div\");\r\n element.get(0).appendChild(div); \r\n $(div).dxButton({\r\n text: \"Select\",\r\n type: \"success\", \r\n onClick: function(e: any) {\r\n createDialog(parameter);\r\n }\r\n })\r\n }\r\n };\r\n\r\n mainGroup.items.push(button); \r\n }\r\n \r\n function createDialog(parameter: ParameterDefinition): void {\r\n switch (parameter.parameterLookupDialog) {\r\n case \"Contract\":\r\n new Areas.Dialogs.ContractDialog(closeHandler(parameter)); \r\n break;\r\n\r\n case \"Contact\":\r\n new Areas.Dialogs.ContactDialog(closeHandler(parameter));\r\n break;\r\n \r\n default:\r\n break;\r\n }\r\n }\r\n\r\n function closeHandler(parameter: ParameterDefinition) {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n \r\n const form = $(\"#ParameterForm\").dxForm(\"instance\");\r\n const editor = form.getEditor(parameter.parameterName + \"Display\");\r\n editor.option(\"value\", data[parameter.propertyDisplayName]);\r\n\r\n const formData = form.option(\"formData\");\r\n formData[parameter.parameterName] = data[parameter.propertyValueName];\r\n }\r\n }\r\n}","namespace Areas.CustomQuery {\r\n \"user strict\";\r\n\r\n export function createGridResult(): void {\r\n $(\"#CustomQueryResultGrid\").dxDataGrid({\r\n dataSource: createDataSource(),\r\n remoteOperations: false,\r\n showBorders: true,\r\n allowColumnReordering: true,\r\n allowColumnResizing: true,\r\n columnAutoWidth: true,\r\n \r\n //showFilterRow: true,\r\n //useWidgetColumnResize: true,\r\n //showGroup: true,\r\n columnChooser: {\r\n mode: \"select\"\r\n },\r\n columnResizingMode: \"widget\",\r\n headerFilter: {\r\n visible: true\r\n },\r\n filterRow: {\r\n visible: true\r\n },\r\n groupPanel: {\r\n visible: true\r\n },\r\n columnFixing: { \r\n enabled: true\r\n },\r\n paging: {\r\n pageSize: 10\r\n },\r\n pager: {\r\n showPageSizeSelector: true,\r\n allowedPageSizes: [10, 50, 200, 1000],\r\n visible: true\r\n },\r\n onToolbarPreparing: Areas.addButtonsToToolbar([\"columnChooser\", \"export\"]),\r\n customizeColumns: customizeColumns, \r\n onInitialized: (e) => Areas.CustomQuery.setGridIsInitialized() \r\n }); \r\n }\r\n\r\n function createDataSource(): DevExpress.data.DataSource {\r\n const storeConfiguration = {\r\n \"loadParams\": { \r\n customQueryId: Areas.CustomQuery.getCustomQueryId(), \r\n runQuery: Areas.CustomQuery.canExecuteQuery(), \r\n parameters: getQueryParameters() \r\n },\r\n \"key\": \"\",\r\n \"loadUrl\": \"/CustomQuery/Main/GetResult\",\r\n \"insertUrl\": \"\",\r\n \"updateUrl\": \"\",\r\n \"deleteUrl\": \"\"\r\n };\r\n\r\n const store = DevExpress.data.AspNet.createStore(storeConfiguration);\r\n return new DevExpress.data.DataSource({ store: store }); \r\n } \r\n \r\n function getQueryParameters(): string {\r\n if (!Areas.CustomQuery.parameterFormIsInitialized()) {\r\n return null;\r\n }\r\n \r\n const form = $(\"#ParameterForm\").dxForm(\"instance\");\r\n const data = form.option(\"formData\");\r\n const parameterList: any = form.option(\"parameterList\");\r\n const parameterData = [];\r\n\r\n parameterList.forEach(parameterName => {\r\n const value = Areas.isEmpty(data[parameterName]) ? \"\" : data[parameterName];\r\n parameterData.push({name: parameterName, value: value});\r\n });\r\n\r\n return JSON.stringify(parameterData);\r\n }\r\n\r\n function customizeColumns(cols: any): void {\r\n const items = $(\"#CustomQueryResultGrid\").dxDataGrid(\"instance\").getDataSource().items();\r\n\r\n cols.forEach((col) => {\r\n const columnName = col.dataField as string;\r\n const columnValue = items[0][columnName];\r\n\r\n if(isAValidDate(columnValue, columnName)){\r\n col.dataType = \"date\";\r\n col.format = \"shortDateShortTime\";\r\n } \r\n })\r\n }\r\n \r\n function isAValidDate(columnValue: any, columnName: string): boolean {\r\n let isValid = false;\r\n\r\n if(Areas.isNotEmpty(columnValue)) {\r\n isValid = moment(columnValue, moment.ISO_8601, true).isValid();\r\n } else {\r\n const columnNameContainsDate = columnName.toLowerCase().indexOf(\"date\") > -1;\r\n\r\n if (columnNameContainsDate) {\r\n isValid = true;\r\n }\r\n } \r\n\r\n return isValid;\r\n }\r\n}\r\n","namespace Areas.CustomQuery {\r\n \"use strict\";\r\n\r\n let customQueryId: number;\r\n let canRunQuery: boolean = false;\r\n let gridIsInitialized: boolean = false; \r\n\r\n export function getCustomQueryId(): number {\r\n return customQueryId;\r\n }\r\n\r\n export function setGridIsInitialized(): void {\r\n gridIsInitialized = true;\r\n }\r\n\r\n export function canExecuteQuery(): boolean {\r\n return canRunQuery;\r\n }\r\n\r\n export function runQuery(e: any): void {\r\n if (gridIsInitialized) {\r\n $(\"#CustomQueryResultGrid\").dxDataGrid(\"dispose\");\r\n }\r\n\r\n createGridResult();\r\n }\r\n\r\n export function onCustomQuerySelected(e: any): void {\r\n const selectedRows = e.component.getSelectedRowsData();\r\n const rowSelected = selectedRows.length === 1;\r\n \r\n if (rowSelected) {\r\n canRunQuery = true;\r\n customQueryId = selectedRows[0].customQueryId;\r\n createParameterForm(selectedRows[0].customQueryFields);\r\n }\r\n else\r\n {\r\n canRunQuery = false;\r\n }\r\n }\r\n\r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class AccountDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"Account\", closeHandler);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n\r\n const dataGrid = $(`#${this.dialogName}LookupGrid`).dxDataGrid('instance');\r\n const selectedRows: any = dataGrid.getSelectedRowsData();\r\n \r\n if (selectedRows[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n var data = selectedRows[0];\r\n this.close(DialogResult.Ok, data);\r\n }\r\n } \r\n }\r\n \r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class AccountProfileImageDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"AccountProfileImage\", closeHandler, parameters,\r\n () => {\r\n const uploader = $(\"#fileUploaderControl\").dxFileUploader(\"instance\");\r\n let url: any = uploader.option(\"uploadUrl\");\r\n\r\n url = updateQueryStringParameter(url, \"accountId\", this.parameters.accountId);\r\n uploader.option(\"uploadUrl\", url);\r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n this.close(DialogResult.Ok, null);\r\n }\r\n\r\n }\r\n\r\n}","namespace Areas.Dialogs.AccountTeam {\r\n \"use strict\";\r\n\r\n let accountId: number;\r\n let runQuery: boolean = false;\r\n\r\n export function getAccountId() {\r\n return accountId;\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n\r\n export class AccountTeamContactLookupDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void,\r\n parameters: any = null,\r\n rootElementId: string = \"dialog\") {\r\n super(\"AccountTeamContactLookup\",\r\n closeHandler,\r\n parameters, () => {\r\n accountId = parameters.accountId;\r\n runQuery = true;\r\n Areas.refreshGrid(\"AccountTeamContactLookupGrid\");\r\n },\r\n rootElementId);\r\n\r\n }\r\n\r\n protected ok = (e: any) => {\r\n\r\n const dataGrid = $(`#${this.dialogName}Grid`).dxDataGrid('instance');\r\n const selectedRows: any = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRows[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n var data = selectedRows[0];\r\n this.close(DialogResult.Ok, data);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","namespace Areas.Dialogs.BudgetAccountCategory {\r\n \"use strict\";\r\n\r\n let accountId: number;\r\n let budgetId: number\r\n\r\n export function getAccountId() {\r\n return accountId;\r\n }\r\n\r\n export function getBudgetId() {\r\n return budgetId;\r\n }\r\n\r\n\r\n export function addGridButtons(e: any) {\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { class: \"dxButton lightblue\" },\r\n text: \"Clear Filter\",\r\n hint: \"Show All Categories\",\r\n type: \"default\",\r\n onClick: clearGridFilter\r\n }, \"before\");\r\n }\r\n\r\n function clearGridFilter() {\r\n const dataGrid = $(\"#BudgetAccountCategoryLinkGrid\").dxDataGrid(\"instance\");\r\n dataGrid.clearFilter();\r\n }\r\n\r\n export class BudgetAccountCategoryLinkDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void,\r\n parameters: any = null,\r\n rootElementId: string = \"dialog\") {\r\n super(\"BudgetAccountCategoryLink\",\r\n closeHandler,\r\n parameters, () => {\r\n accountId = parameters.accountId;\r\n budgetId = parameters.budgetId;\r\n Areas.refreshGrid(\"BudgetAccountCategoryLinkGrid\");\r\n const dataGrid = $(`#${this.dialogName}Grid`).dxDataGrid('instance');\r\n dataGrid.filter([\"ucopSubCodeLk\", \"=\", parameters.sub]);\r\n },\r\n rootElementId);\r\n\r\n }\r\n\r\n protected ok = (e: any) => {\r\n\r\n const dataGrid = $(`#${this.dialogName}Grid`).dxDataGrid('instance');\r\n const selectedRows: any = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRows[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n var data = selectedRows[0];\r\n this.close(DialogResult.Ok, data);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n\r\n export class CaanDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"Caan\", closeHandler);\r\n\r\n }\r\n\r\n protected ok = (e: any) => {\r\n\r\n const dataGrid = $(`#${this.dialogName}Grid`).dxDataGrid('instance');\r\n const selectedRows: any = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRows[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n var data = selectedRows[0];\r\n this.close(DialogResult.Ok, data);\r\n }\r\n }\r\n }\r\n\r\n}","namespace Areas.Dialogs.ChangePCategory {\r\n \"use strict\";\r\n\r\n let budgetId: number\r\n let reasonText: string;\r\n\r\n export function getRelinkBudgetId() {\r\n return budgetId;\r\n }\r\n\r\n export class ChangePCategoryDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void,\r\n parameters: any = null,\r\n rootElementId: string = \"dialog\") {\r\n super(\"ChangePCategory\",\r\n closeHandler,\r\n parameters, () => {\r\n budgetId = parameters.budgetId;\r\n Areas.refreshGrid(`${this.dialogName}Grid`);\r\n const dataGrid = $(`#${this.dialogName}Grid`).dxDataGrid('instance');\r\n\r\n },\r\n rootElementId);\r\n\r\n }\r\n\r\n protected ok = (e: any) => {\r\n\r\n const textBox: any = $(`#ReasonTextBox`).dxTextBox('instance');\r\n\r\n if (textBox.option(\"value\") != \"\") {\r\n reasonText = textBox.option(\"value\");\r\n } else {\r\n DevExpress.ui.notify(\"You must enter a reason\", \"warning\", 2000);\r\n return;\r\n }\r\n\r\n const dataGrid = $(`#${this.dialogName}Grid`).dxDataGrid('instance');\r\n const selectedRows: any = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRows[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n\r\n var data = \r\n {\r\n \"budgetAccountCategoryId\": selectedRows[0].budgetAccountCategoryId,\r\n \"changeReason\": reasonText\r\n };\r\n\r\n this.close(DialogResult.Ok, data);\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n}\r\n\r\n","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n\r\n export class ContactDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"Contact\", closeHandler);\r\n\r\n }\r\n\r\n protected ok = (e: any) => {\r\n\r\n const dataGrid = $(`#${this.dialogName}Grid`).dxDataGrid('instance');\r\n const selectedRows: any = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRows[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n var data = selectedRows[0];\r\n this.close(DialogResult.Ok, data);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class ContractDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"Contract\", closeHandler);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n\r\n const dataGrid = $(`#${this.dialogName}LookupGrid`).dxDataGrid('instance');\r\n const selectedRows: any = dataGrid.getSelectedRowsData();\r\n \r\n if (selectedRows[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n var data = selectedRows[0];\r\n this.close(DialogResult.Ok, data);\r\n }\r\n } \r\n }\r\n \r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class CopyBudgetDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"CopyBudget\", closeHandler, parameters, () => {\r\n const form = $(\"#CopyBudgetForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.AccountInfo = parameters.accountInfo;\r\n formData.budgetId = parameters.budgetId;\r\n formData.accountId = parameters.accountId;\r\n\r\n form.option(\"formData\", formData);\r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CopyBudgetForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n let newData: any = form.option(\"formData\");\r\n sendRequest(\"/Dialog/CopyBudget/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n }\r\n\r\n}\r\n","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class CreateAccountDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"CreateAccount\", closeHandler, parameters, () => {\r\n const form = $(\"#CreateAccountForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.ProjectId = parameters.ProjectId;\r\n formData.DSAReviewRequired = false;\r\n formData.IsAccountArchived = false;\r\n\r\n form.option(\"formData\", formData);\r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateAccountForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n \r\n\r\n sendRequest(\"/Dialog/CreateAccount/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n }\r\n\r\n}\r\n","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class CreateBudgetDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"CreateBudget\", closeHandler, parameters, () => {\r\n const form = $(\"#CreateBudgetForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.AccountId = parameters.AccountId;\r\n formData.Project = parameters.Project;\r\n \r\n form.option(\"formData\", formData);\r\n\r\n let addBC = parameters.AddBC;\r\n let disableGrid = true;\r\n if (addBC) {\r\n disableGrid = false;\r\n }\r\n\r\n const templateGrid = $(\"#CreateBudgetGrid\").dxDataGrid(\"instance\");\r\n templateGrid.option(\"disabled\", disableGrid);\r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateBudgetForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n const dataGrid = $(`#CreateBudgetGrid`).dxDataGrid('instance');\r\n if (dataGrid.option(\"disabled\") != true) {\r\n\r\n const selectedRows: any = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRows[0] == null) {\r\n DevExpress.ui.notify(\"Please make a template selection first!\", \"warning\", 2000);\r\n return;\r\n } else {\r\n let newData: any = form.option(\"formData\");\r\n newData.TemplateAccountId = selectedRows[0].accountId;\r\n\r\n\r\n sendRequest(\"/Dialog/CreateBudget/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n \r\n\r\n } else {\r\n\r\n if (result.isValid) {\r\n\r\n\r\n let newData: any = form.option(\"formData\");\r\n newData.TemplateAccountId = 0;\r\n sendRequest(\"/Dialog/CreateBudget/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n //account Lookup with status\r\n export function accountLookupItemWithStatus(itemData: any, itemIndex: any, itemElement: any) {\r\n itemElement.append(`
${itemData.projectCCNumberName}${itemData.accountStatusLk}
`);\r\n\r\n\r\n }\r\n\r\n export function onAccountSelectionChanged(e) {\r\n if (e.selectedItem != null) {\r\n\r\n let accountId = e.selectedItem.accountId;\r\n const method = \"GET\";\r\n let url = `/Budget/List/CheckForBudgetAccountCategoriesForAccountId`;\r\n\r\n const templateGrid = $(\"#CreateBudgetGrid\").dxDataGrid(\"instance\");\r\n\r\n $.get(`${url}/${accountId}`,\r\n (data) => {\r\n if (data.length > 0) {\r\n templateGrid.option(\"disabled\", true);\r\n }\r\n else {\r\n templateGrid.option(\"disabled\", false);\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n \r\n\r\n}\r\n","namespace Areas.Dialogs.CreateBudgetAccountCategory {\r\n \"use strict\";\r\n\r\n let accountId: number;\r\n let parentId: number;\r\n let groupLk: string;\r\n\r\n let baseURL = \"/Budget/Profile/PostBudgetAccountCategory\";\r\n\r\n export function getAccountID() {\r\n return accountId;\r\n }\r\n\r\n\r\n export class CreateBudgetAccountCategoryDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"CreateBudgetAccountCategory\",\r\n closeHandler,\r\n parameters,\r\n () => {\r\n\r\n const form = $(\"#CreateBudgetAccountCategoryForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n accountId = !parameters.data ? parameters.accountId : parameters.data.accountId;\r\n groupLk = !parameters.data ? parameters.budgetCategoryGroupLk : parameters.data.budgetCategoryGroupLk;\r\n formData.AccountId = accountId;\r\n formData.BudgetCategoryGroupLk = groupLk; //UCOPSubCode P0,P1-P9\r\n form.option(\"formData\", formData);\r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateBudgetAccountCategoryForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n const formData: any = form.option(\"formData\");\r\n let keyId = formData.BudgetAccountCategoryId;\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n\r\n sendRequest(`${baseURL}/${keyId}`,\r\n JSON.stringify(newData),\r\n \"POST\",\r\n () => {\r\n this.close(DialogResult.Ok, null);\r\n });\r\n\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n}\r\n","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class CreateChangeManagementEscalationDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"CreateChangeManagementEscalation\", closeHandler, parameters, () => {\r\n const form = $(\"#CreateChangeManagementEscalationForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.ChangeManagementAmount = parameters.reduce((amount, changeManagement, index, parameters) => {\r\n return amount += changeManagement.changeManagementAmount;\r\n }, 0);\r\n\r\n formData.NumberOfDays = parameters.reduce((numberOfDays, changeManagement, index, parameters) => {\r\n return numberOfDays += changeManagement.numberOfDays;\r\n }, 0)\r\n\r\n formData.ChangeManagementReasonLk = 'Escalation';\r\n\r\n const changeManagementType = parameters[0].changeManagementTypeLk;\r\n\r\n $.get(`/Dialog/CreateChangeManagementEscalation/GetEscalateToType/${changeManagementType}`,\r\n (data) => {\r\n formData.ChangeManagementTypeLk = data;\r\n form.option(\"formData\", formData);\r\n });\r\n\r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateChangeManagementEscalationForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n\r\n newData.ChangeManagementProfileId = this.parameters[0].changeManagementProfileId;\r\n newData.ChangeManagementIds = this.parameters.map(i => i.changeManagementId);\r\n\r\n sendRequest(\"/Dialog/CreateChangeManagementEscalation/Post\", JSON.stringify(newData), \"POST\", () => {\r\n this.close(DialogResult.Ok, null);\r\n });\r\n }\r\n }\r\n }\r\n\r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class CreateChangeManagementProfileDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"CreateChangeManagementProfile\", closeHandler);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateChangeManagementProfileForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n newData.ProfileStatusLk = \"Active\";\r\n newData.ProfileTypeLk = \"All\";\r\n\r\n sendRequest(\"/Dialog/CreateChangeManagementProfile/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n\r\n export class CreateConstructionManagementItemDialog extends Areas.BaseDialog {\r\n\r\n\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"CreateConstructionManagementItem\", closeHandler, parameters, () => {\r\n const form = $(\"#CreateConstructionManagementItemForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.AccountId = parameters.accountId;\r\n\r\n form.option(\"formData\", formData);\r\n });\r\n\r\n\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateConstructionManagementItemForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n\r\n sendRequest(\"/Dialog/CreateConstructionManagementItem/Post\", JSON.stringify(newData), \"POST\", () => {\r\n this.close(DialogResult.Ok, null);\r\n });\r\n }\r\n }\r\n\r\n }\r\n\r\n}\r\n","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class CreateContactDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"CreateContact\", closeHandler);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateContactForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n newData.DisplayName = newData.LastName + \", \" + newData.FirstName;\r\n\r\n sendRequest(\"/Dialog/CreateContact/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n }\r\n\r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class CreateContractorPayProfileDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"CreateContractorPayProfile\", closeHandler);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateContractorPayProfileForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n newData.ProfileStatusLk = \"Active\";\r\n newData.ProfileTypeLk = \"All\";\r\n\r\n sendRequest(\"/Dialog/CreateContractorPayProfile/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n //not used remove if we don't add Contract lookup to dialog\r\n //export function contractCPLookupItem(itemData: any, itemIndex: any, itemElement: any) {\r\n // itemElement.append(`
${itemData.contractName}
`);\r\n //}\r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class CreateFavoriteDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"CreateFavorite\", closeHandler, parameters, () => {\r\n const form = $(\"#CreateFavoriteForm\").dxForm(\"instance\");\r\n form.option(\"formData\",\r\n { FavoriteName: parameters.favoriteName, urlAddress: location.href });\r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateFavoriteForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n \r\n const newData: any = form.option(\"formData\");\r\n\r\n sendRequest(\"/Dialog/CreateFavorite/Post\", JSON.stringify(newData), \"POST\")\r\n .done(() => this.close(DialogResult.Ok,null));\r\n\r\n }\r\n }\r\n }\r\n\r\n}","namespace Areas.Dialogs.GLMemo {\r\n \"use strict\";\r\n\r\n let projectId: number;\r\n let baseURL: string;\r\n\r\n export function getMemoProjectID() {\r\n return projectId;\r\n }\r\n\r\n export function fillRelatedAccountFields(e) {\r\n\r\n var form: DevExpress.ui.dxForm = $('#CreateGLMemoForm').dxForm('instance');\r\n\r\n var faucc: DevExpress.ui.dxTextBox = form.getEditor('FAUCostCenter') as DevExpress.ui.dxTextBox;\r\n var fauaccount: DevExpress.ui.dxTextBox = form.getEditor('FAUAccount') as DevExpress.ui.dxTextBox;\r\n var projectid: DevExpress.ui.dxTextBox = form.getEditor('ProjectId') as DevExpress.ui.dxTextBox;\r\n\r\n if (e.selectedItem != null) {\r\n faucc.option(\"value\", e.selectedItem.accountNumber);\r\n fauaccount.option(\"value\", e.selectedItem.projectNumber);\r\n projectid.option(\"value\", e.selectedItem.projectId);\r\n projectId = e.selectedItem.projectId;\r\n } else {\r\n projectId = 0;\r\n projectid.option(\"value\",\"0\");\r\n faucc.option(\"value\", null);\r\n fauaccount.option(\"value\", null);\r\n }\r\n }\r\n\r\n export function fillRelatedGLTypeFields(e) {\r\n var form: DevExpress.ui.dxForm = $('#CreateGLMemoForm').dxForm('instance');\r\n\r\n var fauactivitytypelk: DevExpress.ui.dxTextBox = form.getEditor('GLActivityTypeLk') as DevExpress.ui.dxTextBox;\r\n\r\n if (e.selectedItem != null) {\r\n fauactivitytypelk.option(\"value\", e.selectedItem.glActivityTypeLk);\r\n }\r\n\r\n }\r\n\r\n export function fillRelatedFAUSubField(e) {\r\n var form: DevExpress.ui.dxForm = $('#CreateGLMemoForm').dxForm('instance');\r\n\r\n var fausub: DevExpress.ui.dxTextBox = form.getEditor('FAUSub') as DevExpress.ui.dxTextBox;\r\n\r\n if (e.selectedItem != null) {\r\n fausub.option(\"value\", e.selectedItem.ucopSubCodeLk);\r\n }\r\n\r\n }\r\n\r\n export function fillRelatedFAUFundField(e) {\r\n var form: DevExpress.ui.dxForm = $('#CreateGLMemoForm').dxForm('instance');\r\n\r\n var faufund: DevExpress.ui.dxTextBox = form.getEditor('FAUFund') as DevExpress.ui.dxTextBox;\r\n\r\n if (e.selectedItem != null) {\r\n faufund.option(\"value\", e.selectedItem.fundingSourceCode);\r\n }\r\n\r\n }\r\n\r\n\r\n export class CreateGLMemoDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"CreateGLMemo\", closeHandler, parameters, () => {\r\n const form = $(\"#CreateGLMemoForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n projectId = parameters.projectId;\r\n if (parameters.calledFrom === \"GL\") {\r\n baseURL = \"/Finance/Balances/PostGLMemo\";\r\n } else {\r\n baseURL = \"/Finance/Memos/PostGLMemo\";\r\n }\r\n formData.ProjectName = parameters.projectName;\r\n formData.ProjectNumber = parameters.projectNumber;\r\n formData.ProjectId = parameters.projectId;\r\n formData.FAULocation = 4;\r\n formData.FAUObject = \"\";\r\n formData.FAUAccount = parameters.projectNumber;\r\n formData.IsPending = false;\r\n formData.IsInternalEntry = true;\r\n formData.IsCapitalization = false;\r\n formData.IsUploadPending = false;\r\n formData.IsActive = true;\r\n //default these, user can edit\r\n formData.GLAmount = 0;\r\n formData.GLTypeEntryLk = \"ML\";\r\n formData.GLActivityTypeLk = \"Encumbrance\"\r\n\r\n form.option(\"formData\", formData);\r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateGLMemoForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n if (newData.GLAmount === null) {\r\n newData.GLAmount = 0;\r\n }\r\n\r\n sendRequest(`${baseURL}`, JSON.stringify(newData), \"POST\", () => {\r\n this.close(DialogResult.Ok, null);\r\n });\r\n\r\n }\r\n }\r\n }\r\n\r\n\r\n \r\n\r\n \r\n}\r\n","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class CreateMeetingMinutesProfileDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"CreateMeetingMinutesProfile\", closeHandler);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateMeetingMinutesProfileForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n newData.ProfileStatusLk = \"Active\";\r\n newData.ProfileTypeLk = \"All\";\r\n\r\n sendRequest(\"/Dialog/CreateMeetingMinutesProfile/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class CreateProgramDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"CreateProgram\", closeHandler);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateProgramForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n newData.ProgramStatusLk = \"Active\";\r\n\r\n sendRequest(\"/Dialog/CreateProgram/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n }\r\n\r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class CreateProjectDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"CreateProject\", closeHandler);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateProjectForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n newData.projectStatusLk = \"Active\";\r\n newData.IsMajorCIB = false;\r\n newData.IsFEMAFunds = false;\r\n newData.IsStateFunds = false;\r\n newData.IsPending = false;\r\n newData.IsNonChargingProject = false;\r\n newData.isInternalAdministrativeProject = false;\r\n\r\n sendRequest(\"/Dialog/CreateProject/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n }\r\n\r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class CreatePunchListProfileDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"CreatePunchListProfile\", closeHandler);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreatePunchListProfileForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n newData.ProfileStatusLk = \"Active\";\r\n newData.ProfileTypeLk = \"All\";\r\n\r\n sendRequest(\"/Dialog/CreatePunchListProfile/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n }\r\n\r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class CreateSubmittalTrackingProfileDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"CreateSubmittalTrackingProfile\", closeHandler);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateSubmittalTrackingProfileForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n newData.ProfileStatusLk = \"Active\";\r\n newData.ProfileTypeLk = \"All\";\r\n\r\n sendRequest(\"/Dialog/CreateSubmittalTrackingProfile/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n }\r\n\r\n\r\n}","namespace Areas.Dialogs.Transmittal {\r\n \"use strict\";\r\n\r\n export class CreateTransmittalDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"CreateTransmittal\", closeHandler, parameters, () => {\r\n const form = $(\"#CreateTransmittalForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.ProjectName = parameters.projectName;\r\n formData.ProjectNumber = parameters.projectNumber;\r\n formData.AccountId = parameters.accountId;\r\n formData.Description = \"Test\";\r\n formData.ReferenceTable = parameters.referenceTable; \r\n formData.TransmittalDate = new Date();\r\n\r\n form.option(\"formData\", formData);\r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateTransmittalForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n newData.RecordIds = this.parameters.data.map(i => i.changeManagementId);\r\n\r\n sendRequest(\"/Dialog/CreateTransmittal/Post\", JSON.stringify(newData), \"POST\", () => {\r\n this.close(DialogResult.Ok, null);\r\n });\r\n }\r\n }\r\n }\r\n\r\n export function selectFromContact() {\r\n const form = $(\"#CreateTransmittalForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n const parameters = { accountId: formData.AccountId };\r\n\r\n const accountTeamLookupDialog = \r\n new Areas.Dialogs.AccountTeam.AccountTeamContactLookupDialog(accountTeamDialogClosing(\"from\"), parameters, \"accountTeamDialog\");\r\n\r\n }\r\n\r\n export function selectToContact() {\r\n const form = $(\"#CreateTransmittalForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n const parameters = { accountId: formData.AccountId };\r\n\r\n const accountTeamLookupDialog = \r\n new Areas.Dialogs.AccountTeam.AccountTeamContactLookupDialog(accountTeamDialogClosing(\"to\"), parameters, \"accountTeamDialog\");\r\n\r\n } \r\n\r\n function accountTeamDialogClosing(fromOrTo: string) {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n \r\n const form = $(\"#CreateTransmittalForm\").dxForm(\"instance\");\r\n\r\n const formData = form.option(\"formData\");\r\n\r\n if (fromOrTo === \"from\") {\r\n formData.FromCompany = data.companyName;\r\n formData.FromContactName = data.displayName;\r\n formData.FromContactId = data.contactId; \r\n } else {\r\n formData.ToCompany = data.companyName;\r\n formData.ToContactName = data.displayName;\r\n formData.ToContactId = data.contactId; \r\n }\r\n\r\n form.option(\"formData\", formData);\r\n } \r\n \r\n } \r\n\r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class CreateTransmittalProfileDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"CreateTransmittalProfile\", closeHandler);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateTransmittalProfileForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n newData.ProfileStatusLk = \"Active\";\r\n newData.ProfileTypeLk = \"All\";\r\n\r\n sendRequest(\"/Dialog/CreateTransmittalProfile/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n }\r\n\r\n\r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class CreateVendorDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"CreateVendor\", closeHandler);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateVendorForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n newData.VendorName = newData.VendorName;\r\n\r\n sendRequest(\"/Dialog/CreateVendor/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n }\r\n\r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class CreateWarrantyProfileDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"CreateWarrantyProfile\", closeHandler);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateWarrantyProfileForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n newData.ProfileStatusLk = \"Active\";\r\n newData.ProfileTypeLk = \"All\";\r\n sendRequest(\"/Dialog/CreateWarrantyProfile/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n }\r\n\r\n\r\n}","namespace Areas.Dialogs.EditAccountCIBCost {\r\n \"use strict\";\r\n\r\n export class Calculations {\r\n readonly transform = new TransformData();\r\n readonly indices = new Indices();\r\n\r\n constructor() {\r\n }\r\n\r\n transformData(data: any) {\r\n return this.transform.execute(data, this.indices.keysAndDescriptions);\r\n }\r\n\r\n updateCalculations(grid: any, rowIndex: number, dataField: string, newValue: any) {\r\n if (rowIndex >= this.indices.p0Index && rowIndex <= this.indices.p8Index) {\r\n this.updateAllTotals(grid, dataField);\r\n this.updateRatios(grid, dataField);\r\n }\r\n\r\n if (rowIndex == this.indices.p9Index) {\r\n this.updatePWCTotalProjectAndGrandTotals(grid, dataField, newValue);\r\n this.updateRatios(grid, dataField);\r\n }\r\n\r\n if (rowIndex == this.indices.p3Index) {\r\n this.updateProjectAndGrandTotals(grid, dataField, newValue);\r\n }\r\n\r\n if (rowIndex == this.indices.p8iIndex) {\r\n this.updateGrandTotal(grid, dataField, newValue);\r\n }\r\n\r\n if (rowIndex == this.indices.proposedASFIndex \r\n || rowIndex == this.indices.currentASFIndex\r\n || rowIndex == this.indices.currentOGSFIndex \r\n || rowIndex == this.indices.p3Index) {\r\n this.updateRatios(grid, dataField);\r\n }\r\n }\r\n\r\n public updateAllTotals(grid: any, dataField: string) {\r\n const subtotalKeys = [\"P0\", \"P1\", \"P2\", \"P4\", \"P5\", \"P6\", \"P7\", \"P8\"];\r\n\r\n const subTotal = grid\r\n .getVisibleRows()\r\n .filter((x: any) => subtotalKeys.includes(x.key))\r\n .map((d: any)=> Number(d.data[dataField]))\r\n .reduce((total: number, current: number) => { return total + current; }, 0);\r\n\r\n grid.cellValue(this.indices.subTotalIndex, dataField, subTotal);\r\n\r\n const pwcTotal = subTotal + this.getCurrentP9Value(grid, dataField);\r\n grid.cellValue(this.indices.pwcTotalIndex, dataField, pwcTotal);\r\n\r\n const projectTotal = pwcTotal + this.getCurrentP3Value(grid, dataField);\r\n grid.cellValue(this.indices.projectTotalIndex, dataField, projectTotal);\r\n\r\n const grandTotal = projectTotal + this.getCurrentP8iValue(grid, dataField);\r\n grid.cellValue(this.indices.grandTotalIndex, dataField, grandTotal);\r\n }\r\n\r\n private updatePWCTotalProjectAndGrandTotals(grid: any, dataField: string, p9newValue: any) {\r\n const pwcTotal = this.getCurrentSubTotal(grid, dataField) + Number(p9newValue);\r\n grid.cellValue(this.indices.pwcTotalIndex, dataField, pwcTotal);\r\n\r\n const projectTotal = pwcTotal + this.getCurrentP3Value(grid, dataField);\r\n grid.cellValue(this.indices.projectTotalIndex, dataField, projectTotal);\r\n\r\n const grandTotal = projectTotal + this.getCurrentP8iValue(grid, dataField);\r\n grid.cellValue(this.indices.grandTotalIndex, dataField, grandTotal);\r\n }\r\n\r\n private updateProjectAndGrandTotals(grid: any, dataField: string, p3newValue: any) {\r\n const projectTotal = this.getCurrentPWCTotal(grid, dataField) + Number(p3newValue);\r\n grid.cellValue(this.indices.projectTotalIndex, dataField, projectTotal);\r\n\r\n const grandTotal = projectTotal + this.getCurrentP8iValue(grid, dataField);\r\n grid.cellValue(this.indices.grandTotalIndex, dataField, grandTotal);\r\n }\r\n\r\n private updateGrandTotal(grid: any, dataField: string, p8inewValue: any) {\r\n const grandTotal = this.getCurrentProjectTotal(grid, dataField) + Number(p8inewValue);\r\n grid.cellValue(this.indices.grandTotalIndex, dataField, grandTotal);\r\n }\r\n\r\n private updateRatios(grid: any, dataField: string) {\r\n const proposedASFValue = this.getCurrentProposedASFValue(grid, dataField);\r\n const currentASFValue = this.getCurrentCurrentASFValue(grid, dataField);\r\n const currentOGSFValue = this.getCurrentCurrentOGSFValue(grid, dataField);\r\n const currentP1Value = this.getCurrentP1Value(grid, dataField);\r\n const currentP2Value = this.getCurrentP2Value(grid, dataField);\r\n const currentP3Value = this.getCurrentP3Value(grid, dataField);\r\n const currentPWCTotalValue = this.getCurrentPWCTotal(grid, dataField);\r\n\r\n const aSFGSFRatio = currentOGSFValue != 0 ? proposedASFValue / currentOGSFValue : 0;\r\n const buildingCostGSFRatio = currentOGSFValue != 0 ? currentP1Value / currentOGSFValue : 0;\r\n const buildingCostASFRatio = currentASFValue != 0 ? currentP1Value / currentASFValue : 0;\r\n const pWCGSFRatio = currentOGSFValue != 0 ? currentPWCTotalValue / currentOGSFValue : 0;\r\n const pWCASFRatio = currentASFValue != 0 ? currentPWCTotalValue / currentASFValue : 0;\r\n const p2P3ASFRatio = currentASFValue != 0 ? (currentP2Value + currentP3Value) / currentASFValue : 0;\r\n\r\n grid.cellValue(this.indices.ASFGSFRatioIndex, dataField, aSFGSFRatio);\r\n grid.cellValue(this.indices.BuildingCostGSFRatioIndex, dataField, buildingCostGSFRatio);\r\n grid.cellValue(this.indices.BuildingCostASFRatioIndex, dataField, buildingCostASFRatio);\r\n grid.cellValue(this.indices.PWCGSFRatioIndex, dataField, pWCGSFRatio);\r\n grid.cellValue(this.indices.PWCASFRatioIndex, dataField, pWCASFRatio);\r\n grid.cellValue(this.indices.P2P3ASFRatioIndex, dataField, p2P3ASFRatio);\r\n }\r\n\r\n private getCurrentProposedASFValue(grid: any, dataField: string) : number {\r\n var value = grid.cellValue(this.indices.proposedASFIndex, dataField);\r\n return Number(value);\r\n }\r\n\r\n private getCurrentCurrentASFValue(grid: any, dataField: string) : number {\r\n var value = grid.cellValue(this.indices.currentASFIndex, dataField);\r\n return Number(value);\r\n }\r\n\r\n private getCurrentCurrentOGSFValue(grid: any, dataField: string) : number {\r\n var value = grid.cellValue(this.indices.currentOGSFIndex, dataField);\r\n return Number(value);\r\n }\r\n\r\n private getCurrentP1Value(grid: any, dataField: string) : number {\r\n var value = grid.cellValue(this.indices.p1Index, dataField);\r\n return Number(value);\r\n }\r\n\r\n private getCurrentP9Value(grid: any, dataField: string) : number {\r\n var value = grid.cellValue(this.indices.p9Index, dataField);\r\n return Number(value);\r\n }\r\n\r\n private getCurrentP2Value(grid: any, dataField: string) : number {\r\n var value = grid.cellValue(this.indices.p2Index, dataField);\r\n return Number(value);\r\n }\r\n\r\n private getCurrentP3Value(grid: any, dataField: string) : number {\r\n var value = grid.cellValue(this.indices.p3Index, dataField);\r\n return Number(value);\r\n }\r\n\r\n private getCurrentP8iValue(grid: any, dataField: string) : number {\r\n var value = grid.cellValue(this.indices.p8iIndex, dataField);\r\n return Number(value);\r\n }\r\n\r\n private getCurrentSubTotal(grid: any, dataField: string): number {\r\n const value = grid.cellValue(this.indices.subTotalIndex, dataField);\r\n return Number(value);\r\n }\r\n\r\n private getCurrentPWCTotal(grid: any, dataField: string): number {\r\n const value = grid.cellValue(this.indices.pwcTotalIndex, dataField);\r\n return Number(value);\r\n }\r\n\r\n private getCurrentProjectTotal(grid: any, dataField: string): number {\r\n const value = grid.cellValue(this.indices.projectTotalIndex, dataField);\r\n return Number(value);\r\n }\r\n\r\n }\r\n\r\n}\r\n","namespace Areas.Dialogs.EditAccountCIBCost {\r\n \"use strict\";\r\n\r\n export function preventTotalRowsEdit(e: any) {\r\n const keyValue = e.key;\r\n\r\n if (Keys.totalKeys.includes(keyValue) || Keys.analyticalKeys.includes(keyValue)) {\r\n e.cancel = true;\r\n }\r\n }\r\n\r\n export function highlightTotalRows(e: any) {\r\n const keyValue = e.key;\r\n\r\n if (e.rowType == \"data\") {\r\n if (Keys.totalKeys.includes(keyValue)) {\r\n e.rowElement[0].class = \"\";\r\n e.rowElement[0].style.backgroundColor = \"#F3FAFF\";\r\n e.rowElement[0].style.fontWeight = \"bold\";\r\n } else if (Keys.analyticalKeys.includes(keyValue)) {\r\n e.rowElement[0].class = \"\";\r\n e.rowElement[0].style.backgroundColor = \"#FFFFF4\";\r\n }\r\n }\r\n }\r\n\r\n export function preventRowSelection(e: any) {\r\n e.component.deselectRows(e.selectedRowKeys);\r\n }\r\n\r\n export function formatCell(e: any) {\r\n const fieldData = e.value;\r\n let fieldHtml = \"\";\r\n\r\n if (e.rowType == \"data\") {\r\n if (e.column.dataField == \"description\"\r\n && (Keys.totalKeys.includes(e.key)) || Keys.analyticalKeys.includes(e.key)) {\r\n const $cellElement = e.cellElement[0];\r\n $cellElement.style.paddingLeft = \"20px\";\r\n }\r\n\r\n if (e.column.dataField != \"description\" && Keys.totalKeys.includes(e.key)) {\r\n let total = DevExpress.localization.formatNumber(fieldData, { type: \"$ #,##0\" });\r\n\r\n fieldHtml = `
${total}
`;\r\n e.cellElement.html(fieldHtml);\r\n }\r\n\r\n if (e.column.dataField != \"description\" && e.key == Keys.ASFGSFRatioKey) {\r\n let percent = DevExpress.localization.formatNumber(fieldData, { type: \"##0.00 %\" });\r\n\r\n fieldHtml = `
${percent}
`;\r\n e.cellElement.html(fieldHtml);\r\n }\r\n\r\n if (e.column.dataField != \"description\"\r\n && e.key != Keys.ASFGSFRatioKey\r\n && Keys.analyticalKeys.includes(e.key)) {\r\n let persqft = DevExpress.localization.formatNumber(fieldData, { type: \"$ #,##0 per sf\" });\r\n\r\n fieldHtml = `
${persqft}
`;\r\n e.cellElement.html(fieldHtml);\r\n }\r\n }\r\n }\r\n\r\n export function calculateForTotalColumn(data: any) {\r\n let result = \"\";\r\n\r\n if (data.key != \"Name\" && !Keys.analyticalKeys.includes(data.key)) {\r\n result = data.c1 + data.c2 + data.c3;\r\n };\r\n\r\n if (Keys.analyticalKeys.includes(data.key)) {\r\n result = calculateTotalRatios(data.key);\r\n };\r\n\r\n return result;\r\n }\r\n\r\n function getTotalForKey(data:any, key:string) {\r\n return data.filter((x: any) => x.key == key).map((d: any)=> d.c1 + d.c2 + d.c3)[0];\r\n }\r\n\r\n function calculateTotalRatios(key: string): string {\r\n let data = getData();\r\n let result = \"\";\r\n\r\n const totalCurrentOGSFValue = getTotalForKey(data, Keys.currentOGSFKey);\r\n const totalProposedASFValue = getTotalForKey(data, Keys.proposedASFKey);\r\n const totalCurrentASFValue = getTotalForKey(data, Keys.currentASFKey);\r\n const totalP1Value = getTotalForKey(data, Keys.p1Key);\r\n const totalP2Value = getTotalForKey(data, Keys.p2Key);\r\n const totalP3Value = getTotalForKey(data, Keys.p3Key);\r\n const totalPWCTotalValue = getTotalForKey(data, Keys.pwcTotalKey);\r\n const format = DevExpress.localization.formatNumber;\r\n const squareFeetRatioFormat = \"$ #,##0 per sf\";\r\n\r\n switch (key) {\r\n case Keys.ASFGSFRatioKey:\r\n result = format(\r\n totalCurrentOGSFValue != 0 ? totalProposedASFValue / totalCurrentOGSFValue : 0,\r\n { type: '##0.00 %' });\r\n break;\r\n\r\n case Keys.BuildingCostGSFRatioKey:\r\n result = format(\r\n totalCurrentOGSFValue != 0 ? totalP1Value / totalCurrentOGSFValue : 0,\r\n { type: squareFeetRatioFormat });\r\n break;\r\n\r\n case Keys.BuildingCostASFRatioKey:\r\n result = format(\r\n totalCurrentASFValue != 0 ? totalP1Value / totalCurrentASFValue : 0,\r\n { type: squareFeetRatioFormat });\r\n break;\r\n\r\n case Keys.PWCGSFRatioKey:\r\n result = format(\r\n totalCurrentOGSFValue != 0 ? totalPWCTotalValue / totalCurrentOGSFValue : 0,\r\n { type: squareFeetRatioFormat });\r\n break;\r\n\r\n case Keys.PWCASFRatioKey:\r\n result = format(\r\n totalCurrentASFValue != 0 ? totalPWCTotalValue / totalCurrentASFValue : 0,\r\n { type: squareFeetRatioFormat });\r\n break;\r\n\r\n case Keys.P2P3ASFRatioKey:\r\n result = format(\r\n totalCurrentASFValue != 0 ? (totalP2Value + totalP3Value) / totalCurrentASFValue : 0,\r\n { type: squareFeetRatioFormat });\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n function getData() {\r\n const grid = $(\"#EditAccountDIBCostGrid\").dxDataGrid(\"instance\");\r\n let data;\r\n\r\n if (grid.hasEditData()) {\r\n //if data has been changed we need to get the data\r\n // from the grid's visible rows method.\r\n data = grid.getVisibleRows().map((x: any) => x.data);\r\n } else {\r\n // otherwise we need the data that was originally\r\n // assigned to the grid.\r\n data = grid.getDataSource().items();\r\n }\r\n return data;\r\n }\r\n\r\n export function editCellTemplate(_: any, cellInfo: any) {\r\n if (cellInfo.data.key == \"Name\") {\r\n return createTextBoxEditor(cellInfo);\r\n } else {\r\n return createNumberBoxEditor(cellInfo);\r\n }\r\n }\r\n\r\n function createTextBoxEditor(cellInfo: any) {\r\n return $('
').dxTextBox({\r\n value: cellInfo.value,\r\n onValueChanged(args) {\r\n cellInfo.setValue(args.value);\r\n enableOKButton();\r\n }\r\n });\r\n }\r\n\r\n function createNumberBoxEditor(cellInfo: any) {\r\n return $('
').dxNumberBox({\r\n value: cellInfo.value,\r\n onKeyDown: function (e:any) {\r\n if (e.event.keyCode === 38 /* down arrow */ || e.event.keyCode === 40 /* up arrow */)\r\n e.event.stopPropagation();\r\n },\r\n onValueChanged(args) {\r\n cellInfo.setValue(args.value);\r\n enableOKButton();\r\n\r\n const grid = cellInfo.component;\r\n const rowIndex = cellInfo.row.rowIndex;\r\n const dataField = cellInfo.column.dataField;\r\n const newValue = args.value;\r\n\r\n calculations.updateCalculations(grid, rowIndex, dataField, newValue);\r\n }\r\n });\r\n }\r\n\r\n function enableOKButton() {\r\n const okButton = $(\"#EditAccountCIBCostOkDialog\").dxButton(\"instance\");\r\n if (okButton.option(\"disabled\") === true) {\r\n okButton.option(\"disabled\", false);\r\n }\r\n }\r\n\r\n}\r\n","namespace Areas.Dialogs.EditAccountCIBCost {\r\n \"use strict\";\r\n\r\n export class Keys {\r\n static readonly p0Key = \"P0\";\r\n static readonly p1Key = \"P1\";\r\n static readonly p2Key = \"P2\";\r\n static readonly p3Key = \"P3\";\r\n static readonly p8Key = \"P8\";\r\n static readonly p8iKey = \"P8i\";\r\n static readonly p9Key = \"P9\";\r\n\r\n static readonly subTotalKey = \"SubTotal\";\r\n static readonly pwcTotalKey = \"PWCTotal\";\r\n static readonly projectTotalKey = \"ProjectTotal\";\r\n static readonly grandTotalKey = \"GrandTotal\";\r\n static readonly proposedASFKey = \"ProposedASF\";\r\n static readonly currentASFKey = \"CurrentASF\";\r\n static readonly currentOGSFKey = \"CurrentOGSF\";\r\n\r\n static readonly ASFGSFRatioKey = \"ASFGSFRatio\";\r\n static readonly BuildingCostGSFRatioKey = \"BuildingCostGSFRatio\";\r\n static readonly BuildingCostASFRatioKey = \"BuildingCostASFRatio\";\r\n static readonly PWCGSFRatioKey = \"PWCGSFRatio\";\r\n static readonly PWCASFRatioKey = \"PWCASFRatio\";\r\n static readonly P2P3ASFRatioKey = \"P2P3ASFRatio\";\r\n\r\n static readonly totalKeys = [this.subTotalKey, this.pwcTotalKey, this.projectTotalKey, this.grandTotalKey];\r\n static readonly analyticalKeys = [this.ASFGSFRatioKey, this.BuildingCostGSFRatioKey,\r\n this.BuildingCostASFRatioKey, this.PWCGSFRatioKey, this.PWCASFRatioKey, this.P2P3ASFRatioKey];\r\n\r\n static readonly calculatedKeys = this.totalKeys.concat(this.analyticalKeys);\r\n\r\n constructor() {\r\n }\r\n\r\n }\r\n\r\n export class Indices {\r\n readonly keysAndDescriptions = {} as IDictionary;\r\n\r\n readonly p0Index: number;\r\n readonly p1Index: number;\r\n readonly p2Index: number;\r\n readonly p3Index: number;\r\n readonly p8Index: number;\r\n readonly p8iIndex: number;\r\n readonly p9Index: number;\r\n readonly subTotalIndex: number;\r\n readonly pwcTotalIndex: number;\r\n readonly projectTotalIndex: number;\r\n readonly grandTotalIndex: number;\r\n readonly proposedASFIndex: number;\r\n readonly currentASFIndex: number;\r\n readonly currentOGSFIndex: number;\r\n readonly ASFGSFRatioIndex: number;\r\n readonly BuildingCostGSFRatioIndex: number;\r\n readonly BuildingCostASFRatioIndex: number;\r\n readonly PWCGSFRatioIndex: number;\r\n readonly PWCASFRatioIndex: number;\r\n readonly P2P3ASFRatioIndex: number;\r\n\r\n constructor() {\r\n this.buildKeysAndDescriptions();\r\n\r\n this.p0Index = this.getIndex(Keys.p0Key);\r\n this.p1Index = this.getIndex(Keys.p1Key);\r\n this.p2Index = this.getIndex(Keys.p2Key);\r\n this.p3Index = this.getIndex(Keys.p3Key);\r\n this.p8Index = this.getIndex(Keys.p8Key);\r\n this.p8iIndex = this.getIndex(Keys.p8iKey);\r\n this.p9Index = this.getIndex(Keys.p9Key);\r\n\r\n this.subTotalIndex = this.getIndex(Keys.subTotalKey);\r\n this.pwcTotalIndex = this.getIndex(Keys.pwcTotalKey);\r\n this.projectTotalIndex = this.getIndex(Keys.projectTotalKey);\r\n this.grandTotalIndex = this.getIndex(Keys.grandTotalKey);\r\n\r\n this.proposedASFIndex = this.getIndex(Keys.proposedASFKey);\r\n this.currentASFIndex = this.getIndex(Keys.currentASFKey);\r\n this.currentOGSFIndex = this.getIndex(Keys.currentOGSFKey);\r\n\r\n this.ASFGSFRatioIndex = this.getIndex(Keys.ASFGSFRatioKey);\r\n this.BuildingCostGSFRatioIndex = this.getIndex(Keys.BuildingCostGSFRatioKey);\r\n this.BuildingCostASFRatioIndex = this.getIndex(Keys.BuildingCostASFRatioKey);\r\n this.PWCGSFRatioIndex = this.getIndex(Keys.PWCGSFRatioKey);\r\n this.PWCASFRatioIndex = this.getIndex(Keys.PWCASFRatioKey);\r\n this.P2P3ASFRatioIndex = this.getIndex(Keys.P2P3ASFRatioKey);\r\n }\r\n\r\n private buildKeysAndDescriptions() {\r\n this.keysAndDescriptions[\"Name\"] = \"Name\";\r\n this.keysAndDescriptions[\"P0\"] = \"P0-Site Clearance\";\r\n this.keysAndDescriptions[\"P1\"] = \"P1-Building\";\r\n this.keysAndDescriptions[\"P2\"] = \"P2-Exterior Utilities\";\r\n this.keysAndDescriptions[\"P4\"] = \"P4-Site Development\";\r\n this.keysAndDescriptions[\"P5\"] = \"P5-A&E Fees\";\r\n this.keysAndDescriptions[\"P6\"] = \"P6-Campus Administration\";\r\n this.keysAndDescriptions[\"P7\"] = \"P7-Survey, Tests, Plans, Specifications\";\r\n this.keysAndDescriptions[\"P8\"] = \"P8-Special Items (excluding IDC)\";\r\n this.keysAndDescriptions[\"SubTotal\"] = \"Subtotal\";\r\n this.keysAndDescriptions[\"P9\"] = \"P9-Contingency\";\r\n this.keysAndDescriptions[\"PWCTotal\"] = \"Total (P-W-C)\";\r\n this.keysAndDescriptions[\"P3\"] = \"P3-Group 2 & 3 Equipment\";\r\n this.keysAndDescriptions[\"ProjectTotal\"] = \"Project Total\";\r\n this.keysAndDescriptions[\"P8i\"] = \"P8i-Interest\";\r\n this.keysAndDescriptions[\"GrandTotal\"] = \"Grand Total\";\r\n this.keysAndDescriptions[\"ProposedASF\"] = \"Proposed ASF\";\r\n this.keysAndDescriptions[\"CurrentASF\"] = \"Current ASF\";\r\n this.keysAndDescriptions[\"CurrentOGSF\"] = \"Current OGSF\";\r\n this.keysAndDescriptions[\"ASFGSFRatio\"] = \"Efficiency Ratio (ASF/GSF)\";\r\n this.keysAndDescriptions[\"BuildingCostGSFRatio\"] = \"Building Cost/GSF\";\r\n this.keysAndDescriptions[\"BuildingCostASFRatio\"] = \"Building Cost/ASF\";\r\n this.keysAndDescriptions[\"PWCGSFRatio\"] = \"P-W-C Cost/GSF\";\r\n this.keysAndDescriptions[\"PWCASFRatio\"] = \"P-W-C Cost/ASF\";\r\n this.keysAndDescriptions[\"P2P3ASFRatio\"] = \"Group 2 & 3 Cost/ASF\";\r\n }\r\n\r\n private getIndex(searchKey: string) : number {\r\n let index = 0;\r\n\r\n for (let key in this.keysAndDescriptions) {\r\n if (searchKey == key) {\r\n return index;\r\n } else {\r\n index++;\r\n }\r\n }\r\n }\r\n }\r\n\r\n export class TransformData {\r\n\r\n constructor() {\r\n \r\n }\r\n\r\n execute(data:any, keysAndDescriptions: IDictionary) {\r\n const transformedData = [];\r\n\r\n for (let key in keysAndDescriptions) {\r\n let description = keysAndDescriptions[key];\r\n\r\n if (!Keys.analyticalKeys.includes(key)) {\r\n transformedData.push(\r\n {\r\n \"key\": key,\r\n \"description\": description,\r\n \"c1\": data[\"c1\" + key],\r\n \"c2\": data[\"c2\" + key],\r\n \"c3\": data[\"c3\" + key]\r\n }\r\n );\r\n } else {\r\n transformedData.push(this.calculateAnalytic(data, key, description));\r\n };\r\n }\r\n\r\n return transformedData;\r\n }\r\n\r\n calculateAnalytic(data: any, key: string, description: string) {\r\n let c1Value = 0;\r\n let c2Value = 0;\r\n let c3Value = 0;\r\n let result: any = {};\r\n\r\n switch (key) {\r\n case Keys.ASFGSFRatioKey:\r\n c1Value = this.getASFGSFRatio(data, \"c1\");\r\n c2Value = this.getASFGSFRatio(data, \"c2\");\r\n c3Value = this.getASFGSFRatio(data, \"c3\");\r\n break;\r\n\r\n case Keys.BuildingCostGSFRatioKey:\r\n c1Value = this.getBuildingCostGSFRatio(data, \"c1\");\r\n c2Value = this.getBuildingCostGSFRatio(data, \"c2\");\r\n c3Value = this.getBuildingCostGSFRatio(data, \"c3\");\r\n break;\r\n\r\n case Keys.BuildingCostASFRatioKey:\r\n c1Value = this.getBuildingCostASFRatio(data, \"c1\");\r\n c2Value = this.getBuildingCostASFRatio(data, \"c2\");\r\n c3Value = this.getBuildingCostASFRatio(data, \"c3\");\r\n break;\r\n\r\n case Keys.PWCGSFRatioKey:\r\n c1Value = this.getPWCGSFRatio(data, \"c1\");\r\n c2Value = this.getPWCGSFRatio(data, \"c2\");\r\n c3Value = this.getPWCGSFRatio(data, \"c3\");\r\n break;\r\n\r\n case Keys.PWCASFRatioKey:\r\n c1Value = this.getPWCASFRatio(data, \"c1\");\r\n c2Value = this.getPWCASFRatio(data, \"c2\");\r\n c3Value = this.getPWCASFRatio(data, \"c3\");\r\n break;\r\n\r\n case Keys.P2P3ASFRatioKey:\r\n c1Value = this.getP2P3ASFRatio(data, \"c1\");\r\n c2Value = this.getP2P3ASFRatio(data, \"c2\");\r\n c3Value = this.getP2P3ASFRatio(data, \"c3\");\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n result.key = key;\r\n result.description = description;\r\n result.c1 = c1Value;\r\n result.c2 = c2Value;\r\n result.c3 = c3Value;\r\n\r\n return result;\r\n }\r\n\r\n getASFGSFRatio(data: any, prefix: string) {\r\n return this.getRatio(data, Keys.proposedASFKey, Keys.currentOGSFKey, prefix);\r\n }\r\n\r\n getBuildingCostGSFRatio(data: any, prefix: string) {\r\n return this.getRatio(data, Keys.p1Key, Keys.currentOGSFKey, prefix);\r\n }\r\n\r\n getBuildingCostASFRatio(data: any, prefix: string) {\r\n return this.getRatio(data, Keys.p1Key, Keys.currentASFKey, prefix);\r\n }\r\n\r\n getPWCGSFRatio(data: any, prefix: string) {\r\n return this.getRatio(data, Keys.pwcTotalKey, Keys.currentOGSFKey, prefix);\r\n }\r\n\r\n getPWCASFRatio(data: any, prefix: string) {\r\n return this.getRatio(data, Keys.pwcTotalKey, Keys.currentASFKey, prefix);\r\n }\r\n\r\n getP2P3ASFRatio(data: any, prefix: string) {\r\n return this.getRatio2(data, [Keys.p2Key, Keys.p3Key], Keys.currentASFKey, prefix);\r\n }\r\n\r\n getRatio(data: any, numerator: string, denominator:string, prefix: string) {\r\n return data[prefix+denominator] != 0 ? (data[prefix+numerator]) / data[prefix+denominator] : 0;\r\n }\r\n\r\n getRatio2(data: any, numeratorArray: string[], denominator: any, prefix: string) {\r\n let num = numeratorArray\r\n .map(key => Number(data[prefix+key]))\r\n .reduce((total, current) => { return total + current; }, 0);\r\n\r\n return data[prefix+denominator] != 0 ? num / data[prefix+denominator] : 0;\r\n }\r\n }\r\n}\r\n","namespace Areas.Dialogs.EditAccountCIBCost {\r\n \"use strict\";\r\n\r\n export const calculations = new Calculations();\r\n\r\n let baseURL = \"/Dialog/EditAccountCIBCost\";\r\n let accountCIBId: any;\r\n\r\n export class EditAccountCIBCostDialog extends Areas.BaseDialog {\r\n protected grid: any;\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"EditAccountCIBCost\",\r\n closeHandler,\r\n parameters,\r\n () => {\r\n this.grid = $(\"#EditAccountDIBCostGrid\").dxDataGrid(\"instance\");\r\n let url = `${baseURL}/AccountCIBCost`;\r\n accountCIBId = parameters.accountCIBId;\r\n\r\n $.get(`${url}/${accountCIBId}`,\r\n (data) => {\r\n this.grid.option(\"dataSource\", calculations.transformData(data));\r\n });\r\n }\r\n );\r\n }\r\n\r\n protected ok = (e: any) => {\r\n if (this.grid.hasEditData()) {\r\n // delaying call to get data from grid\r\n // otherwise if user edits a cell value and immediately clicks\r\n // on the OK (save) button without exiting the cell\r\n // the data in the grid may not be updated yet\r\n setTimeout(() => {\r\n this.saveModifiedData();\r\n }, 500);\r\n } else {\r\n this.close(DialogResult.Ok, null);\r\n }\r\n }\r\n\r\n saveModifiedData() {\r\n let modifiedData = this.getModifiedData();\r\n\r\n sendRequest(`${baseURL}/AccountCIBCostPost/${accountCIBId}`,\r\n JSON.stringify(modifiedData),\r\n \"POST\",\r\n () => {\r\n this.close(DialogResult.Ok, null);\r\n });\r\n }\r\n\r\n getModifiedData() {\r\n const budgets = [\"c1\", \"c2\", \"c3\"];\r\n const computedKeys = [\"SubTotal\", \"PWCTotal\", \"ProjectTotal\", \"GrandTotal\"];\r\n\r\n let modifiedData = {\r\n \"accountCIBId\": accountCIBId\r\n };\r\n\r\n const modifiedRows = this.grid.getVisibleRows().filter((x: any) => x.modified && !computedKeys.includes(x.key));\r\n\r\n modifiedRows.forEach((modifiedRow: any) => {\r\n let modifiedValues = modifiedRow.modifiedValues;\r\n let data = modifiedRow.data;\r\n\r\n for (let index = 0; index < modifiedValues.length; index++) {\r\n const modifiedValue = modifiedValues[index];\r\n\r\n if (typeof modifiedValue !== 'undefined') {\r\n const budget = budgets[index-1];\r\n const propertyName = budget + data.key;\r\n\r\n modifiedData[propertyName] = modifiedValue;\r\n }\r\n }\r\n });\r\n\r\n return modifiedData;\r\n }\r\n }\r\n}\r\n","namespace Areas.Dialogs.EditBudgetAccountCategory {\r\n \"use strict\";\r\n\r\n let accountId: number;\r\n let parentId: number;\r\n let groupLk: string;\r\n\r\n let baseURL = \"/Budget/Profile/PutBudgetAccountCategory\";\r\n\r\n export function getAccountID() {\r\n return accountId;\r\n }\r\n\r\n\r\n export class EditBudgetAccountCategoryDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"EditBudgetAccountCategory\",\r\n closeHandler,\r\n parameters,\r\n () => {\r\n\r\n const form = $(\"#EditBudgetAccountCategoryForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n accountId = parameters.data.accountId;\r\n\r\n formData.BudgetAccountCategoryId = parameters.data.budgetAccountCategoryId;\r\n formData.BudgetAccountCategoryParentId = parameters.data.budgetAccountCategoryParentId;\r\n formData.BudgetCategoryGroupLk = parameters.data.budgetCategoryGroupLk; //UCOPSubCode\r\n formData.BudgetCategoryLk = parameters.data.budgetCategoryLk;\r\n formData.BudgetCategoryModified = parameters.data.budgetCategoryModified\r\n formData.AllowSubCategory = parameters.data.allowSubCategory;\r\n form.option(\"formData\", formData);\r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#EditBudgetAccountCategoryForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n const formData: any = form.option(\"formData\");\r\n let keyId = formData.BudgetAccountCategoryId;\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n \r\n sendRequest(`${baseURL}/${keyId}`,\r\n JSON.stringify(newData),\r\n \"PUT\",\r\n () => {\r\n this.close(DialogResult.Ok, null);\r\n });\r\n\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n}","namespace Areas.Dialogs.GLMemo {\r\n \"use strict\";\r\n\r\n let projectId: number;\r\n let baseURL: string;\r\n\r\n\r\n export function getEditMemoProjectID() {\r\n return projectId;\r\n }\r\n\r\n\r\n export function fillEditRelatedAccountFields(e) {\r\n\r\n var form: DevExpress.ui.dxForm = $('#EditGLMemoForm').dxForm('instance');\r\n\r\n var faucc: DevExpress.ui.dxTextBox = form.getEditor('FAUCostCenter') as DevExpress.ui.dxTextBox;\r\n var fauaccount: DevExpress.ui.dxTextBox = form.getEditor('FAUAccount') as DevExpress.ui.dxTextBox;\r\n var projectid: DevExpress.ui.dxTextBox = form.getEditor('ProjectId') as DevExpress.ui.dxTextBox;\r\n\r\n if (e.selectedItem != null) {\r\n faucc.option(\"value\", e.selectedItem.accountNumber);\r\n fauaccount.option(\"value\", e.selectedItem.projectNumber);\r\n projectid.option(\"value\", e.selectedItem.projectId);\r\n projectId = e.selectedItem.projectId; \r\n\r\n\r\n }\r\n\r\n }\r\n\r\n export function fillEditRelatedGLTypeFields(e) {\r\n\r\n var form: DevExpress.ui.dxForm = $('#EditGLMemoForm').dxForm('instance');\r\n\r\n var fauactivitytypelk: DevExpress.ui.dxTextBox = form.getEditor('GLActivityTypeLk') as DevExpress.ui.dxTextBox;\r\n\r\n if (e.selectedItem != null) {\r\n fauactivitytypelk.option(\"value\", e.selectedItem.glActivityTypeLk);\r\n }\r\n\r\n }\r\n\r\n export function fillEditRelatedFAUSubField(e) {\r\n var form: DevExpress.ui.dxForm = $('#EditGLMemoForm').dxForm('instance');\r\n\r\n var fausub: DevExpress.ui.dxTextBox = form.getEditor('FAUSub') as DevExpress.ui.dxTextBox;\r\n \r\n if (e.selectedItem != null) {\r\n fausub.option(\"value\", e.selectedItem.ucopSubCodeLk);\r\n }\r\n\r\n }\r\n\r\n export function fillEditRelatedFAUFundField(e) {\r\n var form: DevExpress.ui.dxForm = $('#EditGLMemoForm').dxForm('instance');\r\n\r\n var faufund: DevExpress.ui.dxTextBox = form.getEditor('FAUFund') as DevExpress.ui.dxTextBox;\r\n\r\n if (e.selectedItem != null) {\r\n faufund.option(\"value\", e.selectedItem.fundingSourceCode);\r\n }\r\n\r\n }\r\n\r\n\r\n export class EditGLMemoDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"EditGLMemo\", closeHandler, parameters, () => {\r\n\r\n const form = $(\"#EditGLMemoForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n if (parameters.calledFrom === \"GL\") {\r\n baseURL = \"/Finance/Balances/PutGLMemo\";\r\n } else {\r\n baseURL = \"/Finance/Memos/PutGLMemo\";\r\n }\r\n\r\n projectId = parameters.data.projectId;\r\n formData.GLDataId = parameters.data.glDataId;\r\n formData.AccountId = parameters.data.accountId;\r\n formData.FundingSourceId = parameters.data.fundingSourceId;\r\n formData.GLLinearMonthId = parameters.data.glLinearMonthId;\r\n formData.UCOPSubCodeLk = parameters.data.ucopSubCodeLk;\r\n formData.GLPostingDate = parameters.data.glPostingDate;\r\n formData.ProjectName = parameters.data.projectName;\r\n formData.ProjectNumber = parameters.data.projectNumber;\r\n formData.ProjectId = parameters.data.projectId;\r\n formData.FAULocation = parameters.data.fauLocation;\r\n formData.FAUObject = parameters.data.fauObject;\r\n formData.FAUAccount = parameters.data.fauAccount;\r\n formData.FAUCostCenter = parameters.data.fauCostCenter;\r\n formData.GLTypeEntryLk = parameters.data.glTypeEntryLk;\r\n formData.GLActivityTypeLk = parameters.data.glActivityTypeLk;\r\n formData.GLAmount = parameters.data.glAmount;\r\n formData.GLReference = parameters.data.glReference;\r\n formData.GLSummary = parameters.data.glSummary;\r\n formData.FAUDescription = parameters.data.fauDescription;\r\n formData.FAUReference = parameters.data.fauReference;\r\n formData.FAUFund = parameters.data.fauFund;\r\n formData.FAUSub = parameters.data.fauSub;\r\n formData.IsActive = parameters.data.isActive;\r\n\r\n form.option(\"formData\", formData);\r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#EditGLMemoForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n const formData: any = form.option(\"formData\");\r\n let keyId = formData.GLDataId;\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n if (newData.GLAmount === null) {\r\n newData.GLAmount = 0;\r\n }\r\n\r\n sendRequest(`${baseURL}/${keyId}`, JSON.stringify(newData), \"PUT\", () => {\r\n this.close(DialogResult.Ok, null);\r\n });\r\n\r\n \r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\n","namespace Areas.Dialogs.FilterBuilder {\r\n \"use strict\";\r\n\r\n export class FilterBuilderDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any = null) {\r\n super(\"FilterBuilder\", closeHandler, parameters, () => {\r\n const filterBuilder = $(`#${this.dialogName}Control`).dxFilterBuilder({\r\n fields: parameters.fields,\r\n value: parameters.filterValue\r\n });\r\n \r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n\r\n const filterBuilder = $(`#${this.dialogName}Control`).dxFilterBuilder('instance');\r\n const data = {\r\n gridName: this.parameters.gridName,\r\n filter: filterBuilder.option(\"value\")\r\n };\r\n\r\n this.close(DialogResult.Ok, data);\r\n }\r\n } \r\n\r\n }\r\n","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class FundingSourceDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"FundingSource\", closeHandler);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n\r\n const dataGrid = $(`#${this.dialogName}LookupGrid`).dxDataGrid('instance');\r\n const selectedRows: any = dataGrid.getSelectedRowsData();\r\n \r\n if (selectedRows[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n var data = selectedRows[0];\r\n this.close(DialogResult.Ok, data);\r\n }\r\n } \r\n }\r\n \r\n}","namespace Areas.Dialogs.Project {\r\n \"use strict\";\r\n\r\n export class ProjectDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"Project\", closeHandler);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n\r\n const dataGrid = $(`#${this.dialogName}Grid`).dxDataGrid('instance');\r\n const selectedRows: any = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRows[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n var data = selectedRows[0];\r\n this.close(DialogResult.Ok, data);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","namespace Areas.Dialogs.Project {\r\n \"use strict\";\r\n\r\n let projectId: number;\r\n\r\n export function getProjectId() {\r\n return projectId;\r\n }\r\n\r\n\r\n\r\n export class ProjectLookupDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void,\r\n parameters: any = null,\r\n rootElementId: string = \"dialog\") {\r\n super(\"ProjectLookup\",\r\n closeHandler,\r\n parameters, () => {\r\n projectId = parameters.projectId;\r\n Areas.refreshGrid(\"ProjectLookupGrid\");\r\n },\r\n rootElementId);\r\n\r\n }\r\n\r\n protected ok = (e: any) => {\r\n\r\n const dataGrid = $(`#${this.dialogName}Grid`).dxDataGrid('instance');\r\n const selectedRows: any = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRows[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n var data = selectedRows[0];\r\n this.close(DialogResult.Ok, data);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","namespace Areas.Dialogs.BudgetAccountCategory {\r\n \"use strict\";\r\n\r\n let accountId: number;\r\n let budgetItemLinkId: number;\r\n let glDataId: number;\r\n let originalAmount: number;\r\n let reasonText: string;\r\n\r\n export function getId() {\r\n return budgetItemLinkId;\r\n }\r\n\r\n export function getAccountID() {\r\n return accountId;\r\n }\r\n\r\n export function onNewGridRow(e: any) {\r\n e.data.correctiveReferenceId = budgetItemLinkId;\r\n e.data.accountId = accountId;\r\n e.data.glDataId = glDataId;\r\n e.data.isReclass = true;\r\n }\r\n\r\n export class ReclassifyLinkDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"ReclassifyLink\",\r\n closeHandler,\r\n parameters,\r\n () => {\r\n\r\n const form = $(\"#ReclassifyLinkForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.OriginalBudgetCategoryLk = parameters.data.budgetCategoryLk;\r\n formData.OriginalBudgetAccountCategoryId = parameters.data.budgetAccountCategoryId;\r\n formData.OriginalAmount = parameters.data.budgetItemLinkAmount;\r\n formData.Difference = 0;\r\n formData.BudgetItemLinkId = parameters.data.budgetItemLinkId;\r\n\r\n accountId = parameters.data.accountId;\r\n\r\n budgetItemLinkId = parameters.data.budgetItemLinkId;\r\n glDataId = parameters.data.glDataId;\r\n originalAmount = parameters.data.budgetItemLinkAmount;\r\n\r\n\r\n form.option(\"formData\", formData);\r\n });\r\n }\r\n\r\n protected cancel = (e: any) => {\r\n const dataGrid = $(\"#ReclassifyLinkGrid\").dxDataGrid(\"instance\");\r\n let dataIds: string;\r\n let rc = dataGrid.totalCount();\r\n \r\n for (var i = 0; i < rc; i++) {\r\n \r\n if (i == 0) {\r\n dataIds = dataGrid.getKeyByRowIndex(i).toString();\r\n } else {\r\n dataIds = dataIds + ',' + dataGrid.getKeyByRowIndex(i).toString();\r\n }\r\n \r\n }\r\n \r\n\r\n var data = JSON.stringify(\r\n {\r\n \"DataIds\": dataIds\r\n \r\n });\r\n\r\n this.close(DialogResult.Cancel, data);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#ReclassifyLinkForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n const formData: any = form.option(\"formData\");\r\n\r\n const textBox: any = $(`#ReasonTextBox`).dxTextBox('instance');\r\n\r\n if (textBox.option(\"value\") != \"\") {\r\n reasonText = textBox.option(\"value\");\r\n } else {\r\n DevExpress.ui.notify(\"You must enter a reason\", \"warning\", 2000);\r\n return;\r\n }\r\n\r\n const dataGrid = $(\"#ReclassifyLinkGrid\").dxDataGrid(\"instance\");\r\n let amountTotal = dataGrid.getTotalSummaryValue(\"amountTotal\")\r\n if (amountTotal != originalAmount) {\r\n DevExpress.ui.notify(\"New Lines must Total Original Amount\", \"warning\", 2000);\r\n return\r\n }\r\n let dataIds: string;\r\n let rc = dataGrid.totalCount();\r\n\r\n for (var i = 0; i < rc; i++) {\r\n\r\n if (i == 0) {\r\n dataIds = dataGrid.getKeyByRowIndex(i).toString();\r\n } else {\r\n dataIds = dataIds + ',' + dataGrid.getKeyByRowIndex(i).toString();\r\n }\r\n\r\n }\r\n\r\n let isSplit = false;\r\n if (rc > 1) {\r\n isSplit = true;\r\n }\r\n\r\n var data = JSON.stringify(\r\n {\r\n \"DataIds\": dataIds,\r\n \"ReasonText\": reasonText,\r\n \"OriginalId\": formData.BudgetItemLinkId,\r\n \"IsSplit\": isSplit\r\n });\r\n\r\n this.close(DialogResult.Ok, data);\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n}\r\n","namespace Areas.Dialogs.BudgetAccountCategory {\r\n \"use strict\";\r\n\r\n\r\n let accountId: number;\r\n let budgetId: number\r\n\r\n export function getRelinkBudgetId() {\r\n return budgetId;\r\n }\r\n\r\n export class RelinkSameSubDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void,\r\n parameters: any = null,\r\n rootElementId: string = \"dialog\") {\r\n super(\"RelinkSameSub\",\r\n closeHandler,\r\n parameters, () => {\r\n accountId = parameters.accountId;\r\n budgetId = parameters.budgetId;\r\n Areas.refreshGrid(\"RelinkSameSubGrid\");\r\n const dataGrid = $(`#${this.dialogName}Grid`).dxDataGrid('instance');\r\n dataGrid.filter([\"ucopSubCodeLk\", \"=\", parameters.sub]);\r\n\r\n },\r\n rootElementId);\r\n\r\n }\r\n\r\n protected ok = (e: any) => {\r\n\r\n const dataGrid = $(`#${this.dialogName}Grid`).dxDataGrid('instance');\r\n const selectedRows: any = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRows[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n var data = selectedRows[0];\r\n this.close(DialogResult.Ok, data);\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n}\r\n\r\n","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n let projectId: number;\r\n let employeeId: null;\r\n let timePeriodText: string;\r\n let ccIds: string = null;\r\n let workOrderIds: string = null;\r\n\r\n let runCCQuery: boolean = false;\r\n let runJobCodeQuery: boolean = false;\r\n\r\n\r\n export function getReportProjectID() {\r\n return projectId;\r\n }\r\n\r\n export function canExecuteCostCenterQuery() {\r\n return runCCQuery;\r\n }\r\n\r\n export function canExecuteJobCodeQuery() {\r\n return runJobCodeQuery;\r\n }\r\n\r\n export function set123ProjectIdFromSelection(e) {\r\n if (e.selectedItem == null) {\r\n projectId = null;\r\n } else {\r\n\r\n projectId = e.selectedItem.projectId;\r\n runCCQuery = true;\r\n runJobCodeQuery = true;\r\n }\r\n \r\n Areas.refreshGrid(\"CCGrid\");\r\n Areas.refreshGrid(\"JobGrid\");\r\n }\r\n\r\n export function getStartEndDateFromTimePeriod123(e) {\r\n const form = $(\"#Report123DialogForm\").dxForm(\"instance\");\r\n const reportData: any = form.option(\"formData\");\r\n\r\n if (e.selectedItem == null) {\r\n timePeriodText = null\r\n reportData.startDate = null;\r\n reportData.endDate = null;\r\n form.option(\"formData\", reportData);\r\n \r\n } else {\r\n\r\n timePeriodText = e.selectedItem.id;\r\n\r\n $.get(`/Dialog/Report123Dialog/GetStartEndDates/${timePeriodText}`,\r\n (data) => {\r\n\r\n reportData.startDate = data.beginDate;\r\n reportData.endDate = data.endDate;\r\n form.option(\"formData\", reportData);\r\n\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n export function setEmployeeIdFromSelection(e) {\r\n if (e.selectedItem == null) {\r\n employeeId = null;\r\n } else {\r\n\r\n employeeId = e.selectedItem.employeeId;\r\n }\r\n }\r\n\r\n export class Report123Dialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void,\r\n runProcessHandler: (data: any) => void,\r\n parameters: any = null,\r\n rootElementId: string = \"dialog\") {\r\n super(\"Report123Dialog\",\r\n closeHandler,\r\n parameters,\r\n () => {\r\n\r\n const form = $(\"#Report123DialogForm\").dxForm(\"instance\");\r\n const reportData: any = form.option(\"formData\");\r\n\r\n projectId = null;\r\n\r\n if (parameters != null) {\r\n reportData.projectId = parameters.projectId;\r\n projectId = parameters.projectId;\r\n }\r\n employeeId = null;\r\n reportData.reportLevel = \"Weekly\";\r\n reportData.showCost = false;\r\n\r\n form.option(\"formData\", reportData);\r\n\r\n },\r\n rootElementId,\r\n runProcessHandler);\r\n }\r\n\r\n protected runProcess = (e: any) => {\r\n\r\n const form = $(\"#Report123DialogForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const reportData: any = form.option(\"formData\");\r\n const ccGrid = $(\"#CCGrid\").dxDataGrid(\"instance\");\r\n if (ccGrid.getSelectedRowsData().length > 0) {\r\n ccIds = ccGrid.getSelectedRowsData().map(d => d.accountId).join(',');\r\n }\r\n\r\n const jobGrid = $(\"#JobGrid\").dxDataGrid(\"instance\");\r\n if (jobGrid.getSelectedRowsData().length > 0) {\r\n workOrderIds = jobGrid.getSelectedRowsData().map(d => d.accountWorkOrderId).join(',');\r\n }\r\n\r\n reportData.ccIds = ccIds;\r\n reportData.workOrderIds = workOrderIds;\r\n\r\n this.runProcessHandler(reportData)\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n}\r\n","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n let projectId: number;\r\n let ccIds: string = null;\r\n let workOrderIds: string = null;\r\n\r\n let runCostCQuery: boolean = false;\r\n let runJobCQuery: boolean = false;\r\n let employeeId: null;\r\n let timePeriodText: string;\r\n\r\n export function getReportProjectid() {\r\n return projectId;\r\n }\r\n\r\n export function canExecuteCostCQuery() {\r\n return runCostCQuery;\r\n }\r\n\r\n export function canExecuteJobCQuery() {\r\n return runJobCQuery;\r\n }\r\n\r\n export function setProjectidFromSelection(e) {\r\n if (e.selectedItem == null) {\r\n projectId = null;\r\n } else {\r\n\r\n projectId = e.selectedItem.projectId;\r\n runCostCQuery = true;\r\n runJobCQuery = true;\r\n }\r\n Areas.refreshGrid(\"CCGrid\");\r\n Areas.refreshGrid(\"JobGrid\");\r\n }\r\n\r\n export function getStartEndDateFromTimePeriod309(e) {\r\n const form = $(\"#Report309DialogForm\").dxForm(\"instance\");\r\n const reportData: any = form.option(\"formData\");\r\n\r\n if (e.selectedItem == null) {\r\n timePeriodText = null\r\n reportData.startDate = null;\r\n reportData.endDate = null;\r\n form.option(\"formData\", reportData);\r\n\r\n } else {\r\n\r\n timePeriodText = e.selectedItem.id;\r\n\r\n\r\n $.get(`/Dialog/Report309Dialog/GetStartEndDates/${timePeriodText}`,\r\n (data) => {\r\n\r\n reportData.startDate = data.beginDate;\r\n reportData.endDate = data.endDate;\r\n form.option(\"formData\", reportData);\r\n\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n export class Report309Dialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void,\r\n runProcessHandler: (data: any) => void,\r\n parameters: any = null,\r\n rootElementId: string = \"dialog\") {\r\n super(\"Report309Dialog\",\r\n closeHandler,\r\n parameters,\r\n () => {\r\n\r\n const form = $(\"#Report309DialogForm\").dxForm(\"instance\");\r\n const reportData: any = form.option(\"formData\");\r\n\r\n if (parameters != null) {\r\n reportData.projectId = parameters.projectId;\r\n }\r\n\r\n form.option(\"formData\", reportData);\r\n\r\n },\r\n rootElementId,\r\n runProcessHandler);\r\n }\r\n\r\n protected runProcess = (e: any) => {\r\n\r\n const form = $(\"#Report309DialogForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const reportData: any = form.option(\"formData\");\r\n\r\n const ccGrid = $(\"#CCGrid\").dxDataGrid(\"instance\");\r\n if (ccGrid.getSelectedRowsData().length > 0) {\r\n ccIds = ccGrid.getSelectedRowsData().map(d => d.accountId).join(',');\r\n }\r\n\r\n const jobGrid = $(\"#JobGrid\").dxDataGrid(\"instance\");\r\n if (jobGrid.getSelectedRowsData().length > 0) {\r\n workOrderIds = jobGrid.getSelectedRowsData().map(d => d.accountWorkOrderId).join(',');\r\n }\r\n\r\n reportData.ccIds = ccIds;\r\n reportData.workOrderIds = workOrderIds;\r\n\r\n this.runProcessHandler(reportData)\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n let projectId: number;\r\n let ccIds: string = null;\r\n let workOrderIds: string = null;\r\n let employeeId: null;\r\n let timePeriodText: string;\r\n\r\n\r\n let runCostCQuery: boolean = false;\r\n let runJobCQuery: boolean = false;\r\n\r\n\r\n export function getReportaProjectId() {\r\n return projectId;\r\n }\r\n\r\n export function canExecuteaCostCQuery() {\r\n return runCostCQuery;\r\n }\r\n\r\n export function canExecuteaJobCQuery() {\r\n return runJobCQuery;\r\n }\r\n\r\n export function setProjectaIdFromSelection(e) {\r\n if (e.selectedItem == null) {\r\n projectId = null;\r\n } else {\r\n\r\n projectId = e.selectedItem.projectId;\r\n runCostCQuery = true;\r\n runJobCQuery = true;\r\n }\r\n \r\n Areas.refreshGrid(\"CCGrid\");\r\n Areas.refreshGrid(\"JobGrid\");\r\n }\r\n\r\n export function getStartEndDateFromTimePeriod309a(e) {\r\n const form = $(\"#Report309aDialogForm\").dxForm(\"instance\");\r\n const reportData: any = form.option(\"formData\");\r\n\r\n if (e.selectedItem == null) {\r\n timePeriodText = null\r\n reportData.startDate = null;\r\n reportData.endDate = null;\r\n form.option(\"formData\", reportData);\r\n\r\n } else {\r\n\r\n timePeriodText = e.selectedItem.id;\r\n\r\n $.get(`/Dialog/Report309aDialog/GetStartEndDates/${timePeriodText}`,\r\n (data) => {\r\n\r\n reportData.startDate = data.beginDate;\r\n reportData.endDate = data.endDate;\r\n form.option(\"formData\", reportData);\r\n\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n export class Report309aDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void,\r\n runProcessHandler: (data: any) => void,\r\n parameters: any = null,\r\n rootElementId: string = \"dialog\") {\r\n super(\"Report309aDialog\",\r\n closeHandler,\r\n parameters,\r\n () => {\r\n\r\n const form = $(\"#Report309aDialogForm\").dxForm(\"instance\");\r\n const reportData: any = form.option(\"formData\");\r\n\r\n if (parameters != null) {\r\n reportData.projectId = parameters.projectId;\r\n }\r\n\r\n form.option(\"formData\", reportData);\r\n\r\n },\r\n rootElementId,\r\n runProcessHandler);\r\n }\r\n\r\n protected runProcess = (e: any) => {\r\n\r\n const form = $(\"#Report309aDialogForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const reportData: any = form.option(\"formData\");\r\n\r\n const ccGrid = $(\"#CCGrid\").dxDataGrid(\"instance\");\r\n if (ccGrid.getSelectedRowsData().length > 0) {\r\n ccIds = ccGrid.getSelectedRowsData().map(d => d.accountId).join(',');\r\n }\r\n\r\n const jobGrid = $(\"#JobGrid\").dxDataGrid(\"instance\");\r\n if (jobGrid.getSelectedRowsData().length > 0) {\r\n workOrderIds = jobGrid.getSelectedRowsData().map(d => d.accountWorkOrderId).join(',');\r\n }\r\n\r\n reportData.ccIds = ccIds;\r\n reportData.workOrderIds = workOrderIds;\r\n\r\n this.runProcessHandler(reportData)\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n let projectId: number;\r\n let ccIds: string = null;\r\n let workOrderIds: string = null;\r\n let employeeId: null;\r\n let timePeriodText: string;\r\n\r\n\r\n let runCCQuery: boolean = false;\r\n let runJobCodeQuery: boolean = false;\r\n\r\n\r\n export function getRepProjectId() {\r\n return projectId;\r\n }\r\n\r\n export function canExecuteCCenterQuery() {\r\n return runCCQuery;\r\n }\r\n\r\n export function canExecuteJCodeQuery() {\r\n return runJobCodeQuery;\r\n }\r\n\r\n export function setProjIdFromSelection(e) {\r\n if (e.selectedItem == null) {\r\n projectId = null;\r\n } else {\r\n projectId = e.selectedItem.projectId;\r\n runCCQuery = true;\r\n runJobCodeQuery = true;\r\n }\r\n Areas.refreshGrid(\"CCGrid\");\r\n Areas.refreshGrid(\"JobGrid\");\r\n }\r\n\r\n export function getStartEndDateFromTimePeriod401(e) {\r\n const form = $(\"#Report401DialogForm\").dxForm(\"instance\");\r\n const reportData: any = form.option(\"formData\");\r\n\r\n if (e.selectedItem == null) {\r\n timePeriodText = null\r\n reportData.startDate = null;\r\n reportData.endDate = null;\r\n form.option(\"formData\", reportData);\r\n\r\n } else {\r\n\r\n timePeriodText = e.selectedItem.id;\r\n\r\n\r\n $.get(`/Dialog/Report401Dialog/GetStartEndDates/${timePeriodText}`,\r\n (data) => {\r\n\r\n reportData.startDate = data.beginDate;\r\n reportData.endDate = data.endDate;\r\n form.option(\"formData\", reportData);\r\n\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n export class Report401Dialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void,\r\n runProcessHandler: (data: any) => void,\r\n parameters: any = null,\r\n rootElementId: string = \"dialog\") {\r\n super(\"Report401Dialog\",\r\n closeHandler,\r\n parameters,\r\n () => {\r\n\r\n const form = $(\"#Report401DialogForm\").dxForm(\"instance\");\r\n const reportData: any = form.option(\"formData\");\r\n\r\n if (parameters != null) {\r\n reportData.projectId = parameters.projectId;\r\n }\r\n \r\n form.option(\"formData\", reportData);\r\n\r\n },\r\n rootElementId,\r\n runProcessHandler);\r\n }\r\n\r\n protected runProcess = (e: any) => {\r\n\r\n const form = $(\"#Report401DialogForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const reportData: any = form.option(\"formData\");\r\n\r\n const ccGrid = $(\"#CCGrid\").dxDataGrid(\"instance\");\r\n if (ccGrid.getSelectedRowsData().length > 0) {\r\n ccIds = ccGrid.getSelectedRowsData().map(d => d.accountId).join(',');\r\n }\r\n\r\n const jobGrid = $(\"#JobGrid\").dxDataGrid(\"instance\");\r\n if (jobGrid.getSelectedRowsData().length > 0) {\r\n workOrderIds = jobGrid.getSelectedRowsData().map(d => d.accountWorkOrderId).join(',');\r\n }\r\n\r\n reportData.ccIds = ccIds;\r\n reportData.workOrderIds = workOrderIds;\r\n\r\n this.runProcessHandler(reportData)\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n}\r\n","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n let projectId: number;\r\n let timePeriodText: string;\r\n let ccIds: string = null;\r\n let fundSourceIds: string = null;\r\n let subLks: string = null;\r\n\r\n let runCCQuery: boolean = false;\r\n let runFundQuery: boolean = false;\r\n\r\n\r\n export function getReportProjectId() {\r\n return projectId;\r\n }\r\n\r\n export function canExecuteCCQuery() {\r\n return runCCQuery;\r\n }\r\n\r\n export function canExecuteFundQuery() {\r\n return runFundQuery;\r\n }\r\n\r\n\r\n export function setProjectIdFromSelection(e) {\r\n\r\n if (e.selectedItem == null) {\r\n projectId = null;\r\n } else {\r\n\r\n projectId = e.selectedItem.projectId;\r\n runCCQuery = true;\r\n runFundQuery = true;\r\n }\r\n\r\n Areas.refreshGrid(\"CCGrid\");\r\n Areas.refreshGrid(\"FundGrid\")\r\n\r\n }\r\n\r\n export function getStartEndDateFromTimePeriod(e) {\r\n const form = $(\"#Report505DialogForm\").dxForm(\"instance\");\r\n const reportData: any = form.option(\"formData\");\r\n\r\n if (e.selectedItem == null) {\r\n timePeriodText = null\r\n reportData.startDate = null;\r\n reportData.endDate = null;\r\n form.option(\"formData\", reportData);\r\n\r\n } else {\r\n\r\n timePeriodText = e.selectedItem.id;\r\n \r\n $.get(`/Dialog/Report505Dialog/GetStartEndDates/${timePeriodText}`,\r\n (data) => {\r\n\r\n reportData.startDate = data.beginDate;\r\n reportData.endDate = data.endDate;\r\n form.option(\"formData\", reportData);\r\n\r\n });\r\n\r\n }\r\n \r\n }\r\n\r\n export class Report505Dialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void,\r\n runProcessHandler: (data: any) => void,\r\n parameters: any = null,\r\n rootElementId: string = \"dialog\")\r\n {\r\n super(\"Report505Dialog\",\r\n closeHandler,\r\n parameters,\r\n () => {\r\n\r\n const form = $(\"#Report505DialogForm\").dxForm(\"instance\");\r\n const reportData: any = form.option(\"formData\");\r\n\r\n if (parameters != null) {\r\n reportData.projectId = parameters.projectId;\r\n projectId = parameters.projectId;\r\n }\r\n reportData.grouping = \"Account\";\r\n reportData.reportLevel = \"T\";\r\n\r\n form.option(\"formData\", reportData);\r\n },\r\n rootElementId,\r\n runProcessHandler);\r\n }\r\n\r\n protected runProcess = (e: any) => {\r\n\r\n const form = $(\"#Report505DialogForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const reportData: any = form.option(\"formData\");\r\n const ccGrid = $(\"#CCGrid\").dxDataGrid(\"instance\");\r\n if (ccGrid.getSelectedRowsData().length > 0) {\r\n ccIds = ccGrid.getSelectedRowsData().map(d => d.accountId).join(',');\r\n }\r\n\r\n const fundGrid = $(\"#FundGrid\").dxDataGrid(\"instance\");\r\n if (fundGrid.getSelectedRowsData().length > 0) {\r\n fundSourceIds = fundGrid.getSelectedRowsData().map(d => d.fundingSourceId).join(',');\r\n }\r\n\r\n const subGrid = $(\"#SubGrid\").dxDataGrid(\"instance\");\r\n if (subGrid.getSelectedRowsData().length > 0) {\r\n subLks = subGrid.getSelectedRowsData().map(d => d.ucopSubCodeLk).join(',');\r\n }\r\n\r\n reportData.ccIds = ccIds;\r\n reportData.fundSourceIds = fundSourceIds;\r\n reportData.subLks = subLks;\r\n\r\n this.runProcessHandler(reportData)\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n let projectId: number;\r\n let ccIds: string = null;\r\n let fundSourceIds: string = null;\r\n\r\n let runCCQuery: boolean = false;\r\n let runFundQuery: boolean = false;\r\n\r\n\r\n export function getReportProjID() {\r\n return projectId;\r\n }\r\n\r\n export function canExecuteCCtrQuery() {\r\n return runCCQuery;\r\n }\r\n\r\n export function canExecuteFundsQuery() {\r\n return runFundQuery;\r\n }\r\n\r\n export function setProjIDFromSelection(e) {\r\n if (e.selectedItem == null) {\r\n projectId = null;\r\n } else {\r\n\r\n projectId = e.selectedItem.projectId;\r\n runCCQuery = true;\r\n runFundQuery = true;\r\n }\r\n Areas.refreshGrid(\"CCGrid\");\r\n Areas.refreshGrid(\"FundGrid\")\r\n\r\n }\r\n\r\n export class Report581Dialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void,\r\n runProcessHandler: (data: any) => void,\r\n parameters: any = null,\r\n rootElementId: string = \"dialog\") {\r\n super(\"Report581Dialog\",\r\n closeHandler,\r\n parameters,\r\n () => {\r\n\r\n const form = $(\"#Report581DialogForm\").dxForm(\"instance\");\r\n const reportData: any = form.option(\"formData\");\r\n\r\n if (parameters != null) {\r\n reportData.projectId = parameters.projectId;\r\n projectId = parameters.projectId;\r\n }\r\n reportData.showCost = false;\r\n\r\n form.option(\"formData\", reportData);\r\n\r\n },\r\n rootElementId,\r\n runProcessHandler);\r\n }\r\n\r\n protected runProcess = (e: any) => {\r\n\r\n const form = $(\"#Report581DialogForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const reportData: any = form.option(\"formData\");\r\n const ccGrid = $(\"#CCGrid\").dxDataGrid(\"instance\");\r\n if (ccGrid.getSelectedRowsData().length > 0) {\r\n ccIds = ccGrid.getSelectedRowsData().map(d => d.accountId).join(',');\r\n }\r\n\r\n const fundGrid = $(\"#FundGrid\").dxDataGrid(\"instance\");\r\n if (fundGrid.getSelectedRowsData().length > 0) {\r\n fundSourceIds = fundGrid.getSelectedRowsData().map(d => d.fundingSourceId).join(',');\r\n }\r\n\r\n reportData.ccIds = ccIds;\r\n reportData.fundSourceIds = fundSourceIds;\r\n\r\n this.runProcessHandler(reportData)\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n}\r\n","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n let fundAccountId: number;\r\n let runLookupQuery: boolean = false;\r\n\r\n export function getFundAccountId() {\r\n return fundAccountId;\r\n }\r\n\r\n export function canExecuteLookupQuery() {\r\n return runLookupQuery;\r\n }\r\n\r\n export class ValidFundLookup extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void,\r\n parameters: any = null,\r\n rootElementId: string = \"dialog\") {\r\n super(\"ValidFundLookup\",\r\n closeHandler,\r\n parameters, () => {\r\n fundAccountId = parameters.accountId;\r\n runLookupQuery = true;\r\n Areas.refreshGrid(\"ValidFundLookupGrid\");\r\n },\r\n rootElementId);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n\r\n const dataGrid = $(`#${this.dialogName}Grid`).dxDataGrid('instance');\r\n const selectedRows: any = dataGrid.getSelectedRowsData();\r\n \r\n if (selectedRows[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n var data = selectedRows[0];\r\n this.close(DialogResult.Ok, data);\r\n }\r\n } \r\n }\r\n \r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class VendorDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"Vendor\", closeHandler);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n\r\n const dataGrid = $(`#${this.dialogName}LookupGrid`).dxDataGrid('instance');\r\n const selectedRows: any = dataGrid.getSelectedRowsData();\r\n \r\n if (selectedRows[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n var data = selectedRows[0];\r\n this.close(DialogResult.Ok, data);\r\n }\r\n } \r\n }\r\n \r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class WebStoryImageDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"WebStoryImage\", closeHandler, parameters,\r\n () => {\r\n const uploader = $(\"#fileUploaderControl\").dxFileUploader(\"instance\");\r\n let url: any = uploader.option(\"uploadUrl\");\r\n\r\n url = updateQueryStringParameter(url, \"websiteStoryId\", this.parameters.websiteStoryId);\r\n uploader.option(\"uploadUrl\", url);\r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n this.close(DialogResult.Ok, null);\r\n }\r\n\r\n }\r\n\r\n}","namespace Areas.Processes {\r\n \"use strict\";\r\n\r\n\r\n export function CreateTempContractAnalysis(a) {\r\n sendRequest(\"/ExecutiveReview/Processes/ExecuteTempContractAnalysis\",\r\n null,\r\n \"PUT\");\r\n\r\n return;\r\n }\r\n\r\n export function CreateTempGeneralLedgerBalances(a) {\r\n sendRequest(\"/ExecutiveReview/Processes/ExecuteTempGeneralLedgerBalances\",\r\n null,\r\n \"PUT\");\r\n\r\n return;\r\n }\r\n\r\n export function CreateTempGeneralLedgerBalancesSummary(a) {\r\n\r\n sendRequest(\"/ExecutiveReview/Processes/ExecuteTempGeneralLedgerBalancesSummary\",\r\n null,\r\n \"PUT\");\r\n\r\n return;\r\n }\r\n\r\n export function CreateTempSchedulePWC(a) {\r\n sendRequest(\"/ExecutiveReview/Processes/ExecuteTempSchedulePWC\",\r\n null,\r\n \"PUT\");\r\n\r\n return;\r\n }\r\n\r\n export function CreateTempProjectDataReview(a) {\r\n sendRequest(\"/ExecutiveReview/Processes/ExecuteTempProjectDataReview\",\r\n null,\r\n \"PUT\");\r\n\r\n return;\r\n }\r\n\r\n}\r\n","namespace Areas.Favorite {\r\n \"use strict\";\r\n\r\n export function goToFavorite(e: any) {\r\n const grid = $(\"#FavoriteGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].urlAddress;\r\n location.href = id;\r\n }\r\n }\r\n\r\n export function viewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.urlAddress; },\r\n \"View\");\r\n }\r\n\r\n\r\n}","namespace Areas.Finance.GL {\r\n \"use strict\";\r\n\r\n\r\n let glDataId: number = 0;\r\n let projectId: number = 0;\r\n let accountId: number;\r\n let fundId: number; \r\n let runQuery: boolean = false;\r\n let showDeleted: boolean = false;\r\n let projectNumber: string;\r\n let projectName: string;\r\n let accountNumber: string;\r\n let fundNumber: string;\r\n let ucopSubCodeLk: string;\r\n let glReference: string;\r\n let glSummary: string\r\n\r\n export function getProjectId() {\r\n return projectId;\r\n }\r\n\r\n export function getAccountId() {\r\n return accountId;\r\n }\r\n\r\n export function getAccountNumber() {\r\n return accountNumber;\r\n }\r\n\r\n export function getFundNumber() {\r\n return fundNumber;\r\n }\r\n\r\n export function getFundId() {\r\n return fundId;\r\n }\r\n\r\n export function getShowDeleted() {\r\n return showDeleted;\r\n }\r\n\r\n export function addResearch() {\r\n const glGrid = $(\"#GeneralLedgerGrid\").dxDataGrid(\"instance\");\r\n\r\n\r\n const selectedRows = glGrid.getSelectedRowsData();\r\n\r\n if (selectedRows.length) {\r\n\r\n var selectedRowIds = glGrid.getSelectedRowKeys().join(',');\r\n var url = \"/Finance/Balances/AddToResearch/?ids=\" + selectedRowIds;\r\n\r\n sendRequest(url, \"\", \"PUT\", () => { $('#GeneralLedgerGrid').dxDataGrid(\"instance\").refresh(); });\r\n\r\n }\r\n\r\n return;\r\n }\r\n\r\n export function capitalizeSelected(e: any) {\r\n const glGrid = $(\"#GeneralLedgerGrid\").dxDataGrid(\"instance\");\r\n\r\n\r\n const selectedRows = glGrid.getSelectedRowsData();\r\n\r\n if (selectedRows.length) {\r\n\r\n var selectedRowIds = glGrid.getSelectedRowKeys().join(',');\r\n var url = \"/Finance/Balances/Capitalize/?ids=\" + selectedRowIds;\r\n\r\n sendRequest(url, \"\", \"PUT\", () => { $('#GeneralLedgerGrid').dxDataGrid(\"instance\").refresh(); });\r\n\r\n }\r\n\r\n return;\r\n }\r\n\r\n export function unDeleteSelected(e: any) {\r\n const glGrid = $(\"#GeneralLedgerGrid\").dxDataGrid(\"instance\");\r\n\r\n\r\n const selectedRows = glGrid.getSelectedRowsData();\r\n\r\n if (selectedRows.length) {\r\n\r\n var selectedRowIds = glGrid.getSelectedRowKeys().join(',');\r\n var url = \"/Finance/Balances/Undelete/?ids=\" + selectedRowIds;\r\n\r\n sendRequest(url, \"\", \"PUT\", () => { $('#GeneralLedgerGrid').dxDataGrid(\"instance\").refresh(); });\r\n\r\n }\r\n\r\n return;\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n\r\n export function viewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.accountId; },\r\n \"View\");\r\n }\r\n\r\n export function onGridSummarySelectionChanged(e: any) {\r\n\r\n const glSummaryGrid = $(\"#GeneralLedgerSummaryGrid\").dxDataGrid(\"instance\");\r\n\r\n let selectedRows = e.component.getSelectedRowsData();\r\n\r\n if (selectedRows.length === 1) {\r\n projectId = selectedRows[0].projectId;\r\n accountId = selectedRows[0].accountId;\r\n accountNumber = selectedRows[0].accountNumber;\r\n fundNumber = selectedRows[0].fundNumber;\r\n fundId = selectedRows[0].fundingSourceId;\r\n\r\n }\r\n Areas.refreshGrid(\"GeneralLedgerGrid\");\r\n Areas.refreshGrid(\"GeneralLedgerAccountNotesGrid\");\r\n Areas.refreshGrid(\"GeneralLedgerNotesGrid\");\r\n\r\n }\r\n\r\n\r\n export function onGridSelectionChanged(e: any) {\r\n\r\n const glNotesGrid = $(\"#GeneralLedgerNotesGrid\").dxDataGrid(\"instance\");\r\n\r\n let selectedRows = e.component.getSelectedRowsData();\r\n\r\n if (selectedRows.length === 1) {\r\n glDataId = selectedRows[0].glDataId;\r\n\r\n glNotesGrid.option(\"disabled\", false)\r\n if (selectedRows[0].isInternalEntry) {\r\n enableButton(\"editGLMemoButton\");\r\n\r\n } else {\r\n disableButton(\"editGLMemoButton\");\r\n }\r\n }\r\n else {\r\n glDataId = 0;\r\n }\r\n\r\n }\r\n\r\n export function onContentReadyDetail(e: any) {\r\n\r\n\r\n let selectedRows = e.component.getSelectedRowsData();\r\n\r\n //see if a row was selected\r\n selectedRows = e.component.getSelectedRowsData();\r\n\r\n if (selectedRows.length < 1) {\r\n\r\n let glNotesGrid: any = $(\"#GeneralLedgerNotesGrid\").dxDataGrid(\"instance\");\r\n glNotesGrid.option(\"disabled\", true)\r\n }\r\n\r\n }\r\n\r\n export function onInitNewRowAccountNote(e: any) {\r\n\r\n e.data.accountId = accountId;\r\n\r\n }\r\n\r\n export function onInitNewRowNote(e: any) {\r\n\r\n e.data.glDataId = glDataId;\r\n e.data.projectNumber = projectNumber;\r\n e.data.accountNumber = accountNumber;\r\n e.data.ucopSubCodeLk = ucopSubCodeLk;\r\n e.data.glReference = glReference;\r\n e.data.glSummary = glSummary;\r\n e.data.glNoteDate = moment().format('YYYY-MM-DD');\r\n\r\n }\r\n\r\n\r\n export function addMemo() {\r\n\r\n if (projectId == 0) {\r\n return;\r\n }\r\n\r\n const glGrid = $(\"#GeneralLedgerGrid\").dxDataGrid(\"instance\");\r\n\r\n const parameters = {\r\n projectName: projectName,\r\n projectNumber: projectNumber,\r\n projectId: projectId,\r\n calledFrom: \"GL\"\r\n };\r\n\r\n\r\n const createGLMemoDialog = new Areas.Dialogs.GLMemo.CreateGLMemoDialog(memoDialogClosing, parameters);\r\n }\r\n\r\n export function editMemo() {\r\n\r\n if (projectId == 0) {\r\n return;\r\n }\r\n\r\n const glGrid = $(\"#GeneralLedgerGrid\").dxDataGrid(\"instance\");\r\n const selectedRows = glGrid.getSelectedRowsData();\r\n\r\n if (selectedRows.length) {\r\n\r\n const parameters = {\r\n data: selectedRows[0],\r\n calledFrom: \"GL\"\r\n };\r\n\r\n const editGLMemoDialog = new Areas.Dialogs.GLMemo.EditGLMemoDialog(memoDialogClosing, parameters);\r\n\r\n }\r\n }\r\n\r\n function memoDialogClosing() {\r\n Areas.refreshGrid(\"GeneralLedgerGrid\");\r\n \r\n }\r\n\r\n export function selectProject() {\r\n\r\n const projectDialog = new Areas.Dialogs.Project.ProjectDialog(projectDialogClosing);\r\n }\r\n\r\n function projectDialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#GetProjectForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n projectId = data.projectId;\r\n projectName = data.projectName;\r\n projectNumber = data.projectNumber;\r\n formData.projectNumberName = data.projectNumber + \" - \" + data.projectName;\r\n formData.projectNumber = projectNumber;\r\n\r\n form.option(\"formData\", formData);\r\n runQuery = true;\r\n\r\n //refresh everything\r\n Areas.refreshGrid(\"GeneralLedgerSummaryGrid\")\r\n Areas.refreshGrid(\"GeneralLedgerGrid\");\r\n Areas.refreshGrid(\"GeneralLedgerAccountNotesGrid\");\r\n Areas.refreshGrid(\"GeneralLedgerNotesGrid\");\r\n\r\n }\r\n\r\n export function findProject(e: any) {\r\n\r\n projectNumber = e.value;\r\n let projectNumberName = \"\";\r\n\r\n const form: any = $(\"#GetProjectForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n \r\n var url = \"/Finance/Balances/FindProject/?projectNumber=\" + projectNumber;\r\n\r\n $.get(url,\r\n (data) => {\r\n projectId = data.projectId;\r\n\r\n formData.projectId = data.projectId;\r\n formData.projectNumberName = data.projectNumber + \" - \" + data.projectName;\r\n form.option(\"formData\", formData);\r\n\r\n runQuery = true;\r\n\r\n //refresh everything\r\n Areas.refreshGrid(\"GeneralLedgerSummaryGrid\");\r\n Areas.refreshGrid(\"GeneralLedgerGrid\");\r\n Areas.refreshGrid(\"GeneralLedgerAccountNotesGrid\");\r\n Areas.refreshGrid(\"GeneralLedgerNotesGrid\");\r\n });\r\n\r\n }\r\n\r\n export function showDeletedChanged(e: any) {\r\n showDeleted = e.value;\r\n if (showDeleted) {\r\n showButton(\"unDeleteButton\");\r\n disableButton(\"addGLMemoButton\");\r\n disableButton(\"editGLMemoButton\");\r\n hideButton(\"researchButton\");\r\n hideButton(\"capitalizeButton\")\r\n } else {\r\n hideButton(\"unDeleteButton\");\r\n enableButton(\"addGLMemoButton\");\r\n enableButton(\"editGLMemoButton\");\r\n showButton(\"researchButton\");\r\n showButton(\"capitalizeButton\")\r\n }\r\n runQuery = true;\r\n\r\n //refresh everything\r\n Areas.refreshGrid(\"GeneralLedgerSummaryGrid\")\r\n Areas.refreshGrid(\"GeneralLedgerGrid\");\r\n Areas.refreshGrid(\"GeneralLedgerAccountNotesGrid\");\r\n Areas.refreshGrid(\"GeneralLedgerNotesGrid\");\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n\r\n","namespace Areas.Finance.DailyGL {\r\n \"use strict\";\r\n\r\n let accountId: number = 0;\r\n let cc: string;\r\n let project: string;\r\n let fund: string;\r\n\r\n export function goToActions() {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n Areas.Finance.DailyGL.goToProject(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n Areas.Finance.DailyGL.goToSharePoint(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n export function goToSharePoint(e: any) {\r\n const grid = $(\"#DailyGLGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var sharePointLink = row[0].sharePointLink;\r\n let linkInfo = \"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjects/\" + sharePointLink + \"/\";\r\n if (sharePointLink != \"\") {\r\n window.open(linkInfo);\r\n }\r\n else {\r\n window.open(\"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjectsList\");\r\n }\r\n }\r\n }\r\n\r\n export function viewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.accountId; },\r\n \"View\");\r\n }\r\n\r\n export function goToProject(e: any) {\r\n const grid = $(\"#DailyGLGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].accountId;\r\n let linkInfo = \"/Project/Profile/View/\" + id;\r\n location.href = linkInfo;\r\n }\r\n }\r\n\r\n export function autoFundTransfer(e: any) {\r\n sendRequest(\"/Finance/DailyGL/ExecuteAutoFundTransfer\",\r\n null,\r\n \"PUT\",\r\n c => {\r\n Areas.refreshGrid(\"DailyGLGrid\");\r\n Areas.refreshGrid(\"DailyGLMemoGrid\");\r\n });\r\n }\r\n\r\n export function onSummaryGridSelectionChanged(e: any) {\r\n const grid = $(\"#DailyGLSummaryGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n accountId = row[0].accountId;\r\n cc = row[0].accountNumber;\r\n project = row[0].projectNumber;\r\n fund = row[0].fundNumber;\r\n Areas.refreshGrid(\"DailyGLGrid\");\r\n Areas.refreshGrid(\"DailyGLMemoGrid\");\r\n }\r\n }\r\n\r\n export function onContentReady(e: any) {\r\n const grid = $(\"#DailyGLSummaryGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n }\r\n\r\n export function getFund() {\r\n return fund;\r\n }\r\n\r\n export function getAccountId() {\r\n return accountId;\r\n }\r\n\r\n export function getAccount() {\r\n return cc;\r\n }\r\n\r\n export function getProject() {\r\n return project;\r\n }\r\n\r\n export function disableAllButtons() {\r\n disableButton(\"AutoFund\");\r\n disableButton(\"Research\");\r\n disableButton(\"Capitalize\");\r\n disableButton(\"Exclude\");\r\n disableButton(\"Transfer\");\r\n disableButton(\"Reconcile\");\r\n }\r\n\r\n export function enableAllButtons() {\r\n enableButton(\"AutoFund\");\r\n enableButton(\"Research\");\r\n enableButton(\"Capitalize\");\r\n enableButton(\"Exclude\");\r\n enableButton(\"Transfer\");\r\n enableButton(\"Reconcile\");\r\n }\r\n\r\n\r\n\r\n export function checkTotalsForSelected(e: any) {\r\n\r\n disableAllButtons();\r\n\r\n const grid = $(\"#DailyGLGrid\").dxDataGrid(\"instance\");\r\n const selectedDownload = grid.getSelectedRowsData();\r\n\r\n const gridMemos = $(\"#DailyGLMemoGrid\").dxDataGrid(\"instance\");\r\n const selectedMemos = gridMemos.getSelectedRowsData();\r\n\r\n let aisTotal: number = 0;\r\n let memoTotal: number = 0;\r\n let diff: number = 0;\r\n let diffTotal: string;\r\n\r\n for (var i = 0; i < selectedDownload.length; i++) {\r\n aisTotal = aisTotal + selectedDownload[i].trans_amount_gl;\r\n }\r\n\r\n for (var i = 0; i < selectedMemos.length; i++) {\r\n memoTotal = memoTotal + selectedMemos[i].glAmount;\r\n }\r\n\r\n diff = parseFloat((aisTotal - memoTotal).toFixed(2));\r\n diffTotal = (aisTotal - memoTotal).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\r\n\r\n if (diff != 0) {\r\n const okToProceed =\r\n window.confirm(\" AIS selected Record Total: \" +\r\n aisTotal.toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,') +\r\n \"\\r\\n\" +\r\n \" GL Memo selected Record Total: \" +\r\n memoTotal.toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,') +\r\n \"\\r\\n\" +\r\n \" Difference: \" +\r\n diffTotal +\r\n \"\\r\\n\" +\r\n \" Proceed with Reconcile? \");\r\n\r\n if (okToProceed) {\r\n reconcileSelected();\r\n } else {\r\n enableAllButtons();\r\n }\r\n\r\n } else {\r\n reconcileSelected();\r\n }\r\n\r\n }\r\n\r\n\r\n export function reconcileSelected() {\r\n const grid = $(\"#DailyGLGrid\").dxDataGrid(\"instance\");\r\n const selectedDownload = grid.getSelectedRowsData();\r\n\r\n const gridMemos = $(\"#DailyGLMemoGrid\").dxDataGrid(\"instance\");\r\n const selectedMemos = gridMemos.getSelectedRowsData();\r\n\r\n\r\n var data = JSON.stringify(\r\n {\r\n \"AISDownloadGLs\": selectedDownload,\r\n \"GLMemos\": selectedMemos\r\n });\r\n\r\n sendRequest(\"/Finance/DailyGL/ReconcileDownloadMemos\",\r\n data,\r\n \"PUT\",\r\n c => {\r\n Areas.refreshGrid(\"DailyGLGrid\");\r\n Areas.refreshGrid(\"DailyGLMemoGrid\");\r\n enableAllButtons();\r\n });\r\n\r\n }\r\n\r\n\r\n export function checkTransfers() {\r\n disableAllButtons();\r\n checkTransfersResearch(false);\r\n }\r\n\r\n export function checkTransfersResearch(includeResearch) {\r\n const grid = $(\"#DailyGLGrid\").dxDataGrid(\"instance\");\r\n const selectedData = grid.getSelectedRowsData();\r\n var errorCheckClosedAccount: boolean = false;\r\n var accountNum: string = \"\";\r\n\r\n const gridSummary = $(\"#DailyGLSummaryGrid\").dxDataGrid(\"instance\");\r\n const rowSummary = gridSummary.getSelectedRowsData();\r\n const rowSummaryAll = gridSummary.getDataSource().items();\r\n\r\n\r\n if (selectedData.length == 0 || selectedData.length > 9) {\r\n transferSelected(includeResearch);\r\n enableAllButtons();\r\n return;\r\n }\r\n\r\n if (rowSummary.length == 1) {\r\n if (rowSummary[0].accountStatus != \"Closed\" &&\r\n rowSummary[0].accountStatus != \"InActive\") {\r\n transferSelected(includeResearch);\r\n errorCheckClosedAccount = true;\r\n enableAllButtons();\r\n return;\r\n } else {\r\n transferConfirmation(includeResearch);\r\n enableAllButtons();\r\n return;\r\n }\r\n }\r\n\r\n for (var i = 0; i < selectedData.length; i++) {\r\n for (var j = 0; j < rowSummaryAll.length; j++) {\r\n if (rowSummaryAll[j].projectNumber == selectedData[i].account_number &&\r\n rowSummaryAll[j].accountNumber == selectedData[i].cost_center_code &&\r\n rowSummaryAll[j].fundNumber == selectedData[i].fund_number &&\r\n (rowSummaryAll[j].accountStatus == \"Closed\" || rowSummaryAll[j].accountStatus == \"InActive\")) {\r\n\r\n errorCheckClosedAccount = true;\r\n }\r\n }\r\n }\r\n\r\n if (errorCheckClosedAccount) {\r\n transferConfirmation(includeResearch);\r\n return;\r\n } else {\r\n transferSelected(includeResearch);\r\n return;\r\n }\r\n\r\n }\r\n\r\n export function transferConfirmation(includeResearch) {\r\n const okToProceed =\r\n window.confirm(\" Account was CLOSED or Inactive: \" +\r\n \"\\r\\n\" +\r\n \" Proceed with TRANSFER? \");\r\n\r\n if (okToProceed) {\r\n transferSelected(includeResearch);\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n function transferSelected(includeResearch) {\r\n\r\n const grid = $(\"#DailyGLGrid\").dxDataGrid(\"instance\");\r\n const selectedData = grid.getSelectedRowsData();\r\n\r\n\r\n var data = JSON.stringify(\r\n {\r\n \"AISDownloadGLs\": selectedData\r\n });\r\n\r\n var url = \"/Finance/DailyGL/TransferAISDownload/?includeResearch=\" + includeResearch;\r\n\r\n sendRequest(url,\r\n data,\r\n \"PUT\",\r\n c => {\r\n Areas.refreshGrid(\"DailyGLGrid\");\r\n enableAllButtons();\r\n });\r\n } \r\n\r\n export function capitalizeSelected(e: any) {\r\n disableAllButtons();\r\n const grid = $(\"#DailyGLGrid\").dxDataGrid(\"instance\");\r\n const selectedData = grid.getSelectedRowsData();\r\n\r\n\r\n var data = JSON.stringify(\r\n {\r\n \"AISDownloadGLs\": selectedData\r\n });\r\n\r\n sendRequest(\"/Finance/DailyGL/CapitalizeAISDownload\", data, \"PUT\", c => {\r\n Areas.refreshGrid(\"DailyGLGrid\");\r\n enableAllButtons();\r\n });\r\n }\r\n\r\n export function excludeSelected(e: any) {\r\n disableAllButtons();\r\n const grid = $(\"#DailyGLGrid\").dxDataGrid(\"instance\");\r\n const selectedData = grid.getSelectedRowsData();\r\n\r\n\r\n var data = JSON.stringify(\r\n {\r\n \"AISDownloadGLs\": selectedData\r\n });\r\n\r\n sendRequest(\"/Finance/DailyGL/ExcludeAISDownload\", data, \"PUT\", c => {\r\n Areas.refreshGrid(\"DailyGLGrid\");\r\n enableAllButtons();\r\n });\r\n }\r\n\r\n export function unSelectRow(e: any) {\r\n\r\n const grid: any = $(\"#DailyGLSummaryGrid\").dxDataGrid(\"instance\");\r\n grid.unselectAll;\r\n grid.repaint;\r\n DisplayAllDetail();\r\n }\r\n\r\n export function updateGL(e: any) {\r\n return;\r\n }\r\n\r\n function DisplayAllDetail() {\r\n accountId = 0;\r\n Areas.refreshGrid(\"DailyGLSummaryGrid\");\r\n }\r\n\r\n export function addResearch() {\r\n checkTransfersResearch(true);\r\n }\r\n \r\n \r\n}","namespace Areas.Finance.Funding{\r\n \"use strict\";\r\n let fundTransferId: number;\r\n let runQuery: boolean = false;\r\n\r\n export function getFundTransferId() {\r\n return fundTransferId;\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n\r\n export function onFundingGridSelectionChanged(e: any) {\r\n\r\n let rowData: any = e.selectedRowsData[0];\r\n\r\n let rowForm: any = $(\"#FundingForm\").dxForm(\"instance\");\r\n rowForm.option(\"formData\", rowData);\r\n\r\n\r\n let selectedRows = e.component.getSelectedRowsData();\r\n\r\n if (selectedRows.length === 1) {\r\n runQuery = true;\r\n fundTransferId = selectedRows[0].fundTransferId;\r\n Areas.refreshGrid(\"FundingDetailGrid\");\r\n }\r\n }\r\n\r\n export function onFundingContentReady(e: any) {\r\n if (!e.component.getSelectedRowKeys().length)\r\n e.component.selectRowsByIndexes(0);\r\n\r\n }\r\n\r\n export function updateFundingProfile() {\r\n const form = $(\"#FundingForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n\r\n const url = `/Finance/Funding/Put/${fundTransferId}`;\r\n const method = \"PUT\";\r\n\r\n sendRequest(url,\r\n JSON.stringify(newData),\r\n method,\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n }\r\n\r\n\r\n\r\n}","namespace Areas.Finance.IrsDeclarations {\r\n \"use strict\";\r\n\r\n export function onRowUpdating (options: any) {\r\n // Force it to send appropriate data for below fields even though they are not been modified.\r\n // This is because of the custome SaveAccountMilestoneCommand which was overwriting data not modified.\r\n options.newData.accountId = options.oldData.accountId;\r\n options.newData.accountMilestoneId = options.oldData.accountMilestoneId;\r\n if (options.newData.milestoneDate === undefined) {\r\n options.newData.milestoneDate = options.oldData.milestoneDate;\r\n }\r\n if (options.newData.milestoneNote === undefined) {\r\n options.newData.milestoneNote = options.oldData.milestoneNote;\r\n }\r\n if (options.newData.irsDeclarationAmount === undefined) {\r\n options.newData.irsDeclarationAmount = options.oldData.irsDeclarationAmount;\r\n }\r\n if (options.newData.includeInReport === undefined) {\r\n options.newData.includeInReport = options.oldData.includeInReport;\r\n }\r\n }\r\n\r\n export function viewMilestoneLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.accountId; },\r\n \"View Milestone\");\r\n }\r\n}","namespace Areas.Finance.Memos {\r\n \"use strict\";\r\n\r\n let projectNumber: string;\r\n let projectName: string;\r\n let projectId: number;\r\n\r\n\r\n\r\n export function viewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.accountId; },\r\n \"View\");\r\n }\r\n\r\n export function addMemo() {\r\n\r\n const glGrid = $(\"#MemosGrid\").dxDataGrid(\"instance\");\r\n\r\n const parameters = {\r\n projectName: projectName,\r\n projectNumber: projectNumber,\r\n projectId: projectId,\r\n calledFrom: \"Memos\"\r\n };\r\n\r\n\r\n const createGLMemoDialog = new Areas.Dialogs.GLMemo.CreateGLMemoDialog(memoDialogClosing, parameters)\r\n }\r\n\r\n export function editMemo() {\r\n const glGrid = $(\"#MemosGrid\").dxDataGrid(\"instance\");\r\n const selectedRows = glGrid.getSelectedRowsData();\r\n\r\n if (selectedRows.length) {\r\n\r\n const parameters = {\r\n data: selectedRows[0],\r\n calledFrom: \"Memos\"\r\n };\r\n\r\n const editGLMemoDialog = new Areas.Dialogs.GLMemo.EditGLMemoDialog(memoDialogClosing, parameters);\r\n\r\n }\r\n }\r\n\r\n function memoDialogClosing() {\r\n Areas.refreshGrid(\"MemosGrid\");\r\n \r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","namespace Areas.Finance.MonthlyGL{\r\n \"use strict\";\r\n\r\n const baseUrl = \"/Finance/MonthlyGL\";\r\n\r\n\r\n export function getCurrentGLBalance() {\r\n const form = $(\"#CurrentBalanceForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n var lmoId: number = newData.uniqueId;\r\n\r\n if (lmoId != null) {\r\n $.get(`${baseUrl}/GetCurrentGLBalanceQuery/${lmoId}`,\r\n (data) => { form.option(\"formData\", data) });\r\n }\r\n }\r\n\r\n export function updateGLBalance() {\r\n const form = $(\"#CurrentBalanceForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n var lmoId = newData.uniqueId;\r\n\r\n const url = `${baseUrl}/MonthlyGLPost/${lmoId}`;\r\n const method = \"POST\";\r\n\r\n sendRequest(url,\r\n JSON.stringify(newData),\r\n method,\r\n (data) => {\r\n Areas.reloadPage()\r\n });\r\n }\r\n\r\n}","namespace Areas.Finance.Reports {\r\n \"use strict\";\r\n\r\n let timePeriodText: string;\r\n\r\n\r\n export function GetCP509A() {\r\n const url = `/Finance/Reports/Get509A`;\r\n window.open(url);\r\n }\r\n\r\n export function GetCP509Summary() {\r\n const url = `/Finance/Reports/Get509Summary`;\r\n window.open(url);\r\n }\r\n\r\n export function GetCP509B() {\r\n const form = $(\"#Report509BForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n let startDate = formData.startDate;\r\n if (startDate != null) {\r\n startDate = moment(formData.startDate).format('YYYY-MM-DD');\r\n }\r\n\r\n let endDate = formData.endDate;\r\n if (endDate != null) {\r\n endDate = moment(formData.endDate).format('YYYY-MM-DD');\r\n }\r\n\r\n const url = `/Finance/Reports/Get509B/${startDate}/${endDate}`;\r\n window.open(url);\r\n\r\n }\r\n\r\n export function getStartEndDateFromTimePeriod509B(e) {\r\n\r\n const form = $(\"#Report509BForm\").dxForm(\"instance\");\r\n const reportData: any = form.option(\"formData\");\r\n \r\n if (e.selectedItem == null) {\r\n timePeriodText = null\r\n reportData.startDate = null;\r\n reportData.endDate = null;\r\n form.option(\"formData\", reportData);\r\n\r\n } else {\r\n timePeriodText = e.selectedItem.id;\r\n\r\n $.get(`/Finance/Reports/GetStartEndDates/${timePeriodText}`,\r\n (data) => {\r\n\r\n reportData.startDate = data.beginDate;\r\n reportData.endDate = data.endDate;\r\n form.option(\"formData\", reportData);\r\n\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n}","namespace Areas.Finance.Reports{\r\n \"use strict\";\r\n\r\n\r\n export function updatePublicWebsite() {\r\n \r\n let url = \"/Analysis/Updates/UpdatePublicWebsite\" ;\r\n sendRequest(url, null, 'Put');\r\n }\r\n\r\n export function updateTemporaryContractAnalysis() {\r\n\r\n let url = \"/Analysis/Updates/CreateTempContractAnalysis\";\r\n sendRequest(url, null, 'Put');\r\n }\r\n\r\n export function updateTemporaryContractAdvertisement() {\r\n\r\n let url = \"/Analysis/Updates/CreateTempContractAdvertisement\";\r\n sendRequest(url, null, 'Put');\r\n }\r\n\r\n export function updateTemporaryContractInsurance() {\r\n\r\n let url = \"/Analysis/Updates/CreateTempContractInsurance\";\r\n sendRequest(url, null, 'Put');\r\n }\r\n\r\n export function updateTemporaryContractPSA() {\r\n\r\n let url = \"/Analysis/Updates/CreateTempContractPSA\";\r\n sendRequest(url, null, 'Put');\r\n }\r\n\r\n}","namespace Areas.Finance.Research {\r\n \"use strict\";\r\n\r\n\r\n\r\n export function removeResearch() {\r\n\r\n const glGrid = $(\"#ResearchGrid\").dxDataGrid(\"instance\");\r\n\r\n\r\n const selectedRows = glGrid.getSelectedRowsData();\r\n\r\n if (selectedRows.length) {\r\n\r\n var selectedRowIds = glGrid.getSelectedRowKeys().join(',');\r\n var url = \"/Finance/Research/RemoveFromResearch/?ids=\" + selectedRowIds;\r\n\r\n sendRequest(url, \"\", \"PUT\", () => { $('#ResearchGrid').dxDataGrid(\"instance\").refresh(); });\r\n\r\n }\r\n\r\n return;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\n","namespace Areas.Finance.Edit {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Finance\", \"Edit\",\r\n [\"Balances\",\"DailyGL\", \"MonthlyGL\", \"Funding\",\"IrsDeclarations\",\"Memos\",\"Research\",\"Reports\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n export function updateReconcileProfile() {\r\n const form = $(\"#ReconcileProfileForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const result: any = form.validate();\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/Reconcile/Profile/Put/${keyId}`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/Reconcile/List/Active\";\r\n location.href = linkInfo;\r\n\r\n }\r\n}","namespace Areas.Finance.View {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Finance\", \"View\",\r\n [\"Balances\", \"DailyGL\", \"MonthlyGL\", \"Funding\", \"IrsDeclarations\", \"Memos\", \"Research\", \"Reports\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n}","namespace Areas.Maintenance.CustomQuery {\r\n \"use strict\";\r\n\r\n let customQueryId: number;\r\n let runQuery: boolean = false; \r\n\r\n export function getCustomQueryId() {\r\n return customQueryId;\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n } \r\n \r\n export function onCustomQuerySelected(e: any) {\r\n var selectedRows = e.component.getSelectedRowsData();\r\n\r\n if (selectedRows.length === 1) {\r\n runQuery = true;\r\n customQueryId = selectedRows[0].customQueryId;\r\n Areas.refreshGrid(\"CustomQueryFieldGrid\");\r\n Areas.refreshGrid(\"CustomQueryLinkGrid\");\r\n }\r\n } \r\n \r\n export function newCustomQueryField(e: any) {\r\n const dataGrid = e.component;\r\n e.data.customQueryId = getCustomQueryId();\r\n } \r\n \r\n export function newCustomQueryLink(e: any) {\r\n const dataGrid = e.component;\r\n e.data.customQueryId = getCustomQueryId();\r\n } \r\n \r\n var selected: Selected = new Selected();\r\n\r\n export function onUserIDValueChanged(rowData, value) {\r\n return userValueChanged(selected)(rowData, value);\r\n }\r\n\r\n export function userLookupEditTemplate(cellElement, cellInfo) {\r\n return lookupEditTemplate(\"/Maintenance/CustomQuery/Users\", selected)(cellElement, cellInfo);\r\n }\r\n\r\n export function userLookupCellTemplate(cellElement, cellInfo) {\r\n return lookupCellTemplate(cellElement, cellInfo);\r\n } \r\n}","namespace Areas.Maintenance {\r\n \"use strict\";\r\n\r\n var selected = new Selected();\r\n\r\n export function onUserIdValueChanged(rowData: any, value: any) {\r\n return userValueChanged(selected)(rowData, value);\r\n }\r\n\r\n export function userAuthorizedLookupEditTemplate(cellElement: any, cellInfo: any) {\r\n return lookupEditTemplate(\"/Maintenance/AuthorizedUser/Users\", selected)(cellElement, cellInfo);\r\n }\r\n\r\n export function userLookupEditTemplate(cellElement: any, cellInfo: any) {\r\n return lookupEditTemplate(\"/Maintenance/SystemUsers/Users\", selected)(cellElement, cellInfo);\r\n }\r\n\r\n export function userLookupCellTemplate(cellElement: any, cellInfo: any) {\r\n return lookupCellTemplate(cellElement, cellInfo);\r\n }\r\n\r\n export function disableColumnEdit(columnName: string) {\r\n return function (e: any) {\r\n if (e.rowType !== \"data\" || !e.row.isEditing)\r\n return;\r\n if (e.column.dataField === columnName && !e.row.isNewRow)\r\n e.cellElement.find('input').prop('readonly', true);\r\n }\r\n } \r\n\r\n}\r\n\r\n\r\n\r\n","namespace Areas.Maintenance.List {\r\n \"use strict\";\r\n\r\n var projectMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"AccountMilestoneType\", \"AccountProgramType\", \"EthnicityType\", \"LRDPZone\", \"ProjectType\",\r\n \"ProjectTypeDetail\", \"ProjectTypeTree\", \"RoleType\", \"StatusGroup\", \"Status\"])\r\n\r\n var fundMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"FundingSourceType\", \"FundingSource\", \"FundTransferAuthorizedVia\", \"FundTransferType\"])\r\n\r\n var accountCIBMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"AccountCIBStatus\", \"PWCFund\"])\r\n\r\n var budgetMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"BudgetCategory\", \"BudgetCategoryGroup\", \"UCOPSubCode\"])\r\n\r\n var constructionManagementMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"SubmittalStatus\", \"MeetingMinutesStatus\", \"ProfileStatus\", \"PunchListStatus\", \"WarrantyStatus\",\r\n \"ProfileType\"])\r\n\r\n var contractorPayMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"RetentionType\", \"ContractScheduleValueType\", \"ContractScheduleValueAction\"])\r\n\r\n var generalLedgerMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"GLActivityType\", \"GLDataGroup\", \"GLLinearMonth\", \"GLTypeEntry\", \"GLFiscalYear\"])\r\n\r\n var changeManagementMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"ChangeManagementReason\", \"ChangeManagementStatus\", \"ChangeManagementType\"])\r\n\r\n var systemMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"AuthorizedUser\", \"SystemConfigSettings\", \"SystemUsers\"])\r\n\r\n var recordRetentionMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"RecordsRetentionSubCategory\"])\r\n\r\n var vendorMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"VendorClassificationType\"])\r\n\r\n var peopleMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"ContactPhoneType\"])\r\n\r\n var accountScheduleMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"Phase\", \"SubPhase\", \"AccountScheduleType\", \"AccountScheduleStatus\"])\r\n\r\n\r\n export function projectMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(projectMaintenanceTabItems)(params);\r\n }\r\n\r\n export function fundMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(fundMaintenanceTabItems)(params);\r\n }\r\n\r\n export function accountCIBMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(accountCIBMaintenanceTabItems)(params);\r\n }\r\n\r\n export function budgetMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(budgetMaintenanceTabItems)(params);\r\n }\r\n\r\n export function constructionManagementMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(constructionManagementMaintenanceTabItems)(params);\r\n }\r\n\r\n export function contractorPayMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(contractorPayMaintenanceTabItems)(params);\r\n }\r\n\r\n export function generalLedgerMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(generalLedgerMaintenanceTabItems)(params);\r\n }\r\n\r\n export function changeManagementMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(changeManagementMaintenanceTabItems)(params);\r\n }\r\n\r\n export function systemMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(systemMaintenanceTabItems)(params);\r\n }\r\n\r\n export function recordRetentionMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(recordRetentionMaintenanceTabItems)(params);\r\n }\r\n\r\n export function peopleMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(peopleMaintenanceTabItems)(params);\r\n }\r\n\r\n export function vendorMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(vendorMaintenanceTabItems)(params);\r\n }\r\n \r\n export function accountScheduleMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(accountScheduleMaintenanceTabItems)(params);\r\n }\r\n}","namespace Areas.MeetingMinutes.List {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"MeetingMinutes\", [\"Active\", \"Completed\", \"Deleted\"], \"List\");\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n export function onGridSelectionChanged(e: any) {\r\n const rowSelected = e.selectedRowsData.length === 1;\r\n\r\n if (rowSelected) {\r\n enableButton(\"EditButton\");\r\n } else {\r\n disableButton(\"EditButton\");\r\n }\r\n }\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"Edit\";\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.meetingMinutesProfileId; },\r\n linkInfo);\r\n }\r\n\r\n export function view() {\r\n gotoSelected(\"MeetingMinutesListGrid\", \"/MeetingMinutes/Profile/View/\");\r\n }\r\n\r\n export function edit() {\r\n gotoSelected(\"MeetingMinutesListGrid\", \"/MeetingMinutes/Profile/Edit/\");\r\n }\r\n\r\n export function showCreate() {\r\n const createMeetingMinutesProfileDialog = new Areas.Dialogs.CreateMeetingMinutesProfileDialog(() => { });\r\n }\r\n\r\n}","namespace Areas.MeetingMinutes.Edit {\r\n \"use strict\";\r\n\r\n let taskId: number;\r\n let sessionId: number;\r\n let profileAccountId: number;\r\n let runQuery: boolean = false;\r\n let newAccountId: number; //for copy to different project\r\n\r\n\r\n let currentProfile: any;\r\n let currentTask: any;\r\n let currentAttendee: any;\r\n\r\n const baseUrl = \"/MeetingMinutes/MeetingMinutes\";\r\n\r\n \r\n export function goToActions(projectInfoId: number, sharePointLink: string) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 3) {\r\n goToReportMeetingMinutes(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n function goToSharePoint(sharePointLink) {\r\n if (sharePointLink != null) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n return\r\n }\r\n\r\n function goToPIFPAF(projectInfoId) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n\r\n export function goToReportMeetingMinutes(e) {\r\n const grid = $(\"#SessionGrid\").dxDataGrid(\"instance\");\r\n const rows = grid.getSelectedRowsData();\r\n if (rows.length == 1) {\r\n clearSelectBoxSelection(e);\r\n var id = rows[0].meetingMinutesSessionId;\r\n const url = `/Reports/Report/GetReport820/${id}`;\r\n window.open(url);\r\n }\r\n }\r\n\r\n export function getSessionId() {\r\n return sessionId;\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n\r\n export function onContentReadySessionGrid(e: any) {\r\n\r\n profileAccountId = e.component.option(\"accountId\");\r\n\r\n //on multi grid pages that are master detail we can't keep selecting first row\r\n let selectedRows = e.component.getSelectedRowsData();\r\n\r\n if (selectedRows.length < 1) {\r\n e.component.selectRowsByIndexes([0], false);\r\n }\r\n\r\n //see if a row was selected\r\n selectedRows = e.component.getSelectedRowsData();\r\n\r\n if (selectedRows.length < 1) {\r\n\r\n //still no selected so grid must be empty, disable Attendees and task\r\n\r\n let attendeesGrid: any = $(\"#AttendeesGrid\").dxDataGrid(\"instance\");\r\n let taskGrid: any = $(\"#TaskGrid\").dxDataGrid(\"instance\");\r\n\r\n attendeesGrid.option(\"disabled\", true);\r\n taskGrid.option(\"disabled\", true);\r\n }\r\n\r\n }\r\n\r\n export function onContentReadyChildGrids(e: any) {\r\n\r\n //on multi grid pages that are master detail we can't keep selecting first row\r\n let selectedRows = e.component.getSelectedRowsData();\r\n\r\n if (selectedRows.length < 1) {\r\n e.component.selectRowsByIndexes([0], false);\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n export function onNewSessionRow(e: any) {\r\n e.data.accountId = e.component.option(\"accountId\");\r\n e.data.meetingMinutesProfileId = e.component.option(\"profileId\");\r\n\r\n }\r\n\r\n\r\n export function onNewTaskRow(e: any) {\r\n e.data.accountId = e.component.option(\"accountId\");\r\n e.data.meetingMinutesSessionId = sessionId;\r\n currentTask = e.data;\r\n\r\n }\r\n\r\n export function onNewAttendeeRow(e: any) {\r\n e.data.accountId = e.component.option(\"accountId\");\r\n e.data.meetingMinutesSessionId = sessionId;\r\n currentAttendee = e.data;\r\n }\r\n\r\n export function onSessionGridSelectionChanged(e: any) {\r\n let selectedRows = e.component.getSelectedRowsData();\r\n let attendeesGrid: any = $(\"#AttendeesGrid\").dxDataGrid(\"instance\");\r\n let taskGrid: any = $(\"#TaskGrid\").dxDataGrid(\"instance\");\r\n\r\n if (selectedRows.length === 1) {\r\n runQuery = true;\r\n sessionId = selectedRows[0].meetingMinutesSessionId;\r\n\r\n const data: any = e.selectedRowsData[0];\r\n\r\n attendeesGrid.option(\"disabled\", false);\r\n taskGrid.option(\"disabled\", false);\r\n Areas.refreshGrid(\"AttendeesGrid\");\r\n Areas.refreshGrid(\"TaskGrid\");\r\n\r\n } else {\r\n\r\n attendeesGrid.option(\"disabled\", true);\r\n taskGrid.option(\"disabled\", true);\r\n }\r\n }\r\n\r\n\r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/MeetingMinutes/List/Active\";\r\n location.href = linkInfo;\r\n\r\n }\r\n\r\n\r\n export function addSessionGridButtons(e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n\r\n let visibleButton = grid.option(\"IsEditable\");\r\n\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: \"session\" },\r\n text: \"Copy Meeting\",\r\n hint: \"Copy\",\r\n type: \"default\",\r\n icon: \"add\",\r\n visible: visibleButton,\r\n onClick: copyMeeting\r\n }, \"before\");\r\n\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: \"session\" },\r\n text: \"Copy Meeting to Different Project\",\r\n hint: \"Copy to different project\",\r\n type: \"default\",\r\n icon: \"add\",\r\n visible: visibleButton,\r\n onClick: copyMeetingToDifferentProject\r\n }, \"before\");\r\n\r\n }\r\n\r\n\r\n export function copyMeeting() {\r\n const dataGrid = $(\"#SessionGrid\").dxDataGrid(\"instance\");\r\n const selectedRows = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRows.length) {\r\n const id = selectedRows[0].meetingMinutesSessionId;\r\n const url = `/MeetingMinutes/MeetingMinutes/CopyMeetingMinutesSession/${id}`;\r\n\r\n sendRequest(url, \"\", \"POST\", () => {\r\n dataGrid.refresh();\r\n dataGrid.selectRowsByIndexes([0]);\r\n });\r\n }\r\n\r\n }\r\n\r\n export function copyMeetingToDifferentProject() {\r\n const dataGrid = $(\"#SessionGrid\").dxDataGrid(\"instance\");\r\n const selectedRows = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRows.length) {\r\n sessionId = selectedRows[0].meetingMinutesSessionId;\r\n }\r\n\r\n selectAccountForCopyMeeting();\r\n\r\n\r\n\r\n }\r\n\r\n function copyMeetingToDifferentProjectFinal() {\r\n\r\n const dataGrid = $(\"#SessionGrid\").dxDataGrid(\"instance\");\r\n const profileId = dataGrid.option(\"profileId\");\r\n\r\n if (newAccountId > 0) {\r\n const url = `/MeetingMinutes/MeetingMinutes/CopyMeetingMinutesSessionToDifferentProject/${profileId}/${sessionId}/${newAccountId}`;\r\n\r\n sendRequest(url, \"\", \"POST\", () => {\r\n dataGrid.refresh();\r\n \r\n });\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n function selectAccountForCopyMeeting() {\r\n const accountDialog = new Areas.Dialogs.AccountDialog(dialogClosingCopyMeeting);\r\n }\r\n\r\n function dialogClosingCopyMeeting(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n newAccountId = data.accountId;\r\n copyMeetingToDifferentProjectFinal();\r\n }\r\n\r\n\r\n export function selectAccount() {\r\n const accountDialog = new Areas.Dialogs.AccountDialog(dialogClosing);\r\n }\r\n\r\n function dialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const dataGrid = $(\"#MeetingMinutesProfileGrid\").dxDataGrid(\"instance\");\r\n\r\n var rowIndex = getRowIndex(dataGrid);\r\n updateGridRow(dataGrid, rowIndex, data);\r\n }\r\n\r\n function getRowIndex(dataGrid: DevExpress.ui.dxDataGrid): number {\r\n let rowIndex = 0;\r\n\r\n if (currentProfile === undefined || currentProfile === null) {\r\n return rowIndex;\r\n } else if (currentProfile.meetingMinutesProfileId) {\r\n rowIndex = dataGrid.getRowIndexByKey(currentProfile.meetingMinutesProfileId);\r\n }\r\n\r\n return rowIndex;\r\n }\r\n\r\n function updateGridRow(dataGrid: DevExpress.ui.dxDataGrid, rowIndex: number, data: any) {\r\n\r\n dataGrid.cellValue(rowIndex, \"accountId\", data.accountId);\r\n dataGrid.cellValue(rowIndex, \"accountName\", data.accountName);\r\n dataGrid.cellValue(rowIndex, \"projectCCNumber, data.projectCCNumber\");\r\n\r\n currentProfile.accountId = data.accountId;\r\n currentProfile.accountName = data.accountName;\r\n currentProfile.projectCCNumber = data.projectCCNumber;\r\n\r\n profileAccountId = data.accountId; //in case account Id is changed from model\r\n\r\n dataGrid.repaintRows([rowIndex]);\r\n }\r\n\r\n export function onEditingStart(e: any) {\r\n currentProfile = e.data;\r\n }\r\n\r\n export function editAccountTemplate(cellElement, cellInfo) {\r\n let accountDisplayName = !cellInfo.data.accountName ? \"Select...\" : cellInfo.data.accountName;\r\n let htmlString = `
${accountDisplayName}
`;\r\n let html = $.parseHTML(htmlString);\r\n\r\n cellElement.on(\"click\", selectAccount);\r\n cellElement.append(html);\r\n }\r\n\r\n\r\n //attendee contact lookup\r\n export function editContactTemplate(cellElement, cellInfo) {\r\n let contactDisplayName = !cellInfo.data.contactName ? \"Select...\" : cellInfo.data.contactName;\r\n let htmlString = `
${contactDisplayName}
`;\r\n let html = $.parseHTML(htmlString);\r\n\r\n cellElement.on(\"click\", selectContact);\r\n cellElement.append(html);\r\n }\r\n\r\n export function selectContact() {\r\n const contactDialog = new Areas.Dialogs.ContactDialog(dialogContactClosing);\r\n }\r\n\r\n function dialogContactClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const dataGrid = $(\"#AttendeesGrid\").dxDataGrid(\"instance\");\r\n\r\n var rowIndex = getAttendeesRowIndex(dataGrid);\r\n updateContactGridRow(dataGrid, rowIndex, data);\r\n }\r\n\r\n function getAttendeesRowIndex(dataGrid: DevExpress.ui.dxDataGrid): number {\r\n let rowIndex = 0;\r\n\r\n if (currentAttendee === undefined || currentAttendee === null) {\r\n return rowIndex;\r\n } else if (currentAttendee.meetingMinutesAttendeeId) {\r\n rowIndex = dataGrid.getRowIndexByKey(currentAttendee.meetingMinutesAttendeeId);\r\n }\r\n\r\n return rowIndex;\r\n }\r\n\r\n function updateContactGridRow(dataGrid: DevExpress.ui.dxDataGrid, rowIndex: number, data: any) {\r\n\r\n dataGrid.cellValue(rowIndex, \"contactId\", data.contactId);\r\n dataGrid.cellValue(rowIndex, \"contactName\", data.displayName);\r\n\r\n currentAttendee.contactId = data.contactId;\r\n currentAttendee.contactName = data.displayName;\r\n\r\n dataGrid.repaintRows([rowIndex]);\r\n }\r\n\r\n export function onAttendeeEditingStart(e: any) {\r\n currentAttendee = e.data;\r\n }\r\n\r\n export function onTaskEditingStart(e: any) {\r\n currentTask = e.data;\r\n }\r\n\r\n //task popup support\r\n interface ITextEditorDictionary {\r\n [index: string]: DevExpress.ui.dxTextBox;\r\n }\r\n\r\n\r\n const textEditorDictionary = {} as ITextEditorDictionary;\r\n\r\n export function onTaskEditorPrepared(e: any) {\r\n const fieldNames: Array = [\r\n \"displayName\"\r\n ];\r\n\r\n if (e.parentType === \"dataRow\" && fieldNames.indexOf(e.dataField) > -1) {\r\n const editor: DevExpress.ui.dxTextBox = e.editorElement.dxTextBox('instance');\r\n textEditorDictionary[e.dataField] = editor;\r\n }\r\n }\r\n\r\n export function onTaskEditPopupShowing(e: any) {\r\n const items = e.component.option(\"toolbarItems\");\r\n\r\n const saveButtonIndex = 0;\r\n const cancelButtonIndex = 1;\r\n const saveButton = items[saveButtonIndex];\r\n const cancelButton = items[cancelButtonIndex];\r\n\r\n const grid: any = $(\"#TaskGrid\").dxDataGrid(\"instance\");\r\n\r\n cancelButton.options.elementAttr = { class: \"cancel\" };\r\n cancelButton.options.icon = \"revert\";\r\n cancelButton.options.onClick = (e) => {\r\n grid.cancelEditData();\r\n grid.setMode(Areas.GridMode.Normal);\r\n };\r\n\r\n saveButton.options.type = \"success\";\r\n saveButton.options.icon = \"save\";\r\n saveButton.options.onClick = (e) => {\r\n grid.saveEditData();\r\n grid.setMode(Areas.GridMode.Normal);\r\n }\r\n\r\n e.component.option(\"toolbarItems\", items);\r\n }\r\n\r\n function setTextBoxValue(textBox: DevExpress.ui.dxTextBox, value: string) {\r\n textBox.option(\"value\", value);\r\n }\r\n\r\n //task assignee lookup\r\n export function selectTaskContact() {\r\n const parameters = { accountId: profileAccountId };\r\n const accountTeamContactLookupDialog =\r\n new Areas.Dialogs.AccountTeam.AccountTeamContactLookupDialog(\r\n dialogAccountTeamDialogClosing, parameters);\r\n\r\n }\r\n\r\n function dialogAccountTeamDialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const grid: any = $(\"#TaskGrid\").dxDataGrid(\"instance\");\r\n const rowIndex = getTaskRowIndex(grid);\r\n\r\n setTextBoxValue(textEditorDictionary[\"displayName\"], data.displayName);\r\n grid.cellValue(rowIndex, \"taskAssignedToContactId\", data.contactId);\r\n\r\n\r\n\r\n }\r\n\r\n function getTaskRowIndex(dataGrid: DevExpress.ui.dxDataGrid): number {\r\n let rowIndex = 0;\r\n\r\n if (currentTask === undefined || currentTask === null) {\r\n return rowIndex;\r\n } else if (currentTask.meetingMinutesTaskId) {\r\n rowIndex = dataGrid.getRowIndexByKey(currentTask.meetingMinutesTaskId);\r\n }\r\n\r\n return rowIndex;\r\n }\r\n\r\n export function contactValueChanged(args, setValueMethod) {\r\n if (!args.value) {\r\n selectedAccountTeamContact = null;\r\n }\r\n\r\n setValueMethod(args.value);\r\n }\r\n\r\n let selectedAccountTeamContact: any;\r\n\r\n export function onContactSelectionChanged(e, dropDownBoxInstance) {\r\n const selected = e.selectedRowsData[0];\r\n selectedAccountTeamContact = selected;\r\n\r\n const key = e.selectedRowKeys[0];\r\n dropDownBoxInstance.option(\"value\", key);\r\n }\r\n\r\n export function onCloseBtnClick(args, dropDownBoxInstance) {\r\n dropDownBoxInstance.close();\r\n }\r\n\r\n export function setRowData(rowData: any, value: any) {\r\n if (selectedAccountTeamContact) {\r\n rowData.contactId = selectedAccountTeamContact.contactId;\r\n rowData.company = selectedAccountTeamContact.companyName;\r\n rowData.contactName = selectedAccountTeamContact.displayName;\r\n rowData.initials = selectedAccountTeamContact.initials;\r\n } else {\r\n rowData.contactId = null\r\n }\r\n }\r\n\r\n\r\n}","namespace Areas.MeetingMinutes.Profile {\r\n \"use strict\";\r\n\r\n \r\n\r\n\r\n // select account\r\n function accountDialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#MeetingMinutesProfileForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.AccountId = data.accountId;\r\n formData.AccountName = data.accountName;\r\n formData.ProjectCCNumber = data.projectCCNumber;\r\n\r\n form.option(\"formData\", formData);\r\n\r\n }\r\n }\r\n\r\n export function selectAccount() {\r\n const form: any = $(\"#MeetingMinutesProfileForm\").dxForm(\"instance\");\r\n const accountLookupDialog =\r\n new Areas.Dialogs.AccountDialog(accountDialogClosing());\r\n }\r\n\r\n export function updateMeetingMinutes() {\r\n const form = $(\"#MeetingMinutesProfileForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const result: any = form.validate();\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/MeetingMinutes/Profile/Put/${keyId}`, JSON.stringify(newData), \"PUT\",\r\n () => Areas.refreshGrid(\"MeetingMinutesProfilesGrid\"));\r\n }\r\n }\r\n\r\n export function goToActions(sharePointLink: string, projectInfoId: number) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n export function goToSharePoint(sharePointLink) {\r\n if (sharePointLink != null) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n return\r\n }\r\n\r\n export function goToPIFPAF(projectInfoId) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n\r\n}","namespace Areas.MeetingMinutes.Edit {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"MeetingMinutes\", \"Edit\",\r\n [\"Profile\", \"MeetingMinutes\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n}","namespace Areas.MeetingMinutes.View {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"MeetingMinutes\", \"View\",\r\n [\"Profile\", \"MeetingMinutes\"]);\r\n \r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.meetingMinutesProfileId; },\r\n \"View\");\r\n }\r\n\r\n export function addGridButtons(e: any) {\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { class: \"dxButton lightblue\" },\r\n text: \"Create\",\r\n hint: \"Create\",\r\n type: \"default\",\r\n icon: \"plus\",\r\n onClick: () => Areas.MeetingMinutes.List.showCreate()\r\n }, \"before\");\r\n\r\n }\r\n\r\n}","\r\nnamespace Areas.MyProjects.Projects {\r\n \"use strict\";\r\n\r\n export function goToAccount(e: any) {\r\n const grid = $(\"#ActiveProjectsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].accountId;\r\n let linkInfo = \"/Account/Profile/View/\" + id;\r\n window.open(linkInfo);\r\n }\r\n }\r\n\r\n export function goToProject(e: any) {\r\n const grid = $(\"#ActiveProjectsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].accountId;\r\n let linkInfo = \"/Account/Profile/View/\" + id;\r\n window.open(linkInfo);\r\n }\r\n }\r\n\r\n export function goToSharePoint(e: any) {\r\n const grid = $(\"#ActiveProjectsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var sharePointLink = row[0].sharePointLink;\r\n let linkInfo = \"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjects/\" + sharePointLink + \"/\";\r\n if (sharePointLink != \"\") {\r\n window.open(linkInfo);\r\n }\r\n else {\r\n window.open(\"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjectsList\");\r\n }\r\n }\r\n }\r\n\r\n export function goToPIFPAF(e: any) {\r\n const grid = $(\"#ActiveProjectsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].projectInfoId;\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + id + \"\";\r\n if (id != null) {\r\n window.open(linkInfo);\r\n }\r\n }\r\n }\r\n\r\n export function goToContract(e: any) {\r\n const grid = $(\"#ActiveProjectsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].contractId;\r\n let linkInfo = \"https://contract.capnet.ucla.edu/Contract/GeneralInfo/View/\" + id + \"\";\r\n if (id != null) {\r\n window.open(linkInfo);\r\n }\r\n }\r\n }\r\n\r\n export function goToConstructionContract(e: any) {\r\n const grid = $(\"#ActiveProjectsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var accountId = row[0].accountId;\r\n\r\n if (accountId != null) {\r\n const url = `/Analysis/ActiveProjects/GetConstructionContract/${accountId}`;\r\n\r\n $.get(url, (contractId) => {\r\n if (contractId > 0) {\r\n let linkInfo = \"https://contract.capnet.ucla.edu/Contract/GeneralInfo/View/\" + contractId + \"\";\r\n window.open(linkInfo);\r\n } else {\r\n DevExpress.ui.notify(\"There is no construction contract for this Project\", \"warning\", 2000);\r\n }\r\n });\r\n }\r\n\r\n\r\n }\r\n }\r\n\r\n export function contractViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.contractId; },\r\n linkInfo);\r\n }\r\n\r\n export function projectViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.accountId; },\r\n linkInfo);\r\n }\r\n}\r\n","namespace Areas.MyProjects.Projects {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"MyProjects\", [\"Finance\",\"Dates\", \"Schedule\",\"Contracts\", \"NonPlantContracts\", \"Completed\"], \"Projects\");\r\n //var tabItems = Areas.createTabsWithSameController(\"MyProjects\", [\"Finance\", \"Dates\", \"Contracts\", \"NonPlantContracts\", \"Completed\"], \"Projects\");\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n \r\n export function viewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.accountId; },\r\n \"View\");\r\n }\r\n\r\n export function view() {\r\n gotoSelected(\"MyProjectsGrid\", \"/Account/Profile/View/\");\r\n }\r\n\r\n\r\n export function onCellPrepared(e: any) {\r\n if (e.rowType !== \"data\") {\r\n return;\r\n }\r\n setPifPafAmountBackground(e);\r\n setCIBAmountBackground(e);\r\n }\r\n\r\n function setPifPafAmountBackground(e) {\r\n var isPifPafDataCell = e.column.dataField === \"pifpafAmount\";\r\n\r\n if (isPifPafDataCell) {\r\n if (e.data.pifpafBalance < 0) {\r\n e.cellElement.css(\"background-color\", \"yellow\");\r\n } else if (e.data.pifpafAmount < e.data.cibBudgetAmount) {\r\n e.cellElement.css(\"background-color\", \"yellow\");\r\n }\r\n }\r\n }\r\n\r\n function setCIBAmountBackground(e) {\r\n var isCIBDataCell = e.column.dataField === \"cibBudgetAmount\";\r\n\r\n if (isCIBDataCell) {\r\n if (e.data.cibBudgetAmount < e.data.pifpafAmount && e.data.pifpafAmount > 1000000) {\r\n e.cellElement.css(\"background-color\", \"#FFA07A\");\r\n } else if (e.data.cibBudgetAmount < e.data.appropriation && e.data.appropriation > 1000000) {\r\n e.cellElement.css(\"background-color\", \"red\");\r\n }\r\n }\r\n }\r\n}","namespace Areas.Program.Account {\r\n \"use strict\";\r\n\r\n let currentProgramAccount: any;\r\n\r\n\r\n\r\n export function onNewProgramAccountRow(e: any) {\r\n e.data.programId = e.component.option(\"ProgramId\");\r\n currentProgramAccount = e.data;\r\n currentProgramAccount.ProgramProfileId = e.component.option(\"ProgramProfileId\");\r\n }\r\n\r\n export function updateProgramAccount() {\r\n const grid = $(\"#ProgramAccountGrid\").dxForm(\"instance\");\r\n const newData: any = grid.option(\"gridData\");\r\n const result: any = grid.validate();\r\n const keyId: any = grid.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/Program/Profile/Put/${keyId}`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n export function onEditingProgramAccountStart(e: any) {\r\n currentProgramAccount = e.data;\r\n }\r\n\r\n export function editAccountTemplate(cellElement, cellInfo) {\r\n let accountDisplayName = !cellInfo.data.projectCCNumberName ? \"Select...\" : cellInfo.data.projectCCNumberName;\r\n let htmlString = `
${accountDisplayName}
`;\r\n let html = $.parseHTML(htmlString);\r\n\r\n cellElement.on(\"click\", selectAccount);\r\n cellElement.append(html);\r\n }\r\n\r\n\r\n\r\n export function selectAccount() {\r\n const accountDialog = new Areas.Dialogs.AccountDialog(dialogClosing);\r\n }\r\n\r\n\r\n\r\n function dialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const dataGrid = $(\"#ProgramAccountGrid\").dxDataGrid(\"instance\");\r\n\r\n var rowIndex = getItemRowIndex(dataGrid);\r\n updateGridItemRow(dataGrid, rowIndex, data);\r\n }\r\n\r\n\r\n\r\n export function onProgramAccountInserted(e: any) {\r\n currentProgramAccount = null;\r\n }\r\n\r\n\r\n\r\n function getItemRowIndex(dataGrid: DevExpress.ui.dxDataGrid): number {\r\n let rowIndex = 0;\r\n\r\n if (currentProgramAccount === undefined || currentProgramAccount === null) {\r\n return rowIndex;\r\n } else if (currentProgramAccount.programAccountId) {\r\n rowIndex = dataGrid.getRowIndexByKey(currentProgramAccount.programAccountId);\r\n }\r\n\r\n return rowIndex;\r\n }\r\n\r\n function updateGridItemRow(dataGrid: DevExpress.ui.dxDataGrid, rowIndex: number, data: any) {\r\n\r\n dataGrid.cellValue(rowIndex, \"accountId\", data.accountId);\r\n dataGrid.cellValue(rowIndex, \"projectCCNumberName\", data.projectCCNumberName);\r\n\r\n currentProgramAccount.accountId = data.accountId;\r\n currentProgramAccount.projectCCNumberName = data.projectCCNumberName;\r\n\r\n dataGrid.repaintRows([rowIndex]);\r\n }\r\n}\r\n","namespace Areas.Program.Analysis {\r\n \"use strict\";\r\n\r\n export function onCellPrepared(e: any) {\r\n if (e.rowType !== \"data\") {\r\n return;\r\n }\r\n //setPifPafAmountBackground(e);\r\n //setCIBAmountBackground(e);\r\n }\r\n\r\n //function setPifPafAmountBackground(e) {\r\n // var isPifPafDataCell = e.column.dataField === \"pifpafAmount\";\r\n\r\n // if (isPifPafDataCell) {\r\n // if (e.data.pifpafBalance < 0) {\r\n // e.cellElement.css(\"background-color\", \"yellow\"); \r\n // } else if (e.data.pifpafAmount < e.data.cibBudgetAmount ) {\r\n // e.cellElement.css(\"background-color\", \"yellow\"); \r\n // }\r\n // }\r\n //}\r\n\r\n //function setCIBAmountBackground(e) {\r\n // var isCIBDataCell = e.column.dataField === \"cibBudgetAmount\";\r\n\r\n // if (isCIBDataCell) {\r\n // if (e.data.cibBudgetAmount < e.data.pifpafAmount && e.data.pifpafAmount > 1000000) {\r\n // e.cellElement.css(\"background-color\", \"#FFA07A\"); \r\n // } else if (e.data.cibBudgetAmount < e.data.appropriation && e.data.appropriation > 1000000) {\r\n // e.cellElement.css(\"background-color\", \"red\"); \r\n // }\r\n // }\r\n //}\r\n\r\n //function setStatusCellBackground(e) {\r\n // var isStatusDataCell = e.column.dataField === \"status\";\r\n\r\n // if (isStatusDataCell) {\r\n // if (e.data.status === 'Approved') {\r\n // e.cellElement.css('background-color', '#90EE90');\r\n // } else if (e.data.status === 'HOLD') {\r\n // e.cellElement.css('background-color', 'yellow');\r\n // } else if (e.data.status === 'DELETED') {\r\n // e.cellElement.css('background-color', 'red');\r\n // }\r\n // }\r\n //}\r\n\r\n\r\n export function projectViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.accountId; },\r\n linkInfo);\r\n }\r\n\r\n export function goToAccount(e: any) {\r\n const grid = $(\"#ActiveProjectsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].accountId;\r\n let linkInfo = \"/Account/Profile/View/\" + id;\r\n window.open(linkInfo);\r\n }\r\n }\r\n\r\n export function goToProject(e: any) {\r\n const grid = $(\"#ActiveProjectsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].accountId;\r\n let linkInfo = \"/Account/Profile/View/\" + id;\r\n window.open(linkInfo);\r\n }\r\n }\r\n\r\n export function goToSharePoint(e: any) {\r\n const grid = $(\"#ActiveProjectsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var sharePointLink = row[0].sharePointLink;\r\n let linkInfo = \"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjects/\" + sharePointLink + \"/\";\r\n if (sharePointLink != \"\") {\r\n window.open(linkInfo);\r\n }\r\n else {\r\n window.open(\"https://ucla.sharepoint.com/sites/CapitalPrograms/ActiveProjectsList\");\r\n }\r\n }\r\n }\r\n\r\n export function goToPIFPAF(e: any) {\r\n const grid = $(\"#ActiveProjectsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].projectInfoId;\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + id + \"\";\r\n if (id != null) {\r\n window.open(linkInfo);\r\n }\r\n }\r\n }\r\n\r\n\r\n}","namespace Areas.Program.List {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"Program\", [\"Active\", \"Completed\", \"Deleted\"], \"List\");\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n\r\n export function view() {\r\n gotoSelected(\"ProgramGrid\", \"/Program/Profile/View/\");\r\n }\r\n\r\n export function edit() {\r\n gotoSelected(\"ProgramGrid\", \"/Program/Profile/Edit/\");\r\n }\r\n\r\n export function showCreate() {\r\n const createProgramDialog = new Areas.Dialogs.CreateProgramDialog(() => { });\r\n }\r\n\r\n\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.programId; },\r\n linkInfo);\r\n }\r\n}","namespace Areas.Program.Profile {\r\n \"use strict\";\r\n\r\n \r\n export function updateProgram() {\r\n const form = $(\"#ProgramProfileForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n \r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (keyId != null) {\r\n sendRequest(`/Program/Profile/Put/${keyId}`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n \r\n}","namespace Areas.Program.Edit {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Program\", \"Edit\",\r\n [\"Profile\", \"Account\",\"Analysis\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/Program/List/Index\";\r\n location.href = linkInfo;\r\n\r\n }\r\n\r\n}\r\n","namespace Areas.Program.View {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Program\", \"View\",\r\n [\"Profile\", \"Account\", \"Analysis\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n}\r\n","namespace Areas.PunchList.Items {\r\n \"use strict\";\r\n\r\n let currentPunchListItem: any;\r\n\r\n\r\n export function onNewPunchListItemRow(e: any) {\r\n e.data.accountId = e.component.option(\"AccountId\");\r\n currentPunchListItem = e.data;\r\n currentPunchListItem.punchListProfileId = e.component.option(\"PunchListProfileId\");\r\n }\r\n\r\n export function updatePunchListItem() {\r\n const grid = $(\"#PunchListItemGrid\").dxForm(\"instance\");\r\n const newData: any = grid.option(\"gridData\");\r\n const result: any = grid.validate();\r\n const keyId: any = grid.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/PunchList/Items/Put/${keyId}`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n export function onEditingItemStart(e: any) {\r\n currentPunchListItem = e.data;\r\n }\r\n\r\n\r\n // select contact\r\n export function editContactTemplate(cellElement, cellInfo) {\r\n let displayName = !cellInfo.data.displayName ? \"Select...\" : cellInfo.data.displayName;;\r\n\r\n let htmlString = `
${displayName}
`;\r\n let html = $.parseHTML(htmlString);\r\n\r\n cellElement.on(\"click\", selectContact);\r\n cellElement.append(html);\r\n }\r\n\r\n export function selectContact() {\r\n const dataGrid = $(\"#PunchListItemGrid\").dxDataGrid(\"instance\");\r\n const accountId = dataGrid.option(\"AccountId\");\r\n const parameters = { accountId: accountId };\r\n const accountTeamContactLookupDialog =\r\n new Areas.Dialogs.AccountTeam.AccountTeamContactLookupDialog(\r\n dialogAccountTeamContactClosing, parameters);\r\n }\r\n\r\n function dialogAccountTeamContactClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const dataGrid = $(\"#PunchListItemGrid\").dxDataGrid(\"instance\");\r\n\r\n var rowIndex = getItemRowIndex(dataGrid);\r\n updateGridItemRow(dataGrid, rowIndex, data);\r\n }\r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/PunchList/List/Active\";\r\n location.href = linkInfo;\r\n\r\n }\r\n\r\n export function addGridButtons(e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n\r\n let disabledButton = grid.option(\"IsEditable\");\r\n\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: \"import\" },\r\n text: \"Import\",\r\n hint: \"Import\",\r\n type: \"default\",\r\n icon: \"add\",\r\n disabled: disabledButton,\r\n //onClick: addCoverage()\r\n }, \"before\");\r\n\r\n }\r\n\r\n\r\n export function onPunchListItemInserted(e: any) {\r\n currentPunchListItem = null;\r\n }\r\n\r\n function getItemRowIndex(dataGrid: DevExpress.ui.dxDataGrid): number {\r\n let rowIndex = 0;\r\n\r\n if (currentPunchListItem === undefined || currentPunchListItem === null) {\r\n return rowIndex;\r\n } else if (currentPunchListItem.punchListItemId) {\r\n rowIndex = dataGrid.getRowIndexByKey(currentPunchListItem.punchListItemId);\r\n }\r\n\r\n return rowIndex;\r\n }\r\n\r\n function updateGridItemRow(dataGrid: DevExpress.ui.dxDataGrid, rowIndex: number, data: any) {\r\n\r\n dataGrid.cellValue(rowIndex, \"itemAssignedToContactId\", data.contactId);\r\n dataGrid.cellValue(rowIndex, \"displayName\", data.displayName);\r\n\r\n currentPunchListItem.itemAssignedToContactId = data.contactId;\r\n currentPunchListItem.displayName = data.displayName;\r\n\r\n dataGrid.repaintRows([rowIndex]);\r\n }\r\n\r\n export function goToActions(projectInfoId: number, sharePointLink: string) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n function goToSharePoint(sharePointLink) {\r\n if (sharePointLink != null) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n return\r\n }\r\n\r\n function goToPIFPAF(projectInfoId) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n\r\n}","namespace Areas.PunchList.List {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"PunchList\", [\"Active\", \"Completed\", \"Deleted\"], \"List\");\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n export function onGridContentReady(e: any) {\r\n e.component.selectRowsByIndexes([0], false);\r\n }\r\n\r\n export function view() {\r\n gotoSelected(\"PunchListProfileGrid\", \"/PunchList/Profile/View/\");\r\n }\r\n\r\n export function edit() {\r\n gotoSelected(\"PunchListProfileGrid\", \"/PunchList/Profile/Edit/\");\r\n }\r\n\r\n export function showCreate() {\r\n const createPunchListProfileDialog = new Areas.Dialogs.CreatePunchListProfileDialog(() => { });\r\n }\r\n \r\n\r\n export function insertRecord(e: any) {\r\n const form = $(\"#PunchListProfileForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n const newData: any = form.option(\"formData\");\r\n sendRequest(\"/PunchList/Profile/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.punchListProfileId; },\r\n linkInfo);\r\n }\r\n}","namespace Areas.PunchList.Profile {\r\n \"use strict\";\r\n\r\n export function goToActions(projectInfoId: number, sharePointLink: string) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n function goToSharePoint(sharePointLink) {\r\n if (sharePointLink != null) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n return\r\n }\r\n\r\n function goToPIFPAF(projectInfoId) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n\r\n\r\n // select account\r\n function accountDialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#PunchListProfileForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.AccountId = data.accountId;\r\n formData.AccountName = data.accountName;\r\n formData.ProjectCCNumber = data.projectCCNumber;\r\n\r\n form.option(\"formData\", formData);\r\n\r\n }\r\n }\r\n\r\n export function selectAccount() {\r\n const form: any = $(\"#PunchListProfileForm\").dxForm(\"instance\");\r\n const accountLookupDialog =\r\n new Areas.Dialogs.AccountDialog(accountDialogClosing());\r\n }\r\n\r\n}","namespace Areas.PunchList.Edit {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"PunchList\", \"Edit\",\r\n [\"Profile\", \"Items\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n export function updatePunchListProfile() {\r\n const form = $(\"#PunchListProfileForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const result: any = form.validate();\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/PunchList/Profile/Put/${keyId}`, JSON.stringify(newData), \"PUT\",\r\n () => Areas.refreshGrid(\"PunchListProfilesGrid\"));\r\n }\r\n }\r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/PunchList/List/Active\";\r\n location.href = linkInfo;\r\n\r\n }\r\n}","namespace Areas.PunchList.View {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"PunchList\", \"View\",\r\n [\"Profile\", \"Items\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.punchListProfileId; },\r\n \"View\");\r\n }\r\n\r\n export function addGridButtons(e: any) {\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { class: \"dxButton lightblue\" },\r\n text: \"Create\",\r\n hint: \"Create\",\r\n type: \"default\",\r\n icon: \"plus\",\r\n onClick: () => Areas.PunchList.List.showCreate()\r\n }, \"before\");\r\n\r\n }\r\n\r\n}","namespace Areas.RecordsRetention.Create {\r\n \"use strict\";\r\n\r\n export function createSummary() {\r\n const form = $(\"#SummaryForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid != null) {\r\n sendRequest(`/RecordsRetention/Create/Post/`, JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n}","namespace Areas.RecordsRetention.List {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"RecordsRetention\", [\"Active\", \"Completed\",\"InActive\"], \"List\");\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n export function view() {\r\n gotoSelected(\"ListGrid\", \"/RecordsRetention/RecordsRetention/View/\");\r\n }\r\n\r\n export function edit() {\r\n gotoSelected(\"ListGrid\", \"/RecordsRetention/RecordsRetention/Edit/\");\r\n }\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.recordsRetentionId; },\r\n linkInfo);\r\n }\r\n\r\n\r\n\r\n}","namespace Areas.RecordsRetention.RecordsRetention {\r\n import DialogResult = Areas.DialogResult;\r\n import sendRequest = Areas.sendRequest;\r\n \"use strict\";\r\n\r\n\r\n export function gotoCreate() {\r\n var linkInfo = \"/RecordsRetention/Create/Index/\";\r\n location.href = linkInfo;\r\n }\r\n\r\n export function selectAccount() {\r\n const form: any = $(\"#SummaryForm\").dxForm(\"instance\");\r\n\r\n const accountLookupDialog =\r\n new Areas.Dialogs.AccountDialog(accountDialogClosing);\r\n }\r\n\r\n function accountDialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#SummaryForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.AccountId = data.accountId;\r\n formData.ProjectCCNumberName = data.projectCCNumberName;\r\n form.option(\"formData\", formData);\r\n\r\n //per 4/9 meeting account lookup does NOT overwrite data in ProjectNumber\r\n // projectDescription\r\n let okToUpdate = false;\r\n if (formData.ProjectNumber.length == 0) {\r\n if (formData.ProjectName.length == 0) {\r\n okToUpdate = true\r\n }\r\n }\r\n\r\n if (okToUpdate) {\r\n formData.ProjectNumber = data.accountNumber;\r\n formData.ProjectName = data.accountName;\r\n form.option(\"formData\", formData);\r\n }\r\n\r\n }\r\n\r\n export function selectContract() {\r\n const form: any = $(\"#SummaryForm\").dxForm(\"instance\");\r\n\r\n const contractLookupDialog =\r\n new Areas.Dialogs.ContractDialog(contractDialogClosing);\r\n }\r\n\r\n function contractDialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#SummaryForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.ContractId = data.contractId;\r\n formData.ContractName = data.contractName;\r\n\r\n let okToUpdate = false;\r\n if (formData.InspectionAcceptanceDate == null) {\r\n okToUpdate = true;\r\n }\r\n\r\n if (okToUpdate) {\r\n formData.InspectionAcceptanceDate = data.inspectionAcceptance;\r\n formData.NOCDate = data.nocDate;\r\n } else {\r\n const verifyOverwrite = window.confirm(\"Do you want to overwrite existing NOC and Inspection Dates?\");\r\n\r\n if (verifyOverwrite) {\r\n formData.InspectionAcceptanceDate = data.inspectionAcceptance;\r\n formData.NOCDate = data.nocDate;\r\n }\r\n }\r\n\r\n\r\n form.option(\"formData\", formData);\r\n\r\n }\r\n\r\n export function selectValidFund() {\r\n const form: any = $(\"#SummaryForm\").dxForm(\"instance\");\r\n const parameters = { accountId: form.option(\"AccountId\") };\r\n\r\n const validFundLookupDialog =\r\n new Areas.Dialogs.ValidFundLookup(validFundLookupClosing, parameters);\r\n }\r\n\r\n function validFundLookupClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#SummaryForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.AccountValidFundId = data.fundingSourceId;\r\n formData.FundingSourceLookupDescription = data.fundNumberName;\r\n\r\n //per 4/9 meeting valid fund lookup does NOT overwrite data in AccountValidFundCodeName (real field AccountValidFund)\r\n // which is user editable\r\n let okToUpdate = false;\r\n if (formData.AccountValidFundCodeName.length == 0) {\r\n okToUpdate = true;\r\n }\r\n\r\n if (okToUpdate) {\r\n formData.AccountValidFundCodeName = data.FundNumberName\r\n form.option(\"formData\", formData);\r\n }\r\n\r\n form.option(\"formData\", formData);\r\n\r\n }\r\n\r\n export function selectGoverningFundSource() {\r\n const form: any = $(\"#SummaryForm\").dxForm(\"instance\");\r\n const parameters = { accountId: form.option(\"AccountId\") };\r\n\r\n const governingFundLookupDialog =\r\n new Areas.Dialogs.ValidFundLookup(governingFundLookupClosing, parameters);\r\n }\r\n\r\n function governingFundLookupClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#SummaryForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.GoverningFundingSourceId = data.fundingSourceId;\r\n formData.GoverningSourceLookupDescription = data.fundNumberName;\r\n\r\n let okToUpdate = false;\r\n if (formData.GoverningFundingSource.length == 0) {\r\n okToUpdate = true;\r\n }\r\n\r\n if (okToUpdate) {\r\n formData.GoverningFundingSource = data.GoverningFundingSource\r\n form.option(\"formData\", formData);\r\n }\r\n\r\n form.option(\"formData\", formData);\r\n\r\n }\r\n\r\n export function returnToList() {\r\n var linkInfo = \"/RecordsRetention/List/Active\";\r\n location.href = linkInfo;\r\n\r\n }\r\n\r\n export function updateSummaryRecord() {\r\n const form = $(\"#SummaryForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const result: any = form.validate();\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/RecordsRetention/RecordsRetention/Put/${keyId}`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n export function deleteSummaryRecord() {\r\n const form = $(\"#SummaryForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/RecordsRetention/RecordsRetention/Delete/${keyId}/`, \"\", \"DELETE\",\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n }\r\n }\r\n\r\n export function goToActions(accountId: string, contractId: string) {\r\n return (e: any) => {\r\n\r\n if (e.value == 1) {\r\n goToAccount(accountId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n if (contractId != null) {\r\n goToContract(contractId);\r\n }\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n function goToAccount(accountId: string) {\r\n let linkInfo = \"/Account/Profile/View/\" + accountId;\r\n window.open(linkInfo);\r\n }\r\n\r\n function goToContract(contractId: string) {\r\n if (contractId != null) {\r\n let linkInfo = \"https://contract.capnet.ucla.edu/Contract/GeneralInfo/View/\" + contractId;\r\n window.open(linkInfo);\r\n }\r\n }\r\n\r\n}","namespace Areas.Reports {\r\n \"use strict\";\r\n\r\n\r\n //505\r\n export function GetCP505Dialog(a) {\r\n \r\n\r\n const Report505Dialog =\r\n new Areas.Dialogs.Report505Dialog(report505DialogClosing(), report505DialogRunProcess());\r\n }\r\n\r\n function report505DialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n }\r\n }\r\n\r\n function report505DialogRunProcess() {\r\n return (data: any) => { \r\n let projectId = data.projectId;\r\n\r\n let startDate = data.startDate;\r\n if (startDate != null) {\r\n startDate = moment(data.startDate).format('YYYY-MM-DD');\r\n }\r\n\r\n let endDate = data.endDate;\r\n if (endDate != null) {\r\n endDate = moment(data.endDate).format('YYYY-MM-DD');\r\n }\r\n\r\n let grouping = data.grouping;\r\n let ccIds = data.ccIds;\r\n let fundSourceIds = data.fundSourceIds;\r\n let subLks = data.subLks;\r\n let reportLevel = data.reportLevel;\r\n\r\n if (projectId != null) {\r\n const url = `/Reports/Report/Get505/${projectId}/${startDate}/${endDate}/${grouping}/${ccIds}/${fundSourceIds}/${subLks}/${reportLevel}`;\r\n window.open(url);\r\n }\r\n }\r\n }\r\n //123\r\n export function GetCP123Dialog(a) {\r\n \r\n const Report123Dialog =\r\n new Areas.Dialogs.Report123Dialog(report123DialogClosing(), report123DialogRunProcess());\r\n }\r\n\r\n function report123DialogRunProcess() {\r\n return (data: any) => {\r\n \r\n let projectId = data.projectId;\r\n\r\n let startDate = data.startDate;\r\n if (startDate != null) {\r\n startDate = moment(data.startDate).format('YYYY-MM-DD');\r\n }\r\n\r\n let endDate = data.endDate;\r\n if (endDate != null) {\r\n endDate = moment(data.endDate).format('YYYY-MM-DD');\r\n }\r\n\r\n let reportLevel = data.reportLevel;\r\n let showCost = data.showCost;\r\n let employeeId = data.employeeId;\r\n let ccIds = data.ccIds;\r\n let workOrderIds = data.workOrderIds;\r\n\r\n if (projectId != null) {\r\n const url = `/Reports/Report/Get123/${projectId}/${startDate}/${endDate}/${ccIds}/${workOrderIds}/${employeeId}/${reportLevel}/${showCost}`;\r\n window.open(url);\r\n }\r\n }\r\n }\r\n\r\n function report123DialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n }\r\n }\r\n\r\n //309\r\n export function GetCP309Dialog(a) {\r\n \r\n const Report309Dialog =\r\n new Areas.Dialogs.Report309Dialog(report309DialogClosing(), report309DialogRunProcess());\r\n }\r\n\r\n function report309DialogRunProcess() {\r\n return (data: any) => {\r\n \r\n let projectId = data.projectId;\r\n let startDate = data.startDate;\r\n if (startDate != null) {\r\n startDate = moment(data.startDate).format('YYYY-MM-DD');\r\n }\r\n\r\n let endDate = data.endDate;\r\n if (endDate != null) {\r\n endDate = moment(data.endDate).format('YYYY-MM-DD');\r\n }\r\n let employeeId = data.employeeId;\r\n let ccIds = data.ccIds;\r\n let workOrderIds = data.workOrderIds;\r\n\r\n if (projectId != null) {\r\n const url = `/Reports/Report/Get309/${projectId}/${startDate}/${endDate}/${ccIds}/${workOrderIds}/${employeeId}`;\r\n window.open(url);\r\n }\r\n }\r\n }\r\n\r\n function report309DialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n }\r\n }\r\n\r\n //309a\r\n export function GetCP309aDialog(a) {\r\n \r\n const Report309aDialog =\r\n new Areas.Dialogs.Report309aDialog(report309aDialogClosing(), report309aDialogRunProcess());\r\n }\r\n\r\n function report309aDialogRunProcess() {\r\n return (data: any) => {\r\n \r\n let projectId = data.projectId;\r\n let startDate = data.startDate;\r\n if (startDate != null) {\r\n startDate = moment(data.startDate).format('YYYY-MM-DD');\r\n }\r\n\r\n let endDate = data.endDate;\r\n if (endDate != null) {\r\n endDate = moment(data.endDate).format('YYYY-MM-DD');\r\n }\r\n let employeeId = data.employeeId;\r\n let ccIds = data.ccIds;\r\n let workOrderIds = data.workOrderIds;\r\n\r\n if (projectId != null) {\r\n const url = `/Reports/Report/Get309a/${projectId}/${startDate}/${endDate}/${ccIds}/${workOrderIds}/${employeeId}`;\r\n window.open(url);\r\n }\r\n }\r\n }\r\n\r\n function report309aDialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n }\r\n }\r\n\r\n //401\r\n export function GetCP401Dialog(a) {\r\n \r\n const Report505Dialog =\r\n new Areas.Dialogs.Report401Dialog(report401DialogClosing(), report401DialogRunProcess());\r\n }\r\n\r\n function report401DialogRunProcess() {\r\n return (data: any) => {\r\n \r\n let projectId = data.projectId;\r\n let startDate = data.startDate;\r\n if (startDate != null) {\r\n startDate = moment(data.startDate).format('YYYY-MM-DD');\r\n }\r\n\r\n let endDate = data.endDate;\r\n if (endDate != null) {\r\n endDate = moment(data.endDate).format('YYYY-MM-DD');\r\n }\r\n let employeeId = data.employeeId;\r\n let ccIds = data.ccIds;\r\n let workOrderIds = data.workOrderIds;\r\n\r\n if (projectId != null) {\r\n const url = `/Reports/Report/Get401/${projectId}/${startDate}/${endDate}/${ccIds}/${workOrderIds}/${employeeId}`;\r\n window.open(url);\r\n }\r\n\r\n }\r\n }\r\n\r\n function report401DialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n }\r\n }\r\n\r\n //581\r\n export function GetCP581Dialog(a) {\r\n\r\n const Report505Dialog =\r\n new Areas.Dialogs.Report581Dialog(report581DialogClosing(), report581DialogRunProcess());\r\n }\r\n\r\n function report581DialogRunProcess() {\r\n return (data: any) => {\r\n \r\n let projectId = data.projectId;\r\n\r\n let ccIds = data.ccIds;\r\n let fundSourceIds = data.fundSourceIds;\r\n let showCost = data.showCost;\r\n\r\n\r\n if (projectId != null) {\r\n const url = `/Reports/Report/Get581/${projectId}/${ccIds}/${fundSourceIds}/${showCost}`;\r\n window.open(url);\r\n }\r\n }\r\n }\r\n\r\n function report581DialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n }\r\n }\r\n}\r\n\r\n","namespace Areas.Schedule {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"Schedule\",\r\n [\"All\", \"CPOnly\", \"SubPhase\"],\"Main\");\r\n\r\n\r\n export function scheduleTabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n}","namespace Areas.AccountModule.Edit {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Account/Module\", \"Edit\",\r\n [\"ChangeManagement\", \"ContractorPay\", \"MeetingMinutes\", \"PunchList\", \"Submittal\", \"Transmittal\", \"Warranty\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n}","namespace Areas.AccountModule.View {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Account/Module\", \"View\",\r\n [\"ChangeManagement\", \"ContractorPay\", \"MeetingMinutes\", \"PunchList\", \"Submittal\", \"Transmittal\", \"Warranty\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n}","namespace Areas.Submittal.List {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"Submittal\", [\"Active\", \"Completed\", \"Deleted\"], \"List\");\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n\r\n export function view() {\r\n gotoSelected(\"SubmittalGrid\", \"/Submittal/Profile/View/\");\r\n }\r\n\r\n export function edit() {\r\n gotoSelected(\"SubmittalGrid\", \"/Submittal/Profile/Edit/\");\r\n }\r\n\r\n export function showCreate() {\r\n const createSubmittalTrackingProfileDialog = new Areas.Dialogs.CreateSubmittalTrackingProfileDialog(() => { });\r\n }\r\n \r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.submittalTrackingProfileId; },\r\n linkInfo);\r\n }\r\n}","namespace Areas.Submittal.Profile.GoTo {\r\n \"use strict\";\r\n\r\n export function goToActions(projectInfoId: number) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 3) {\r\n goToReportSubmittal(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 4) {\r\n goToReportSubmittalActiveOnly(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 5) {\r\n goToContract(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n\r\n export function goToSharePoint(e: any) {\r\n const form: any = $(\"#SubmittalProfileForm\").dxForm(\"instance\");\r\n var sharePointLink = form.option(\"SharePointLink\");\r\n if (isNotEmpty(sharePointLink)) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n return\r\n }\r\n\r\n export function goToPIFPAF(projectInfoId: number) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n\r\n export function goToReportSubmittal(e: any) {\r\n const form: any = $(\"#SubmittalProfileForm\").dxForm(\"instance\");\r\n var id = form.option(\"KeyId\");\r\n if (isNotEmpty(id)) {\r\n const url = `/Reports/Report/GetReport810/${id}`;\r\n window.open(url);\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n\r\n export function goToReportSubmittalActiveOnly(e: any) {\r\n const form: any = $(\"#SubmittalProfileForm\").dxForm(\"instance\");\r\n var id = form.option(\"KeyId\");\r\n if (isNotEmpty(id)) {\r\n const url = `/Reports/Report/GetReport810ActiveOnly/${id}`;\r\n window.open(url);\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n\r\n export function goToContract(e: any) {\r\n const form: any = $(\"#SubmittalProfileForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\")\r\n var id = formData.ContractId;\r\n if (isNotEmpty(id)) {\r\n let linkInfo = \"https://contract.capnet.ucla.edu/Contract/GeneralInfo/View/\" + id ;\r\n window.open(linkInfo);\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n \r\n\r\n}\r\n","\r\nnamespace Areas.Submittal.Profile {\r\n \"use strict\";\r\n \r\n\r\n export function updateSubmittalProfile() {\r\n const form = $(\"#SubmittalProfileForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const result: any = form.validate();\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/Submittal/Profile/Put/${keyId}`, JSON.stringify(newData), \"PUT\",\r\n () => Areas.refreshGrid(\"SubmittalTrackingProfilesGrid\"));\r\n }\r\n }\r\n\r\n //contact lookup\r\n export function selectContractor() {\r\n const form: any = $(\"#SubmittalProfileForm\").dxForm(\"instance\");\r\n const parameters = { accountId: form.option(\"AccountId\") };\r\n\r\n const accountTeamLookupDialog =\r\n new Areas.Dialogs.AccountTeam.AccountTeamContactLookupDialog(accountTeamDialogClosing(\"Contractor\"), parameters);\r\n }\r\n\r\n export function selectArchitect() {\r\n const form: any = $(\"#SubmittalProfileForm\").dxForm(\"instance\");\r\n const parameters = { accountId: form.option(\"AccountId\") };\r\n\r\n const accountTeamLookupDialog =\r\n new Areas.Dialogs.AccountTeam.AccountTeamContactLookupDialog(accountTeamDialogClosing(\"Architect\"), parameters);\r\n }\r\n\r\n export function selectCM() {\r\n const form: any = $(\"#SubmittalProfileForm\").dxForm(\"instance\");\r\n const parameters = { accountId: form.option(\"AccountId\") };\r\n\r\n const accountTeamLookupDialog =\r\n new Areas.Dialogs.AccountTeam.AccountTeamContactLookupDialog(accountTeamDialogClosing(\"CM\"), parameters);\r\n }\r\n\r\n export function selectCoordinator() {\r\n const form: any = $(\"#SubmittalProfileForm\").dxForm(\"instance\");\r\n const parameters = { accountId: form.option(\"AccountId\") };\r\n\r\n const accountTeamLookupDialog =\r\n new Areas.Dialogs.AccountTeam.AccountTeamContactLookupDialog(accountTeamDialogClosing(\"Coordinator\"), parameters);\r\n }\r\n\r\n function accountTeamDialogClosing(buttonId: string) {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#SubmittalProfileForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n if (buttonId === \"Contractor\") {\r\n formData.ContractorContactId = data.contactId;\r\n formData.ContractorContactName = data.displayName;\r\n formData.ContractorCompanyName = data.companyName;\r\n\r\n } else if (buttonId === \"CM\") {\r\n formData.CMContactId = data.contactId;\r\n formData.CMContactName = data.displayName;\r\n formData.CMCompanyName = data.companyName;\r\n\r\n } else if (buttonId === \"Coordinator\") {\r\n formData.CoordinatorContactId = data.contactId;\r\n formData.CoordinatorContactName = data.displayName;\r\n formData.CoordinatorCompanyName = data.companyName;\r\n\r\n } else if (buttonId === \"Architect\") {\r\n formData.ArchitectContactId = data.contactId;\r\n formData.ArchitectContactName = data.displayName;\r\n formData.ArchitectCompanyName = data.companyName;\r\n }\r\n \r\n form.option(\"formData\", formData);\r\n \r\n }\r\n } \r\n\r\n //select Account\r\n function accountDialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#SubmittalProfileForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.AccountId = data.accountId;\r\n formData.AccountName = data.accountName;\r\n\r\n form.option(\"formData\", formData);\r\n\r\n }\r\n }\r\n\r\n\r\n export function selectAccount() {\r\n const form: any = $(\"#SubmittalProfileForm\").dxForm(\"instance\");\r\n\r\n const accountLookupDialog =\r\n new Areas.Dialogs.AccountDialog(accountDialogClosing());\r\n } \r\n\r\n //select Contract\r\n function contractDialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#SubmittalProfileForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.ContractId = data.contractId;\r\n formData.ContractName = data.contractName;\r\n formData.ContractAmount = data.contractAmount;\r\n formData.ContractType = data.contractType;\r\n\r\n form.option(\"formData\", formData);\r\n\r\n }\r\n } \r\n\r\n\r\n export function selectContract() {\r\n const form: any = $(\"#SubmittalProfileForm\").dxForm(\"instance\");\r\n\r\n const contractLookupDialog =\r\n new Areas.Dialogs.ContractDialog(contractDialogClosing());\r\n } \r\n\r\n\r\n}\r\n","namespace Areas.Submittal.Edit {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Submittal\", \"Edit\",\r\n [\"Profile\", \"Tracking\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/Submittal/List/Active\";\r\n location.href = linkInfo;\r\n\r\n }\r\n}\r\n","namespace Areas.Submittal.View {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Submittal\", \"View\",\r\n [\"Profile\", \"Tracking\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/Submittal/List/Active\";\r\n location.href = linkInfo;\r\n\r\n }\r\n\r\n export function addGridButtons(e: any) {\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { class: \"dxButton lightblue\" },\r\n text: \"Create\",\r\n hint: \"Create\",\r\n type: \"default\",\r\n icon: \"plus\",\r\n onClick: () => Areas.Submittal.List.showCreate()\r\n }, \"before\");\r\n }\r\n\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.submittalTrackingProfileId; },\r\n \"View\");\r\n }\r\n}","namespace Areas.Submittal.Tracking {\r\n \"use strict\";\r\n\r\n\r\n export function goToActions(projectInfoId: number) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n Areas.Submittal.Tracking.goToSharePoint(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n Areas.Submittal.Tracking.goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 3) {\r\n Areas.Submittal.Tracking.goToReportSubmittal(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 4) {\r\n Areas.Submittal.Tracking.goToReportSubmittalActiveOnly(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n \r\n export function goToSharePoint(e: any) {\r\n const grid = $(\"#SubmittalGrid\").dxDataGrid(\"instance\");\r\n var sharePointLink = grid.option(\"SharePointLink\") as string;\r\n if (isNotEmpty(sharePointLink)) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n return\r\n }\r\n\r\n export function goToPIFPAF(projectInfoId: number) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n\r\n export function goToReportSubmittal(e: any) {\r\n const grid = $(\"#SubmittalGrid\").dxDataGrid(\"instance\");\r\n const rows = grid.getSelectedRowsData();\r\n if (rows.length == 1) {\r\n var id = rows[0].submittalTrackingProfileId;\r\n const url = `/Reports/Report/GetReport810/${id}`;\r\n window.open(url);\r\n }\r\n }\r\n\r\n export function goToReportSubmittalActiveOnly(e: any) {\r\n const grid = $(\"#SubmittalGrid\").dxDataGrid(\"instance\");\r\n const rows = grid.getSelectedRowsData();\r\n if (rows.length == 1) {\r\n var id = rows[0].submittalTrackingProfileId;\r\n const url = `/Reports/Report/GetReport810ActiveOnly/${id}`;\r\n window.open(url);\r\n }\r\n }\r\n\r\n\r\n}\r\n","namespace Areas.Submittal.Tracking {\r\n \"use strict\";\r\n\r\n let currentSubmittalTracking: any;\r\n let currentSubmittalItem: any;\r\n \r\n\r\n export function onNewSubmittalTrackingRow(e: any) {\r\n e.data.accountId = e.component.option(\"AccountId\");\r\n e.data.submittalTrackingProfileId = e.component.option(\"SubmittalTrackingProfileId\");\r\n currentSubmittalItem = e.data;\r\n\r\n }\r\n\r\n export function onNewSubmittalTrackingInserted(e: any) {\r\n currentSubmittalItem = null;\r\n }\r\n\r\n export function updateSubmittalItem() {\r\n const grid = $(\"#SubmittalGrid\").dxForm(\"instance\");\r\n const newData: any = grid.option(\"gridData\");\r\n const result: any = grid.validate();\r\n const keyId: any = grid.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/Submittal/Tracking/UpdateSubmittalTracking/${keyId}`, JSON.stringify(newData), \"PUT\");\r\n }\r\n\r\n }\r\n\r\n export function addGridButtons(e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n\r\n let isVisible = grid.option(\"IsEditable\");\r\n\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: \"addRevision\" },\r\n text: \"Revision\",\r\n hint: \"Add Revision\",\r\n type: \"default\",\r\n icon: \"add\",\r\n visible: isVisible,\r\n onClick: createSubmittalRevision\r\n }, \"before\");\r\n\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: \"addSentTo\" },\r\n text: \"Sent To\",\r\n hint: \"Transmittal Sent To\",\r\n type: \"default\",\r\n icon: \"add\",\r\n visible: isVisible,\r\n onClick: createTransmittalSentTo\r\n }, \"before\");\r\n\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: \"addForwardTo\" },\r\n text: \"Forward To\",\r\n hint: \"Transmittal Forward To\",\r\n type: \"default\",\r\n icon: \"add\",\r\n visible: isVisible,\r\n onClick: createTransmittalForwardTo\r\n }, \"before\");\r\n\r\n }\r\n\r\n export function addProfileGridButtons(e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n\r\n let disabledButton = grid.option(\"IsEditable\");\r\n\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: \"import\" },\r\n text: \"Import\",\r\n hint: \"Import Submittal\",\r\n type: \"default\",\r\n icon: \"add\",\r\n disabled: disabledButton,\r\n //onClick: importProfileRecord()\r\n }, \"before\");\r\n\r\n }\r\n\r\n export function selectAccount() {\r\n const accountDialog = new Areas.Dialogs.AccountDialog(dialogClosing);\r\n }\r\n\r\n export function selectContract() {\r\n const contractDialog = new Areas.Dialogs.ContractDialog(dialogContractClosing);\r\n }\r\n\r\n export function selectContact() {\r\n const dataGrid = $(\"#SubmittalProfileGrid\").dxDataGrid(\"instance\");\r\n const accountId = dataGrid.option(\"AccountId\");\r\n const parameters = { accountId: accountId };\r\n const accountTeamContactLookupDialog =\r\n new Areas.Dialogs.AccountTeam.AccountTeamContactLookupDialog(\r\n dialogAccountTeamContactClosing, parameters);\r\n }\r\n\r\n function dialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const dataGrid = $(\"#SubmittalProfileGrid\").dxDataGrid(\"instance\");\r\n\r\n var rowIndex = getRowIndex(dataGrid);\r\n updateGridRow(dataGrid, rowIndex, data);\r\n }\r\n\r\n function dialogContractClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const dataGrid = $(\"#SubmittalProfileGrid\").dxDataGrid(\"instance\");\r\n\r\n var rowIndex = getRowIndex(dataGrid);\r\n updateContractGridRow(dataGrid, rowIndex, data);\r\n }\r\n\r\n function dialogAccountTeamContactClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const dataGrid = $(\"#SubmittalGrid\").dxDataGrid(\"instance\");\r\n\r\n var rowIndex = getItemRowIndex(dataGrid);\r\n updateContactGridRow(dataGrid, rowIndex, data);\r\n }\r\n\r\n function getRowIndex(dataGrid: DevExpress.ui.dxDataGrid): number {\r\n let rowIndex = 0;\r\n\r\n if (currentSubmittalTracking === undefined || currentSubmittalTracking === null) {\r\n return rowIndex;\r\n } else if (currentSubmittalTracking.submittalTrackingProfileId) {\r\n rowIndex = dataGrid.getRowIndexByKey(currentSubmittalTracking.submittalTrackingProfileId);\r\n }\r\n\r\n return rowIndex;\r\n }\r\n\r\n function getItemRowIndex(dataGrid: DevExpress.ui.dxDataGrid): number {\r\n let rowIndex = 0;\r\n\r\n if (currentSubmittalItem === undefined || currentSubmittalItem === null) {\r\n return rowIndex;\r\n } else if (currentSubmittalItem.submittalTrackingId) {\r\n rowIndex = dataGrid.getRowIndexByKey(currentSubmittalItem.submittalTrackingId);\r\n }\r\n\r\n return rowIndex;\r\n }\r\n\r\n function updateGridRow(dataGrid: DevExpress.ui.dxDataGrid, rowIndex: number, data: any) {\r\n\r\n dataGrid.cellValue(rowIndex, \"accountId\", data.accountId);\r\n dataGrid.cellValue(rowIndex, \"accountName\", data.accountName);\r\n\r\n currentSubmittalTracking.accountId = data.accountId;\r\n currentSubmittalTracking.accountName = data.accountName;\r\n\r\n dataGrid.option(\"AccountId\", data.accountId);\r\n\r\n dataGrid.repaintRows([rowIndex]);\r\n }\r\n\r\n function updateContractGridRow(dataGrid: DevExpress.ui.dxDataGrid, rowIndex: number, data: any) {\r\n\r\n dataGrid.cellValue(rowIndex, \"contractId\", data.contractId);\r\n dataGrid.cellValue(rowIndex, \"contractName\", data.contractName);\r\n\r\n currentSubmittalTracking.contractId = data.contractId;\r\n currentSubmittalTracking.contractName = data.contractName;\r\n\r\n dataGrid.repaintRows([rowIndex]);\r\n }\r\n\r\n function updateContactGridRow(dataGrid: DevExpress.ui.dxDataGrid, rowIndex: number, data: any) {\r\n\r\n dataGrid.cellValue(rowIndex, \"assignedToContactId\", data.contactId);\r\n dataGrid.cellValue(rowIndex, \"displayName\", data.displayName);\r\n\r\n currentSubmittalItem.assignedToContactId = data.contactId;\r\n currentSubmittalItem.displayName = data.displayName;\r\n\r\n dataGrid.repaintRows([rowIndex]);\r\n }\r\n\r\n export function onEditingStart(e: any) {\r\n currentSubmittalTracking = e.data;\r\n }\r\n\r\n export function onEditingItemStart(e: any) {\r\n currentSubmittalItem = e.data;\r\n }\r\n\r\n export function editAccountTemplate(cellElement, cellInfo) {\r\n let accountDisplayName = !cellInfo.data.accountName ? \"Select...\" : cellInfo.data.accountName;\r\n let htmlString = `
${accountDisplayName}
`;\r\n let html = $.parseHTML(htmlString);\r\n\r\n cellElement.on(\"click\", selectAccount);\r\n cellElement.append(html);\r\n }\r\n\r\n export function editContractTemplate(cellElement, cellInfo) {\r\n let contractDisplayName = !cellInfo.data.contractName ? \"Select...\" : cellInfo.data.contractName;\r\n let htmlString = `
${contractDisplayName}
`;\r\n let html = $.parseHTML(htmlString);\r\n\r\n cellElement.on(\"click\", selectContract);\r\n cellElement.append(html);\r\n }\r\n\r\n export function editContactTemplate(cellElement, cellInfo) {\r\n let contactDisplayName = !cellInfo.data.displayName ? \"Select...\" : cellInfo.data.displayName;\r\n let htmlString = `
${contactDisplayName}
`;\r\n let html = $.parseHTML(htmlString);\r\n\r\n cellElement.on(\"click\", selectContact);\r\n cellElement.append(html);\r\n }\r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/Submittal/List/Active\";\r\n location.href = linkInfo;\r\n\r\n }\r\n\r\n function createSubmittalRevision() {\r\n const dataGrid = $(\"#SubmittalGrid\").dxDataGrid(\"instance\");\r\n\r\n if (dataGrid.getSelectedRowKeys().length) {\r\n const id = dataGrid.getSelectedRowKeys()[0];\r\n const url = `/Submittal/Tracking/CreateSubmittalRevision/${id}`;\r\n\r\n sendRequest(url, \"\", \"POST\", () => dataGrid.refresh());\r\n }\r\n }\r\n\r\n function createTransmittalSentTo() {\r\n const dataGrid = $(\"#SubmittalGrid\").dxDataGrid(\"instance\");\r\n\r\n if (dataGrid.getSelectedRowKeys().length) {\r\n const id = dataGrid.getSelectedRowKeys()[0];\r\n const url = `/Submittal/Tracking/SubmittalSentTo/${id}`;\r\n\r\n sendRequest(url, \"\", \"POST\", () => dataGrid.refresh());\r\n }\r\n }\r\n\r\n function createTransmittalForwardTo() {\r\n const dataGrid = $(\"#SubmittalGrid\").dxDataGrid(\"instance\");\r\n\r\n if (dataGrid.getSelectedRowKeys().length) {\r\n const id = dataGrid.getSelectedRowKeys()[0];\r\n const url = `/Submittal/Tracking/SubmittalForwardTo/${id}`;\r\n\r\n sendRequest(url, \"\", \"POST\", () => dataGrid.refresh());\r\n }\r\n\r\n }\r\n\r\n\r\n export function onGridSelectionChanged(e: any) {\r\n const dataGrid = e.component as DevExpress.ui.dxDataGrid;\r\n let dataId = dataGrid.getSelectedRowKeys()[0];\r\n let fileDesc = dataGrid.getSelectedRowsData()[0].submittalTitle;\r\n Areas.Attachment.updateAttachmentControls(dataId, \"Submittal\", fileDesc);\r\n\r\n }\r\n}","namespace Areas.Transmittal.Detail {\r\n \"use strict\";\r\n\r\n\r\n export function goToActions(projectInfoId: number) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n Areas.Transmittal.Detail.goToSharePoint(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n Areas.Transmittal.Detail.goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 3) {\r\n Areas.Transmittal.Detail.goToReportTransmittal(e);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n \r\n export function goToSharePoint(e: any) {\r\n const grid = $(\"#TransmittalGrid\").dxDataGrid(\"instance\");\r\n var sharePointLink = grid.option(\"SharePointLink\") as string;\r\n if (isNotEmpty(sharePointLink)) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n }\r\n\r\n export function goToPIFPAF(projectInfoId) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n\r\n export function goToReportTransmittal(e: any) {\r\n const grid = $(\"#TransmittalGrid\").dxDataGrid(\"instance\");\r\n const rows = grid.getSelectedRowsData();\r\n if (rows.length == 1) {\r\n var id = rows[0].transmittalId;\r\n const url = `/Reports/Report/GetReport860/${id}`;\r\n window.open(url);\r\n }\r\n }\r\n\r\n}\r\n","namespace Areas.Transmittal.Detail {\r\n \"use strict\";\r\n\r\n let currentTransmittalId: number = 0;\r\n let runQuery: boolean = false;\r\n\r\n export function addTransmittalGridButtons(e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n\r\n let visibleButton = grid.option(\"IsEditable\");\r\n\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: \"transmittal\" },\r\n text: \"Copy Transmittal\",\r\n hint: \"Copy\",\r\n type: \"default\",\r\n icon: \"add\",\r\n visible: visibleButton,\r\n onClick: copyTransmittal\r\n }, \"before\");\r\n\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: \"transmittal\" },\r\n text: \"Email Transmittal\",\r\n hint: \"Email\",\r\n type: \"default\",\r\n icon: \"email\",\r\n visible: visibleButton,\r\n onClick: emailTransmittal\r\n }, \"before\");\r\n }\r\n\r\n export function copyTransmittal() {\r\n const dataGrid = $(\"#TransmittalGrid\").dxDataGrid(\"instance\");\r\n const selectedRows = dataGrid.getSelectedRowsData();\r\n \r\n if (selectedRows.length) {\r\n const id = selectedRows[0].transmittalId;\r\n const url = `/Transmittal/Detail/CopyTransmittal/${id}`;\r\n\r\n sendRequest(url, \"\", \"POST\", () => {\r\n dataGrid.refresh();\r\n dataGrid.selectRowsByIndexes([0]);\r\n });\r\n }\r\n\r\n }\r\n\r\n export function emailTransmittal() {\r\n const dataGrid = $(\"#TransmittalGrid\").dxDataGrid(\"instance\");\r\n const selectedRows = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRows.length) {\r\n const id = selectedRows[0].transmittalId;\r\n const url = `/Transmittal/Detail/EmailTransmittal/${id}`;\r\n\r\n sendRequest(url, \"\", \"POST\", () => {\r\n dataGrid.refresh();\r\n dataGrid.selectRowsByIndexes([0]);\r\n });\r\n }\r\n\r\n }\r\n\r\n export function getTransmittalId() {\r\n return currentTransmittalId;\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n\r\n export function onNewTransmittalDetailRow(e: any) {\r\n const data = e.data;\r\n data.transmittalId = currentTransmittalId;\r\n }\r\n\r\n export function onTransmittalGridSelectionChanged(e: any) {\r\n let selectedRows = e.component.getSelectedRowsData();\r\n let detailGrid: any = $(\"#TransmittalDetailGrid\").dxDataGrid(\"instance\");\r\n\r\n if (selectedRows.length === 1) {\r\n runQuery = true;\r\n currentTransmittalId = selectedRows[0].transmittalId;\r\n detailGrid.option(\"disabled\", false);\r\n Areas.refreshGrid(\"TransmittalDetailGrid\");\r\n\r\n } else {\r\n detailGrid.option(\"disabled\", true);\r\n }\r\n } \r\n\r\n export function onTransmittalNew(e: any) {\r\n const grid: any = $(\"#TransmittalGrid\").dxDataGrid(\"instance\");\r\n const transmittalProfileId = grid.option(\"TransmittalProfileId\");\r\n\r\n e.data.transmittalProfileId = transmittalProfileId;\r\n currentTransmittalId = 0;\r\n setBooleanProperties(e.data);\r\n }\r\n\r\n function setBooleanProperties(data: any) {\r\n const booleanProperties = [\r\n \"isShopDrawing\",\r\n \"isLetter\",\r\n \"isChangeOrder\",\r\n \"isPlans\",\r\n \"isSamples\",\r\n \"isForApproval\",\r\n \"isForYourUse\",\r\n \"isAsRequested\",\r\n \"isForReview\",\r\n \"isAttached\",\r\n \"isSeparateCover\",\r\n \"isAsSubmitted\",\r\n \"isAsNoted\",\r\n \"isApprovedNotedResubmit\",\r\n \"isRevisedResubmitted\",\r\n \"isSubmit\",\r\n \"isReturned\",\r\n \"isForCorrections\"\r\n ];\r\n \r\n booleanProperties.forEach(property => {\r\n data[property] = false;\r\n });\r\n\r\n }\r\n\r\n interface ITextEditorDictionary {\r\n [index: string]: DevExpress.ui.dxTextBox;\r\n }\r\n\r\n const textEditorDictionary = {} as ITextEditorDictionary;\r\n\r\n export function onTransmittalEditorPrepared(e: any) {\r\n const fieldNames: Array = [\r\n \"fromCompany\",\r\n \"fromContactName\",\r\n \"toCompany\",\r\n \"toContactName\"\r\n ];\r\n\r\n if (e.parentType === \"dataRow\" && fieldNames.indexOf(e.dataField) > -1) {\r\n const editor: DevExpress.ui.dxTextBox = e.editorElement.dxTextBox('instance');\r\n textEditorDictionary[e.dataField] = editor;\r\n }\r\n }\r\n\r\n export function onTransmittalEditPopupShowing(e: any) {\r\n const items = e.component.option(\"toolbarItems\");\r\n\r\n const saveButtonIndex = 0;\r\n const cancelButtonIndex = 1;\r\n const saveButton = items[saveButtonIndex];\r\n const cancelButton = items[cancelButtonIndex];\r\n\r\n const grid: any = $(\"#TransmittalGrid\").dxDataGrid(\"instance\");\r\n \r\n cancelButton.options.elementAttr = { class: \"cancel\" };\r\n cancelButton.options.icon = \"revert\";\r\n cancelButton.options.onClick = (e) => {\r\n grid.cancelEditData();\r\n grid.setMode(Areas.GridMode.Normal);\r\n };\r\n\r\n saveButton.options.type = \"success\";\r\n saveButton.options.icon = \"save\";\r\n saveButton.options.onClick = (e) => {\r\n grid.saveEditData();\r\n grid.setMode(Areas.GridMode.Normal);\r\n }\r\n \r\n e.component.option(\"toolbarItems\", items);\r\n }\r\n\r\n export function selectFromContact() {\r\n const grid: any = $(\"#TransmittalGrid\").dxDataGrid(\"instance\");\r\n const parameters = { accountId: grid.option(\"AccountId\") };\r\n\r\n const accountTeamLookupDialog = \r\n new Areas.Dialogs.AccountTeam.AccountTeamContactLookupDialog(accountTeamDialogClosing(\"from\"), parameters);\r\n }\r\n\r\n export function selectToContact() {\r\n const grid: any = $(\"#TransmittalGrid\").dxDataGrid(\"instance\");\r\n const parameters = { accountId: grid.option(\"AccountId\") };\r\n\r\n const accountTeamLookupDialog = \r\n new Areas.Dialogs.AccountTeam.AccountTeamContactLookupDialog(accountTeamDialogClosing(\"to\"), parameters);\r\n } \r\n\r\n function accountTeamDialogClosing(fromOrTo: string) {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n \r\n const grid: any = $(\"#TransmittalGrid\").dxDataGrid(\"instance\");\r\n const rowIndex = getRowIndex(grid);\r\n\r\n if (fromOrTo === \"from\") {\r\n setTextBoxValue(textEditorDictionary[\"fromCompany\"], data.companyName);\r\n setTextBoxValue(textEditorDictionary[\"fromContactName\"], data.displayName);\r\n grid.cellValue(rowIndex, \"fromContactId\", data.contactId);\r\n } else {\r\n setTextBoxValue(textEditorDictionary[\"toCompany\"], data.companyName);\r\n setTextBoxValue(textEditorDictionary[\"toContactName\"], data.displayName);\r\n grid.cellValue(rowIndex, \"toContactId\", data.contactId);\r\n }\r\n } \r\n } \r\n \r\n function setTextBoxValue(textBox:DevExpress.ui.dxTextBox, value: string) {\r\n textBox.option(\"value\", value);\r\n }\r\n \r\n function getRowIndex(dataGrid: DevExpress.ui.dxDataGrid): number {\r\n let rowIndex = 0;\r\n\r\n if (currentTransmittalId === 0) {\r\n return rowIndex;\r\n } else {\r\n rowIndex = dataGrid.getRowIndexByKey(currentTransmittalId);\r\n }\r\n\r\n return rowIndex;\r\n } \r\n\r\n}","namespace Areas.Transmittal.List {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"Transmittal\", [\"Active\", \"Completed\", \"Deleted\"], \"List\");\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n export function view() {\r\n gotoSelected(\"ListGrid\", \"/Transmittal/Profile/View/\");\r\n }\r\n\r\n export function edit() {\r\n gotoSelected(\"ListGrid\", \"/Transmittal/Profile/Edit/\");\r\n }\r\n\r\n export function showCreate() {\r\n const createTransmittalProfileDialog = new Areas.Dialogs.CreateTransmittalProfileDialog(() => { });\r\n }\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.transmittalProfileId; },\r\n linkInfo);\r\n }\r\n}","namespace Areas.Transmittal.Profile {\r\n \"use strict\";\r\n\r\n let currentTransmittalProfile: any;\r\n\r\n export function onEditingStart(e: any) {\r\n currentTransmittalProfile = e.data;\r\n }\r\n\r\n // select account\r\n function accountDialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#TransmittalProfileForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.AccountId = data.accountId;\r\n formData.AccountName = data.accountName;\r\n formData.ProjectCCNumber = data.projectCCNumber;\r\n\r\n form.option(\"formData\", formData);\r\n\r\n }\r\n }\r\n\r\n export function selectAccount() {\r\n const form: any = $(\"#TransmittalProfileForm\").dxForm(\"instance\");\r\n const accountLookupDialog =\r\n new Areas.Dialogs.AccountDialog(accountDialogClosing());\r\n } \r\n\r\n export function updateTransmittalProfile() {\r\n const form = $(\"#TransmittalProfileForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const result: any = form.validate();\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/Transmittal/Profile/Put/${keyId}`, JSON.stringify(newData), \"PUT\",\r\n () => Areas.refreshGrid(\"TransmittalProfilesGrid\"));\r\n }\r\n }\r\n\r\n export function goToActions(projectInfoId: number, sharePointLink: string) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n function goToSharePoint(sharePointLink) {\r\n if (sharePointLink != null) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n return\r\n }\r\n\r\n function goToPIFPAF(projectInfoId) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n}","namespace Areas.Transmittal.Edit {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Transmittal\", \"Edit\",\r\n [\"Profile\", \"Detail\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n}","namespace Areas.Transmittal.View {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Transmittal\", \"View\",\r\n [\"Profile\", \"Detail\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/Transmittal/List/Active\";\r\n location.href = linkInfo;\r\n\r\n }\r\n\r\n export function addGridButtons(e: any) {\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { class: \"dxButton lightblue\" },\r\n text: \"Create\",\r\n hint: \"Create\",\r\n type: \"default\",\r\n icon: \"plus\",\r\n onClick: () => Areas.Transmittal.List.showCreate()\r\n }, \"before\");\r\n \r\n }\r\n\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.transmittalProfileId; },\r\n \"View\");\r\n }\r\n}","namespace Areas.Vendor.Contact {\r\n \"use strict\";\r\n\r\n let currentContact: any;\r\n let contactDisplayName: string;\r\n let primaryVendorId: number;\r\n let primaryVendorName: string;\r\n\r\n\r\n export function newVendorContact(e) {\r\n\r\n let dataGrid = $('#ContactGrid').dxDataGrid('instance');\r\n let vendorId = dataGrid.option('VendorId');\r\n\r\n currentContact = e.data;\r\n currentContact.isActive = true;\r\n currentContact.isAdmin = false;\r\n currentContact.isInsuranceContact = false;\r\n currentContact.vendorId = vendorId;\r\n }\r\n\r\n export function selectContact() {\r\n const contactDialog = new Areas.Dialogs.ContactDialog(dialogClosing);\r\n }\r\n\r\n function dialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const dataGrid = $(\"#ContactGrid\").dxDataGrid(\"instance\");\r\n\r\n var rowIndex = getRowIndex(dataGrid);\r\n updateGridRow(dataGrid, rowIndex, data);\r\n }\r\n\r\n function getRowIndex(dataGrid: DevExpress.ui.dxDataGrid): number {\r\n let rowIndex = 0;\r\n\r\n if (currentContact === undefined || currentContact === null) {\r\n return rowIndex;\r\n } else if (currentContact.vendorContactId) {\r\n rowIndex = dataGrid.getRowIndexByKey(currentContact.vendorContactId);\r\n }\r\n\r\n return rowIndex;\r\n }\r\n\r\n function updateGridRow(dataGrid: DevExpress.ui.dxDataGrid, rowIndex: number, data: any) {\r\n\r\n dataGrid.cellValue(rowIndex, \"contactId\", data.contactId);\r\n dataGrid.cellValue(rowIndex, \"displayName\", data.displayName);\r\n dataGrid.cellValue(rowIndex, \"primaryEMail\", data.primaryEMail);\r\n dataGrid.cellValue(rowIndex, \"workPhone\", data.workPhone);\r\n\r\n contactDisplayName = data.displayName;\r\n\r\n currentContact.contactId = data.contactId;\r\n currentContact.displayName = data.displayName;\r\n currentContact.primaryEMail = data.primaryEMail;\r\n currentContact.workPhone = data.workPhone;\r\n\r\n dataGrid.repaintRows([rowIndex]);\r\n }\r\n\r\n export function onNewRowInserted(e: any) {\r\n currentContact = null\r\n }\r\n\r\n export function onEditingStart(e: any) {\r\n currentContact = e.data;\r\n }\r\n\r\n export function onNewContactInsert(e: any) {\r\n currentContact = null\r\n }\r\n\r\n export function onContactEditingStart(e: any) {\r\n currentContact = e.data;\r\n }\r\n\r\n\r\n export function editContactTemplate(cellElement, cellInfo) {\r\n let displayName = !contactDisplayName ? \"Select...\" : contactDisplayName;\r\n let htmlString = `
${displayName}
`;\r\n let html = $.parseHTML(htmlString);\r\n\r\n cellElement.on(\"click\", selectContact);\r\n cellElement.append(html);\r\n }\r\n\r\n\r\n}","namespace Areas.Vendor.List {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"Vendor\", [\"Active\", \"Inactive\"], \"List\");\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n export function onGridSelectionChanged(e: any) {\r\n const rowSelected = e.selectedRowsData.length === 1;\r\n\r\n if (rowSelected) {\r\n enableButton(\"EditButton\");\r\n } else {\r\n disableButton(\"EditButton\");\r\n }\r\n }\r\n\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.vendorId; },\r\n \"View\");\r\n }\r\n\r\n export function view() {\r\n gotoSelected(\"VendorsGrid\", \"/Vendor/Profile/View/\");\r\n }\r\n\r\n export function edit() {\r\n gotoSelected(\"VendorsGrid\", \"/Vendor/Profile/Edit/\");\r\n }\r\n\r\n\r\n export function showCreate() {\r\n const createVendorDialog = new Areas.Dialogs.CreateVendorDialog(() => { });\r\n }\r\n\r\n export function insertRecord(e: any) {\r\n const form = $(\"#VendorForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n const newData: any = form.option(\"formData\");\r\n\r\n sendRequest(\"/Vendor/Profile/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n\r\n export function getActiveInActive() {\r\n return $(\"#filter-type\").is(\":checked\");\r\n } \r\n}","namespace Areas.Vendor.Edit {\r\n \"use strict\";\r\n\r\n let tabItems = Areas.createTabsWithSameAction(\"Vendor\", \"Edit\",\r\n [\"Profile\", \"Contact\", \"Contract\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n\r\n export function updateVendor() {\r\n const form = $(\"#VendorForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const result: any = form.validate();\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/Vendor/Profile/Put/${keyId}`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/Vendor/List/Active\";\r\n location.href = linkInfo;\r\n\r\n }\r\n\r\n export function vendorLookupItem(itemData: any, itemIndex: any, itemElement: any) {\r\n if (itemData.isActive) {\r\n itemElement.append(\r\n `
${itemData.vendorId}${itemData.vendorName}
`);\r\n } else if (itemData.isBarred) {\r\n itemElement.append(\r\n `
${itemData.vendorId}${\r\n itemData.vendorName} - BARRED
`);\r\n } else\r\n itemElement.append(\r\n `
${itemData.vendorId}${\r\n itemData.vendorName} - Inactive
`);\r\n }\r\n\r\n}\r\n\r\n\r\n","namespace Areas.Vendor.View {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Vendor\", \"View\",\r\n [\"Profile\", \"Contact\", \"Contract\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n \r\n}","namespace Areas.Warranty.Items {\r\n \"use strict\";\r\n\r\n \r\n export function onNewWarrantyItemRow(e: any) {\r\n e.data.warrantyProfileId = e.component.option(\"WarrantyProfileId\");\r\n }\r\n\r\n export function updateWarrantyListItem() {\r\n const grid = $(\"#WarrantyItemGrid\").dxForm(\"instance\");\r\n const newData: any = grid.option(\"gridData\");\r\n const result: any = grid.validate();\r\n const keyId: any = grid.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/Warranty/Items/Put/${keyId}`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/Warranty/List/Active\";\r\n location.href = linkInfo;\r\n\r\n }\r\n\r\n export function goToActions(projectInfoId: number, sharePointLink: string) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n\r\n function goToSharePoint(sharePointLink) {\r\n if (sharePointLink != null) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n return\r\n }\r\n\r\n function goToPIFPAF(projectInfoId: number) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n\r\n}","namespace Areas.Warranty.List {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"Warranty\", [\"Active\", \"Completed\", \"Deleted\"], \"List\");\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n export function view() {\r\n gotoSelected(\"ListGrid\", \"/Warranty/Profile/View/\");\r\n }\r\n\r\n export function edit() {\r\n gotoSelected(\"ListGrid\", \"/Warranty/Profile/Edit/\");\r\n }\r\n\r\n export function showCreate() {\r\n const createWarrantyProfileDialog = new Areas.Dialogs.CreateWarrantyProfileDialog(() => { });\r\n }\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.warrantyProfileId; },\r\n linkInfo);\r\n }\r\n}","namespace Areas.Warranty.Profile.GoTo {\r\n \"use strict\";\r\n\r\n \r\n export function goToActions(projectInfoId: number, sharePointLink: string) {\r\n return (e: any) => {\r\n if (e.value == 1) {\r\n goToSharePoint(sharePointLink);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n if (e.value == 2) {\r\n goToPIFPAF(projectInfoId);\r\n clearSelectBoxSelection(e);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n\r\n function goToSharePoint(sharePointLink) {\r\n if (sharePointLink != null) {\r\n Areas.websiteSharePoint(sharePointLink);\r\n }\r\n return\r\n }\r\n\r\n function goToPIFPAF(projectInfoId) {\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + projectInfoId + \"\";\r\n window.open(linkInfo);\r\n }\r\n\r\n}","namespace Areas.Warranty.Edit {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Warranty\", \"Edit\",\r\n [\"Profile\", \"Items\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n export function updateWarrantyProfile() {\r\n const form = $(\"#WarrantyProfileForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const result: any = form.validate();\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/Warranty/Profile/Put/${keyId}`, JSON.stringify(newData), \"PUT\",\r\n () => Areas.refreshGrid(\"WarrantyProfilesGrid\"));\r\n }\r\n }\r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/Warranty/List/Active\";\r\n location.href = linkInfo;\r\n\r\n }\r\n}\r\n","namespace Areas.Warranty.Profile {\r\n \"use strict\";\r\n\r\n export function onNewWarrantyItemRow(e: any) {\r\n const data = e.data;\r\n data.warrantyProfileId = e.component.option(\"WarrantyProfileId\");\r\n }\r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/Warranty/List/Active\";\r\n location.href = linkInfo;\r\n\r\n }\r\n\r\n // select account\r\n function accountDialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#WarrantyProfileForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.AccountId = data.accountId;\r\n formData.AccountName = data.accountName;\r\n formData.ProjectCCNumber = data.projectCCNumber;\r\n\r\n form.option(\"formData\", formData);\r\n\r\n }\r\n }\r\n\r\n export function selectAccount() {\r\n const form: any = $(\"#WarrantyProfileForm\").dxForm(\"instance\");\r\n const accountLookupDialog =\r\n new Areas.Dialogs.AccountDialog(accountDialogClosing());\r\n }\r\n\r\n export function actionSelected(accountId: number) {\r\n return (e: any) => {\r\n if (e.value == 1) { gotoAccountProfileViaWarranty(accountId); return; }\r\n }\r\n }\r\n\r\n\r\n function gotoAccountProfileViaWarranty(accountId: number) {\r\n sendRequest(`/Warranty/Profile/GotoAccountProfileViaWarranty/${accountId}`, null, \"PUT\");\r\n }\r\n\r\n}","namespace Areas.Warranty.View {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Warranty\", \"View\",\r\n [\"Profile\", \"Items\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n export function addGridButtons(e: any) {\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { class: \"dxButton lightblue\" },\r\n text: \"Create\",\r\n hint: \"Create\",\r\n type: \"default\",\r\n icon: \"plus\",\r\n onClick: () => Areas.Warranty.List.showCreate()\r\n }, \"before\");\r\n }\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.warrantyProfileId; },\r\n \"View\");\r\n }\r\n\r\n}\r\n","namespace Areas.WebsiteInfo.Planning {\r\n \"use strict\";\r\n\r\n let planningId: number;\r\n\r\n\r\n const baseUrl = \"/WebsiteInfo/Planning\";\r\n\r\n\r\n export function onGridSelectionChanged(e: any) {\r\n var rowData: any = e.selectedRowsData[0];\r\n\r\n var rowForm: any = $(\"#PlanningForm\").dxForm(\"instance\");\r\n rowForm.option(\"formData\", rowData);\r\n\r\n let selectedRows = e.component.getSelectedRowsData();\r\n planningId = selectedRows[0].websitePlanningId;\r\n }\r\n\r\n export function onPlanningContentReady(e: any) {\r\n if (!e.component.getSelectedRowKeys().length)\r\n e.component.selectRowsByIndexes(0);\r\n }\r\n\r\n export function addPlanning() {\r\n const form = $(\"#PlanningForm\").dxForm(\"instance\");\r\n planningId = 0;\r\n\r\n $.get(`${baseUrl}/AddPlanning/${planningId}`,\r\n (data) => {\r\n form.option(\"formData\", data);\r\n });\r\n\r\n }\r\n\r\n export function updatePlanning() {\r\n const form = $(\"#PlanningForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n\r\n if (newData.websitePlanningId == 0) {\r\n saveRecord(newData);\r\n } else {\r\n updateRecord(newData)\r\n }\r\n }\r\n\r\n function saveRecord(newData: any) {\r\n const url = `${baseUrl}/PlanningPost`;\r\n const method = \"POST\";\r\n\r\n sendRequest(url,\r\n JSON.stringify(newData),\r\n method,\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n }\r\n\r\n function updateRecord(newData: any) {\r\n const url = `${baseUrl}/PlanningPut/${planningId}`;\r\n const method = \"PUT\";\r\n\r\n sendRequest(url,\r\n JSON.stringify(newData),\r\n method,\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n }\r\n\r\n function accountDialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#PlanningForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.accountId = data.accountId;\r\n formData.projectName = data.projectName;\r\n formData.projectNumber = data.projectNumber;\r\n formData.projectCCNumber = data.projectCCNumber;\r\n\r\n form.option(\"formData\", formData);\r\n }\r\n }\r\n\r\n export function selectAccount() {\r\n const form: any = $(\"#PlanningForm\").dxForm(\"instance\");\r\n\r\n const accountLookupDialog =\r\n new Areas.Dialogs.AccountDialog(accountDialogClosing());\r\n }\r\n}","namespace Areas.WebsiteInfo.RFQ {\r\n \"use strict\";\r\n\r\n let rfqId: number;\r\n const baseUrl = \"/WebsiteInfo/RFQ\";\r\n\r\n\r\n export function onGridSelectionChanged(e: any) {\r\n var rowData: any = e.selectedRowsData[0];\r\n\r\n var rowForm: any = $(\"#RFQForm\").dxForm(\"instance\");\r\n rowForm.option(\"formData\", rowData);\r\n\r\n let selectedRows = e.component.getSelectedRowsData();\r\n rfqId = selectedRows[0].websiteRFQId;\r\n }\r\n\r\n export function onRFQContentReady(e: any) {\r\n if (!e.component.getSelectedRowKeys().length)\r\n e.component.selectRowsByIndexes(0);\r\n }\r\n\r\n export function addRFQ() {\r\n const form = $(\"#RFQForm\").dxForm(\"instance\");\r\n rfqId = 0;\r\n\r\n $.get(`${baseUrl}/AddRFQ/${rfqId}`,\r\n (data) => {\r\n form.option(\"formData\", data);\r\n });\r\n }\r\n\r\n export function updateRFQWebsite(a) {\r\n\r\n sendRequest(\"/WebsiteInfo/RFQ/UpdateRFQPublicWebsite\",\r\n null,\r\n \"PUT\");\r\n\r\n return;\r\n }\r\n\r\n export function updateRFQ() {\r\n const form = $(\"#RFQForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n\r\n if (newData.websiteRFQId == 0) {\r\n saveRecord(newData);\r\n } else {\r\n updateRecord(newData)\r\n }\r\n }\r\n\r\n function saveRecord(newData: any) {\r\n const url = `${baseUrl}/RFQPost`;\r\n const method = \"POST\";\r\n\r\n sendRequest(url,\r\n JSON.stringify(newData),\r\n method,\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n }\r\n\r\n function updateRecord(newData: any) {\r\n const url = `${baseUrl}/RFQPut/${rfqId}`;\r\n const method = \"PUT\";\r\n\r\n sendRequest(url,\r\n JSON.stringify(newData),\r\n method,\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n }\r\n\r\n function accountDialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#RFQForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.accountId = data.accountId;\r\n formData.projectName = data.projectName;\r\n formData.projectNumber = data.projectNumber;\r\n formData.projectCCNumber = data.projectCCNumber;\r\n\r\n form.option(\"formData\", formData);\r\n }\r\n }\r\n\r\n export function selectAccount() {\r\n const form: any = $(\"#RFQForm\").dxForm(\"instance\");\r\n\r\n const accountLookupDialog =\r\n new Areas.Dialogs.AccountDialog(accountDialogClosing());\r\n }\r\n\r\n\r\n export function selectVendorExecutive() {\r\n const vendorDialog = new Areas.Dialogs.VendorDialog(dialogVendorClosing(\"VendorExecutive\"));\r\n }\r\n\r\n export function selectVendorDesign() {\r\n const vendorDialog = new Areas.Dialogs.VendorDialog(dialogVendorClosing(\"VendorDesign\"));\r\n }\r\n\r\n function dialogVendorClosing(buttonId: string) {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#RFQForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n if (buttonId === \"VendorExecutive\") {\r\n formData.vendorExecutiveArchitectId = data.vendorId;\r\n formData.vendorExecutiveArchitect = data.vendorName;\r\n\r\n } else if (buttonId === \"VendorDesign\") {\r\n formData.vendorDesignArchitectId = data.vendorId;\r\n formData.vendorDesignArchitect = data.vendorName;\r\n }\r\n form.option(\"formData\", formData);\r\n }\r\n } \r\n\r\n\r\n export function selectContactVendorExecutive() {\r\n const contactDialog = new Areas.Dialogs.ContactDialog(dialogContactClosing(\"ContactVendorExecutive\"));\r\n }\r\n\r\n export function selectContactVendorDesign() {\r\n const contactDialog = new Areas.Dialogs.ContactDialog(dialogContactClosing(\"ContactVendorDesign\"));\r\n }\r\n\r\n function dialogContactClosing(buttonId: string) {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#RFQForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n if (buttonId === \"ContactVendorExecutive\") {\r\n formData.contactExecutiveArchitectId = data.contactId;\r\n formData.contactExecutiveName = data.displayName;\r\n\r\n } else if (buttonId === \"ContactVendorDesign\") {\r\n formData.contactDesignArchitectId = data.contactId;\r\n formData.contactDesignName = data.displayName;\r\n }\r\n form.option(\"formData\", formData);\r\n }\r\n } \r\n}","namespace Areas.WebsiteInfo.Index {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"WebsiteInfo\", \"Index\",\r\n [\"Planning\", \"RFQ\", \"Story\"]);\r\n\r\n\r\n export function websiteInfoTabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n}","namespace Areas.WebsiteInfo.Story {\r\n \"use strict\";\r\n\r\n let storyId: number;\r\n const baseUrl = \"/WebsiteInfo/Story\";\r\n\r\n\r\n export function onGridSelectionChanged(e: any) {\r\n var rowData: any = e.selectedRowsData[0];\r\n\r\n var rowForm: any = $(\"#StoryForm\").dxForm(\"instance\");\r\n rowForm.option(\"formData\", rowData);\r\n\r\n let selectedRows = e.component.getSelectedRowsData();\r\n storyId = selectedRows[0].websiteStoryId;\r\n storyImage(storyId);\r\n\r\n }\r\n\r\n export function onStoryContentReady(e: any) {\r\n if (!e.component.getSelectedRowKeys().length)\r\n e.component.selectRowsByIndexes(0);\r\n }\r\n\r\n export function addStory() {\r\n const form = $(\"#StoryForm\").dxForm(\"instance\");\r\n storyId = 0;\r\n\r\n $.get(`${baseUrl}/AddStory/${storyId}`,\r\n (data) => {\r\n form.option(\"formData\", data);\r\n\r\n if (data.storyId > 0) {\r\n enableButton(\"ImageButton\");\r\n } else {\r\n disableButton(\"ImageButton\");\r\n }\r\n });\r\n\r\n \r\n }\r\n\r\n export function updateStory() {\r\n const form = $(\"#StoryForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n\r\n if (newData.websiteStoryId == 0) {\r\n saveRecord(newData);\r\n } else {\r\n updateRecord(newData)\r\n }\r\n }\r\n\r\n function saveRecord(newData: any) {\r\n const url = `${baseUrl}/StoryPost`;\r\n const method = \"POST\";\r\n\r\n sendRequest(url,\r\n JSON.stringify(newData),\r\n method,\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n }\r\n\r\n function updateRecord(newData: any) {\r\n const url = `${baseUrl}/StoryPut/${storyId}`;\r\n const method = \"PUT\";\r\n\r\n sendRequest(url,\r\n JSON.stringify(newData),\r\n method,\r\n (data) => {\r\n Areas.reloadPage();\r\n });\r\n }\r\n\r\n function accountDialogClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#StoryForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.accountId = data.accountId;\r\n formData.projectName = data.projectName;\r\n formData.projectNumber = data.projectNumber;\r\n formData.projectCCNumber = data.projectCCNumber;\r\n\r\n form.option(\"formData\", formData);\r\n\r\n }\r\n }\r\n\r\n export function selectAccount() {\r\n const form: any = $(\"#StoryForm\").dxForm(\"instance\");\r\n\r\n const accountLookupDialog =\r\n new Areas.Dialogs.AccountDialog(accountDialogClosing());\r\n }\r\n\r\n export function storyImage(storyId) {\r\n $(\"#StoryImage\").attr(\"src\", \"/WebsiteInfo/Story/GetStoryImage/\" + storyId);\r\n }\r\n\r\n export function imageUploadDialog() {\r\n const data = { websiteStoryId: storyId };\r\n\r\n const webStoryImageDialog =\r\n new Areas.Dialogs.WebStoryImageDialog(dialogClosing, data);\r\n }\r\n\r\n function dialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n location.href = location.href;\r\n } \r\n}",""]}