{"version":3,"sources":["Areas/TypeScript/ajax-helper.ts","Areas/TypeScript/as-of-date.ts","Areas/TypeScript/button-utilities.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/update-operations.ts","Areas/TypeScript/user-lookup.ts","Areas/TypeScript/utilities.ts","Areas/TypeScript/custom/button-htmleditor.ts","Areas/TypeScript/custom/goto.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/Anchorages/Views/Shared/anchorage-crud.ts","Areas/Anchorages/Views/Shared/anchorage-goto.ts","Areas/AreaRoom/Views/Shared/arearoom-goto.ts","Areas/Attachment/Views/Attachment/attachment-upload.ts","Areas/Custom/Views/Shared/report-goto.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/Dailies/Views/List/dailies-report.ts","Areas/Dailies/Views/Shared/dailies-crud.ts","Areas/Dailies/Views/Shared/dailies-goto.ts","Areas/Dailies/Views/Shared/dailies-other.ts","Areas/Dialog/Views/Account/dialog-account.ts","Areas/Dialog/Views/Contact/dialog-contact.ts","Areas/Dialog/Views/FilterBuilder/dialog-filter-builder.ts","Areas/Dialog/Views/Gps/dialog-gps.ts","Areas/Dialog/Views/SelectTemplate/dialog-select-template.ts","Areas/Dialog/Views/TemplateText/dialog-template-text.ts","Areas/Inspections/Views/Shared/inspection-button.ts","Areas/Inspections/Views/Shared/inspection-columns.ts","Areas/Inspections/Views/Shared/inspection-crud.ts","Areas/Inspections/Views/Shared/inspection-goto.ts","Areas/Inspections/Views/Shared/inspection-lookup.ts","Areas/Inspectors/Views/Deputy/deputy-crud.ts","Areas/Inspectors/Views/ReAssigned/reassigned-crud.ts","Areas/Inspectors/Views/ReAssigned/reassigned-goto.ts","Areas/Inspectors/Views/ReAssigned/reassigned-lookup.ts","Areas/Inspectors/Views/Return/return-crud.ts","Areas/Inspectors/Views/Return/return-goto.ts","Areas/Inspectors/Views/Scheduled/scheduled-crud.ts","Areas/Inspectors/Views/Scheduled/scheduled-goto.ts","Areas/Inspectors/Views/Shared/inspector-tabs.ts","Areas/Inspectors/Views/UnAssigned/unassigned-crud.ts","Areas/Inspectors/Views/UnAssigned/unassigned-goto.ts","Areas/Inspectors/Views/UnAssigned/unassigned-lookup.ts","Areas/Maintenance/Views/CustomQuery/custom-query-maintenance.ts","Areas/Maintenance/Views/DailyReportTemplate/daily-report-template-maintenance.ts","Areas/Maintenance/Views/Shared/maintenance-shared.ts","Areas/Maintenance/Views/Shared/maintenance-tabs.ts","Areas/NonCompliances/Views/List/non-compliance-report.ts","Areas/NonCompliances/Views/Shared/non-compliance-crud.ts","Areas/NonCompliances/Views/Shared/non-compliance-goto.ts","Areas/Observations/Views/List/observation-report.ts","Areas/Observations/Views/Shared/observation-crud.ts","Areas/Observations/Views/Shared/observation-goto.ts","Areas/Polarities/Views/Shared/polarity-crud.ts","Areas/Polarities/Views/Shared/polarity-goto.ts","Areas/Projects/Views/List/project-list.ts","Areas/Projects/Views/Shared/project-crud.ts","Areas/Projects/Views/Shared/project-edit-tabs.ts","Areas/Projects/Views/Shared/project-goto.ts","Areas/Projects/Views/Shared/project-lookup.ts","Areas/Projects/Views/Shared/project-other.ts","Areas/Projects/Views/Shared/project-tabs.ts","Areas/Projects/Views/Shared/project-view-tabs.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.AsOfDate {\r\n \"use strict;\"\r\n\r\n let headerAsOfDateUpdated: boolean = false;\r\n\r\n export function contentReady(e: any) {\r\n headerAsOfDateUpdated = false;\r\n }\r\n\r\n export function rowPrepared(e: any) {\r\n if (!headerAsOfDateUpdated) {\r\n if (e.rowType == 'data' && $(\"#AsOfDate\").length && e.data.hasOwnProperty('createdDateTime')) {\r\n $(\"#AsOfDate\").text(Areas.formatDateTime(new Date(e.data.createdDateTime)));\r\n headerAsOfDateUpdated = true;\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 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 \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 extraInitialization: () => void;\r\n \r\n constructor(dialogName: string, closeHandler: (dialogResult: DialogResult, data: any) => void, \r\n parameters: any = null, extraInitialization: ()=> void = null, rootElementId: string = \"dialog\") {\r\n this.rootElementId = rootElementId;\r\n this.dialogName = dialogName;\r\n this.closeHandler = closeHandler;\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 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 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\r\n\r\n if (newData.InspectionNumber === undefined) {\r\n sendRequest(`/${this.area}/Create/Post`, JSON.stringify(newData), \"POST\");\r\n } else\r\n {\r\n\r\n if (newData.InspectionNumber != null) {\r\n if (newData.InspectionNumber.indexOf(\"r\") > -1) {\r\n var iReInspectionEditor: any = $('#reinspectionhtmleditor').dxHtmlEditor('instance');\r\n if (iReInspectionEditor != null) {\r\n var iReInspectionRequested = iReInspectionEditor.option(\"value\");\r\n var endNumber = newData.InspectionNumber.split(\"r\")[1];\r\n newData.InspectionRequested = newData.InspectionRequested + \"
\" + iReInspectionRequested.toString().trim();\r\n }\r\n }\r\n\r\n }\r\n\r\n \r\n\r\n if (newData.InspectionNumber != null) {\r\n if (newData.InspectionNumber.indexOf(\"r\") > -1) {\r\n sendRequest(`/${this.area}/Create/PostReInspection`, JSON.stringify(newData), \"POST\");\r\n\r\n } else {\r\n\r\n sendRequest(`/${this.area}/Create/Post`, JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n updateRecord() {\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 if (newData.InspectionNumber != null) {\r\n if (newData.InspectionNumber.indexOf(\"r\") > -1) {\r\n var iReInspectionEditor: any = $('#reinspectionhtmleditor').dxHtmlEditor('instance');\r\n if (iReInspectionEditor != null) {\r\n var iReInspectionRequested = iReInspectionEditor.option(\"value\");\r\n newData.InspectionRequested = newData.InspectionRequested + \"
\" + iReInspectionRequested;\r\n\r\n }\r\n }\r\n\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\");\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 const editMergeSection = \"/Section/Index/\";\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 userInfo(): string {\r\n return `/${settings.user.userId}/${settings.user.userName}`;\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 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 UpdateOperations {\r\n\r\n form: DevExpress.ui.dxForm;\r\n url: string;\r\n getMoreData: (any) => void;\r\n\r\n constructor(formName: string, url: string, getMoreData?: (any) => void) {\r\n const formId = `#${formName}`;\r\n this.form = $(formId).dxForm(\"instance\");\r\n this.url = url;\r\n\r\n if (getMoreData) {\r\n this.getMoreData = getMoreData;\r\n }\r\n }\r\n\r\n \r\n updateRecord() {\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 console.log(result);\r\n if ($('#result').length > 0) {\r\n if (result.isValid) {\r\n sendRequest(this.url, JSON.stringify(newData), \"PUT\");\r\n } \r\n } else {\r\n sendRequest(this.url, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n updateRecordWithId() {\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.url}/${keyId}`, JSON.stringify(newData), \"PUT\");\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 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(\"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}","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 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 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 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}","namespace Areas {\r\n \"use strict\";\r\n\r\n export function highLightTextBase(idname: string) {\r\n\r\n var editorInstance = $(idname).dxHtmlEditor(\"instance\");\r\n\r\n var textFormat = editorInstance.getFormat(editorInstance.getSelection().index, editorInstance.getSelection().length)\r\n\r\n if (textFormat.background == \"yellow\") {\r\n editorInstance.formatText(editorInstance.getSelection().index, editorInstance.getSelection().length, \"background\", \"white\");\r\n }\r\n else {\r\n editorInstance.formatText(editorInstance.getSelection().index, editorInstance.getSelection().length, \"background\", \"yellow\");\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\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 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}","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 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 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\r\n private addTrackGridSelection() {\r\n this.grid.on(\"selectionChanged\", this.onSelectionChanged());\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 this.setButtonsVisibility();\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 this.setButtonsVisibility();\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.setButtonsVisibility();\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.setButtonsVisibility();\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) {\r\n const dataGrid = $(`#${gridName}`).dxDataGrid(\"instance\");\r\n const dataId = dataGrid.getSelectedRowKeys()[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 refreshGrid(id: string) {\r\n $(`#${id}`).dxDataGrid(\"instance\").refresh();\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}","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 }\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.Anchorages {\r\n \"use strict\";\r\n\r\n export function initializeRow(e: any) {\r\n\r\n var dataGrid = $('#AnchoragesDetailGrid').dxDataGrid('instance');\r\n var anchorageId = dataGrid.option('anchorageId');\r\n\r\n e.data.anchorageId = anchorageId;\r\n }\r\n\r\n //\r\n //CRUD functions\r\n //\r\n\r\n var formAnchorageOpen, formAnchorageClose;\r\n\r\n var formCrudOps: FormCrudOperations;\r\n $(() => { init(); });\r\n\r\n function init() {\r\n\r\n formCrudOps = new FormCrudOperations(\"Anchorages\");\r\n formAnchorageOpen = new UpdateOperations(\"AnchoragesForm\", \"/Anchorages/Edit/OpenAnchorage\");\r\n formAnchorageClose = new UpdateOperations(\"AnchoragesForm\", \"/Anchorages/Edit/CloseAnchorage\");\r\n }\r\n\r\n export function openAnchorage(e: any) {\r\n formAnchorageOpen.updateRecordWithId();\r\n }\r\n\r\n export function closeAnchorage(e: any) {\r\n formAnchorageClose.updateRecordWithId();\r\n }\r\n\r\n export function insertRecord(e: any) {\r\n formCrudOps.insertRecord();\r\n }\r\n\r\n export function updateRecord(e: any) {\r\n formCrudOps.updateRecord();\r\n }\r\n\r\n export function voidRecord() {\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 form = $(\"#AnchoragesForm\").dxForm(\"instance\");\r\n const keyId: any = form.option(\"KeyId\");\r\n const projectId = form.option(\"ProjectId\");\r\n\r\n if (keyId != null && projectId != null) {\r\n sendRequest(`/Anchorages/Edit/VoidAnchorage/${keyId}/${projectId}/`, \"\", \"PUT\");\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.Anchorages {\r\n \"use strict\";\r\n\r\n export function goBack() {\r\n window.history.back();\r\n }\r\n\r\n\r\n export function gotoCreateFromForm() {\r\n var keyId: any = $('#AnchoragesForm').dxForm('instance').option('ProjectId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Anchorages/Create/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoEditFromForm() {\r\n var keyId: any = $('#AnchoragesForm').dxForm('instance').option('KeyId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Anchorages/Edit/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoViewFromForm() {\r\n var keyId: any = $('#AnchoragesForm').dxForm('instance').option('KeyId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Anchorages/View/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoAnchorageListFromForm() {\r\n var keyId: any = $('#AnchoragesForm').dxForm('instance').option('ProjectId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Anchorages/List/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoCreate() {\r\n var keyId: any = $('#CreateButton').dxButton('instance').option('ProjectId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Anchorages/Create/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Cannot find default Anchorage Project ID. Contact I.S.\", \"warning\", 2000);\r\n }\r\n\r\n }\r\n\r\n export function gotoEdit() {\r\n var dataGrid = $('#AnchoragesGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Anchorages/Edit/Index/\" + 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 = $('#AnchoragesGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Anchorages/View/Index/\" + 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 status(cellElement, cellInfo) {\r\n cellElement.html(cellInfo.data.status);\r\n if (cellInfo.data.status == 'Open') {\r\n $(cellElement).css('background-color', 'gold');\r\n }\r\n }\r\n\r\n export function viewLink(cellElement, cellInfo) {\r\n var fieldData = cellInfo.data.anchorageId;\r\n var linkInfo = \"View\"\r\n cellElement.html(linkInfo);\r\n }\r\n}\r\n","namespace Areas.Inspections {\r\n \"use strict\";\r\n\r\n export function cellPreparedPivotGrid(e) {\r\n\r\n if (e.area == \"data\") {\r\n if (e.cell.text != \"undefined\" && e.cell.text != \"\") {\r\n var linkInfo = e.cell.value;\r\n e.cellElement.html(linkInfo);\r\n }\r\n else if (e.cell.rowPath.length > 1) {\r\n\r\n var inspectionProjectId = $('#InspectionPivotGrid').dxPivotGrid('instance').option(\"inspectionProjectId\");\r\n var url = \"/Inspections/Create/Index/\" + inspectionProjectId\r\n + \"?inspectionType=\" + encodeURIComponent(e.cell.rowPath[0])\r\n + \"&inspectionSubType=\" + encodeURIComponent(e.cell.rowPath[1])\r\n + \"&inspectionGroup=\" + encodeURIComponent(e.cell.columnPath[0]);\r\n e.cellElement.html(\"+++\");\r\n }\r\n }\r\n }\r\n\r\n export function calculateSummaryValue(args) {\r\n\r\n if (args.field(\"row\")) {\r\n if (args.field(\"row\").dataField === \"inspectionTypeLk\") {\r\n return \"\"; //Show blank on the InspectionTypeLk 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 else {\r\n //Not sure what element this is for, but we'll pass it along\r\n return args.value(\"html\");\r\n }\r\n }\r\n}","namespace Areas.Attachment {\r\n \"use strict\";\r\n\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 console.log(url);\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 var uploadGrid = $(\"#attachmentDataGrid\").dxDataGrid(\"instance\");\r\n uploadGrid.refresh();\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 } ","namespace Areas.Report {\r\n \"use strict\";\r\n\r\n\r\n export function gotoInspectionReport() {\r\n var dataGrid = $('#InspectionGrid').dxDataGrid('instance');\r\n let inspectionId = dataGrid.getSelectedRowKeys()[0];\r\n\r\n if (inspectionId != null) {\r\n const url = `/Custom/Report/Inspection/${inspectionId}`;\r\n window.open(url);\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n\r\n } \r\n\r\n export function gotoInspectionReportMultiple() {\r\n var dataGrid = $('#InspectionGrid').dxDataGrid('instance');\r\n let inspectionIds = dataGrid.getSelectedRowKeys();\r\n\r\n if (inspectionIds != null) {\r\n const url = `/Custom/Report/InspectionMultiple/${inspectionIds}`;\r\n window.open(url);\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n\r\n } \r\n\r\n export function gotoInspectionReportAll() {\r\n var dataGrid = $('#InspectionGrid').dxDataGrid('instance');\r\n var inspectionProjectId = dataGrid.option(\"InspectionProjectId\");\r\n\r\n if (inspectionProjectId != null) {\r\n const url = `/Custom/Report/InspectionAll/${inspectionProjectId}`;\r\n window.open(url);\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n\r\n } \r\n\r\n export function gotoInspectionReportFromForm() {\r\n var form = $('#InspectionsForm').dxForm('instance');\r\n let keyId: any = form.option('InspectionId');\r\n if (keyId != null) {\r\n const url = `/Custom/Report/Inspection/${keyId}`;\r\n window.open(url);\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n } \r\n\r\n export function gotoNonComplianceReport() {\r\n var dataGrid = $('#NonCompliancesGrid').dxDataGrid('instance');\r\n let nonComplianceId = dataGrid.getSelectedRowKeys()[0];\r\n\r\n if (nonComplianceId != null) {\r\n const url = `/Custom/Report/NonCompliance/${nonComplianceId}`;\r\n window.open(url);\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n\r\n }\r\n\r\n export function gotoNonComplianceReportMultiple() {\r\n var dataGrid = $('#NonCompliancesGrid').dxDataGrid('instance');\r\n let nonComplianceIds = dataGrid.getSelectedRowKeys();\r\n\r\n if (nonComplianceIds != null) {\r\n const url = `/Custom/Report/NonComplianceMultiple/${nonComplianceIds}`;\r\n window.open(url);\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n\r\n }\r\n\r\n export function gotoNonComplianceReportAll() {\r\n var dataGrid = $('#NonCompliancesGrid').dxDataGrid('instance');\r\n var inspectionProjectId = dataGrid.option(\"InspectionProjectId\");\r\n\r\n if (inspectionProjectId != null) {\r\n const url = `/Custom/Report/NonComplianceAll/${inspectionProjectId}`;\r\n window.open(url);\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n\r\n }\r\n\r\n export function gotoNonComplianceReportFromForm() {\r\n var form = $('#NonCompliancesForm').dxForm('instance');\r\n let nonComplianceId: any = form.option('KeyId');\r\n if (nonComplianceId != null) {\r\n const url = `/Custom/Report/NonCompliance/${nonComplianceId}`;\r\n window.open(url);\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n } \r\n\r\n export function gotoObservationReport() {\r\n var dataGrid = $('#ObservationGrid').dxDataGrid('instance');\r\n let observationId = dataGrid.getSelectedRowKeys()[0];\r\n\r\n if (observationId != null) {\r\n const url = `/Custom/Report/Observation/${observationId}`;\r\n window.open(url);\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n\r\n }\r\n\r\n export function gotoObservationReportMultiple() {\r\n var dataGrid = $('#ObservationGrid').dxDataGrid('instance');\r\n let observationIds = dataGrid.getSelectedRowKeys();\r\n\r\n if (observationIds != null) {\r\n const url = `/Custom/Report/ObservationMultiple/${observationIds}`;\r\n window.open(url);\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n\r\n }\r\n\r\n export function gotoObservationReportAll() {\r\n var dataGrid = $('#ObservationGrid').dxDataGrid('instance');\r\n var inspectionProjectId = dataGrid.option(\"InspectionProjectId\");\r\n\r\n if (inspectionProjectId != null) {\r\n const url = `/Custom/Report/ObservationAll/${inspectionProjectId}`;\r\n window.open(url);\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n\r\n }\r\n\r\n export function gotoObservationReportFromForm() {\r\n var form = $('#ObservationsForm').dxForm('instance');\r\n let observationId: any = form.option('KeyId');\r\n if (observationId != null) {\r\n const url = `/Custom/Report/Observation/${observationId}`;\r\n window.open(url);\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n } \r\n\r\n export function gotoDailyReport() {\r\n var dataGrid = $('#DailyReportGrid').dxDataGrid('instance');\r\n let dailyId = dataGrid.getSelectedRowKeys()[0];\r\n\r\n if (dailyId != null) {\r\n const url = `/Custom/Report/Dailies/${dailyId}`;\r\n window.open(url);\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoDailyReportMultiple() {\r\n var dataGrid = $('#DailyReportGrid').dxDataGrid('instance');\r\n let dailyIds = dataGrid.getSelectedRowKeys();\r\n\r\n if (dailyIds != null) {\r\n const url = `/Custom/Report/DailiesMultiple/${dailyIds}`;\r\n window.open(url);\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n\r\n }\r\n\r\n export function gotoDailyReportAll() {\r\n var dataGrid = $('#DailyReportGrid').dxDataGrid('instance');\r\n var inspectionProjectId = dataGrid.option(\"InspectionProjectId\");\r\n\r\n if (inspectionProjectId != null) {\r\n const url = `/Custom/Report/DailiesAll/${inspectionProjectId}`;\r\n window.open(url);\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoDailyReportFromForm() {\r\n var form = $('#DailiesForm').dxForm('instance');\r\n let dailyId: any = form.option('KeyId');\r\n if (dailyId != null) {\r\n const url = `/Custom/Report/Dailies/${dailyId}`;\r\n window.open(url);\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\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 \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}","declare module DevExpress.data.AspNet {\r\n interface Options {\r\n key?: string | Array,\r\n errorHandler?: (e: Error) => void,\r\n\r\n loadUrl?: string,\r\n loadParams?: Object,\r\n loadMethod?: string,\r\n\r\n updateUrl?: string,\r\n updateMethod?: string,\r\n\r\n insertUrl?: string,\r\n insertMethod?: string,\r\n\r\n deleteUrl?: string,\r\n deleteMethod?: string,\r\n\r\n loadMode?: \"processed\" | \"raw\",\r\n cacheRawData?: boolean,\r\n\r\n onBeforeSend?: (operation: string, ajaxSettings: JQueryAjaxSettings) => void | PromiseLike | any,\r\n onAjaxError?: (e: { xhr: JQueryXHR, error: string | Error }) => void\r\n\r\n onLoading?: (loadOptions: any) => void;\r\n onLoaded?: (result: Array) => void;\r\n\r\n onInserting?: (values: any) => void;\r\n onInserted?: (values: any, key: any) => void;\r\n\r\n onUpdating?: (key: any, values: any) => void;\r\n onUpdated?: (key: any, values: any) => void;\r\n\r\n onRemoving?: (key: any) => void;\r\n onRemoved?: (key: any) => void;\r\n\r\n onModifying?: Function;\r\n onModified?: Function;\r\n\r\n onPush?: (changes: Array) => void;\r\n }\r\n\r\n export function createStore(options: Options): CustomStore;\r\n}\r\n\r\n\r\nnamespace 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: true,\r\n showBorders: true,\r\n allowColumnReordering: true,\r\n allowColumnResizing: true,\r\n rowAlternationEnabled: true,\r\n columnAutoWidth: true,\r\n columnChooser: {\r\n mode: \"select\"\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 key: \"\",\r\n loadUrl: \"/CustomQuery/Main/GetResult\",\r\n insertUrl: \"\",\r\n updateUrl: \"\",\r\n deleteUrl: \"\",\r\n loadParams: {\r\n customQueryId: Areas.CustomQuery.getCustomQueryId(),\r\n runQuery: Areas.CustomQuery.canExecuteQuery(),\r\n parameters: getQueryParameters()\r\n }\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}","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.Dailies {\r\n \"use strict\";\r\n\r\n\r\n $(() => init());\r\n\r\n function init() {\r\n const button: DevExpress.ui.dxDropDownButton = $(\"#DailiesReportsDropDownButton\").dxDropDownButton(\"instance\");\r\n\r\n if (!button) return;\r\n\r\n const items = [\r\n { text: \"Dailies Report\", icon: \"doc\", action: Areas.Report.gotoDailyReport },\r\n { text: \"Dailies Report Multiple (40 max)\", icon: \"doc\", action: Areas.Report.gotoDailyReportMultiple },\r\n { text: \"Dailies Report All\", icon: \"doc\", action: Areas.Report.gotoDailyReportAll }\r\n ];\r\n\r\n button.option(\"items\", items);\r\n\r\n }\r\n\r\n export function reportDropDownButtonClick(e) {\r\n e.itemData.action();\r\n }\r\n\r\n\r\n\r\n}\r\n","namespace Areas.Dailies {\r\n \"use strict\";\r\n\r\n\r\n //\r\n //CRUD functions\r\n //\r\n export function initializeRow(e: any) {\r\n\r\n var dataGrid = $('#DailyReportGrid').dxDataGrid('instance');\r\n var dailyReportId = dataGrid.option('dailyReportId');\r\n\r\n e.data.dailyReportId = dailyReportId;\r\n }\r\n\r\n var formDailiesClose;\r\n\r\n var formCrudOps: FormCrudOperations;\r\n $(() => { init(); });\r\n\r\n function init() {\r\n\r\n formCrudOps = new FormCrudOperations(\"Dailies\");\r\n formDailiesClose = new UpdateOperations(\"DailiesForm\", \"/Dailies/Edit/CloseDaily\");\r\n\r\n }\r\n\r\n\r\n export function closeDaily(e: any) {\r\n formDailiesClose.updateRecordWithId();\r\n }\r\n\r\n export function insertRecord(e: any) {\r\n formCrudOps.insertRecord();\r\n }\r\n\r\n export function updateRecord(e: any) {\r\n formCrudOps.updateRecord();\r\n }\r\n\r\n export function voidRecord() {\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 = $(\"#DailiesForm\").dxForm(\"instance\");\r\n const keyId: any = form.option(\"KeyId\");\r\n const projectId = form.option(\"ProjectId\");\r\n\r\n if (keyId != null && projectId != null) {\r\n sendRequest(`/Dailies/Edit/VoidDailies/${keyId}/${projectId}/`, \"\", \"PUT\");\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\n","namespace Areas.Dailies {\r\n \"use strict\";\r\n\r\n\r\n export function goBack() {\r\n window.history.back();\r\n }\r\n\r\n\r\n export function gotoDailyReportListFromForm() {\r\n var keyId: any = $('#DailiesForm').dxForm('instance').option('ProjectId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Dailies/List/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoEditFromForm() {\r\n var keyId: any = $('#DailiesForm').dxForm('instance').option('KeyId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Dailies/Edit/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoViewFromForm() {\r\n var keyId: any = $('#DailiesForm').dxForm('instance').option('KeyId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Dailies/View/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n\r\n\r\n export function gotoCreate(e) {\r\n\r\n const selectTemplateDialog = new Areas.Dialogs.SelectTemplate.SelectTemplateDialog(dialogClosing);\r\n }\r\n\r\n function dialogClosing(dialogResult: DialogResult, data: any) {\r\n\r\n if (dialogResult === DialogResult.Cancel) {\r\n return;\r\n\r\n }\r\n\r\n const dataGrid: any = $(\"#DailyReportGrid\").dxDataGrid(\"instance\");\r\n let projectId: any = dataGrid.option('projectId');\r\n let inspectorLk: any = dataGrid.option('inspectorLk');\r\n\r\n\r\n let baseURL = \"/Dailies/Create/PostDailyReportWithTemplate\"\r\n let reportDate = new Date();\r\n let momentDate = moment(reportDate);\r\n\r\n let currentHour = reportDate.getHours();\r\n if (currentHour > 17) {\r\n momentDate = momentDate.add(1, \"day\");\r\n }\r\n\r\n \r\n var newData = JSON.stringify(\r\n {\r\n \"inspectionProjectId\": projectId,\r\n \"inspectorLk\": inspectorLk,\r\n \"reportNotes\": data,\r\n \"status\": \"Draft\",\r\n \"reportDate\": momentDate\r\n });\r\n\r\n sendRequest(`${baseURL}`,\r\n newData,\r\n \"POST\");\r\n\r\n Areas.refreshGrid(\"DailyReportGrid\");\r\n\r\n\r\n }\r\n\r\n export function gotoEdit() {\r\n var dataGrid = $('#DailyReportGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Dailies/Edit/Index/\" + 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 = $('#DailyReportGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Dailies/View/Index/\" + 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 viewLink(cellElement, cellInfo) {\r\n var fieldData = cellInfo.data.dailyReportId;\r\n var linkInfo = \"View\"\r\n cellElement.html(linkInfo);\r\n }\r\n\r\n\r\n export function status(cellElement, cellInfo) {\r\n\r\n cellElement.html(cellInfo.data.status);\r\n\r\n if (cellInfo.data.status == 'Open') {\r\n $(cellElement).css('background-color', 'gold');\r\n\r\n\r\n }\r\n }\r\n\r\n export function resendEmail() {\r\n var keyId: any = $('#DailiesForm').dxForm('instance').option('KeyId');\r\n if (keyId != null) {\r\n sendRequest(`/Dailies/Edit/ResendDailyEmail/${keyId}/`, \"\", \"PUT\");\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function resendEmailFromList() {\r\n var keyId: any = $('#DailyReportGrid').dxDataGrid('instance').getSelectedRowKeys();\r\n if (keyId[0] != null) {\r\n sendRequest(`/Dailies/Edit/ResendDailyEmail/${keyId[0]}/`, \"\", \"PUT\");\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n}\r\n\r\n","namespace Areas.Dailies {\r\n \"use strict\";\r\n\r\n let long;\r\n let lat;\r\n\r\n export function getWeather() {\r\n\r\n const form = $(\"#DailiesForm\").dxForm(\"instance\");\r\n const formData = form.option(\"formData\");\r\n let weatherData = formData.Weather;\r\n\r\n if (weatherData === null) {\r\n\r\n long = form.option(\"GPSLong\");\r\n lat = form.option(\"GPSLat\");\r\n\r\n const proxy = \"https://cors-anywhere.herokuapp.com/\";\r\n const api =\r\n `${proxy}https://api.darksky.net/forecast/c240b7ac9cccb4d5792139a30969338b/${lat},${long}`;\r\n\r\n fetch(api)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(data => {\r\n const { temperature, summary } = data.currently;\r\n weatherData = \"Temperature: \" + temperature + \" \" + summary;\r\n formData.Weather = weatherData;\r\n form.option(\"formData\", formData);\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n export function highLightText() {\r\n Areas.highLightTextBase(\"#dailyhtmleditor\");\r\n }\r\n}","namespace Areas.Dialogs.Account {\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\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.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\r\n}\r\n","namespace Areas.Dialogs.Gps {\r\n \"use strict\";\r\n\r\n export class GpsDialog extends Areas.BaseDialog {\r\n\r\n markerExists: boolean = false;\r\n gpsData: any;\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters:any) {\r\n super(\"Gps\", closeHandler, parameters,\r\n () => {\r\n Areas.disableButton(this.okButtonId);\r\n\r\n const map = $(\"#map\").dxMap(\"instance\");\r\n map.on({ \"click\": addMarker(this) });\r\n map.on({ \"markerRemoved\" : markerRemoved(this) });\r\n\r\n if (parameters)\r\n {\r\n map.addMarker({ location: parameters })\r\n .then((e) => \r\n { \r\n this.markerExists = true; \r\n map.option(\"autoAdjust\", false); \r\n });\r\n }\r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n this.close(DialogResult.Ok, this.gpsData);\r\n }\r\n\r\n }\r\n\r\n function markerRemoved(dialog: GpsDialog) {\r\n return (e: any) => {\r\n dialog.markerExists = false;\r\n }\r\n } \r\n\r\n function addMarker(dialog: GpsDialog) {\r\n return (e: any) => {\r\n dialog.gpsData = `${e.location.lat}, ${e.location.lng}`;\r\n const map = $(\"#map\").dxMap(\"instance\");\r\n \r\n if (dialog.markerExists) {\r\n map.removeMarker(0)\r\n .then(() => map.addMarker({ location: e.location })\r\n .then((e) => { dialog.markerExists = true; Areas.enableButton(dialog.okButtonId); }));\r\n } else {\r\n map.addMarker({ location: e.location })\r\n .then((e) => { dialog.markerExists = true; Areas.enableButton(dialog.okButtonId); });\r\n }\r\n }\r\n }\r\n \r\n}","namespace Areas.Dialogs.SelectTemplate {\r\n \"use strict\";\r\n\r\n\r\n\r\n let dailyReportTemplateId: number;\r\n\r\n export class SelectTemplateDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any = null) {\r\n super(\"SelectTemplate\", closeHandler, parameters, () => {\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 const form = $(\"#SelectTemplateForm\").dxForm(\"instance\");\r\n let data = selectedRows[0];\r\n form.option(\"formData\", data);\r\n }\r\n\r\n\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].reportNotesTemplate;\r\n this.close(DialogResult.Ok, data);\r\n }\r\n\r\n \r\n \r\n }\r\n }\r\n\r\n export function reportTemplateCellTemplate(cellElement: any, cellInfo: any) {\r\n cellElement.text(cellInfo.value);\r\n\r\n } \r\n\r\n export function onTemplateGridSelectionChanged(e: any) {\r\n const rowData: any = e.selectedRowsData[0];\r\n dailyReportTemplateId = rowData.dailyReportTemplateId;\r\n\r\n const rowForm: any = $(\"#SelectTemplateForm\").dxForm(\"instance\");\r\n rowForm.option(\"formData\", rowData);\r\n\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","namespace Areas.Dialogs.TemplateText {\r\n \"use strict\";\r\n\r\n let baseURL: string;\r\n\r\n export class TemplateTextDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any = null) {\r\n super(\"TemplateText\", closeHandler, parameters, () => {\r\n\r\n if (parameters.postOrPut === \"post\") {\r\n baseURL = \"/Dialog/TemplateText/Post\"\r\n } else {\r\n baseURL = \"/Dialog/TemplateText/Put\"\r\n }\r\n\r\n const form = $(\"#CreateTemplateTextForm\").dxForm(\"instance\");\r\n form.option(\"formData\",\r\n { DailyReportTemplateId: parameters.templateId, TemplateTitle: parameters.templateTitle, ReportNotesTemplate: parameters.reportNotesTemplate });\r\n\r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateTemplateTextForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n const result: any = form.validate();\r\n let keyId = formData.DailyReportTemplateId;\r\n\r\n if (result.isValid) {\r\n if (keyId === 0) {\r\n sendRequest(`${baseURL}`, JSON.stringify(formData), \"POST\", () => {\r\n this.close(DialogResult.Ok, null);\r\n });\r\n\r\n } else {\r\n sendRequest(`${baseURL}/${keyId}`, JSON.stringify(formData), \"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\nnamespace Areas.Inspections {\r\n \"use strict\";\r\n\r\n\r\n $(() => init());\r\n\r\n function init() {\r\n const button: DevExpress.ui.dxDropDownButton = $(\"#InspectionReportsDropDownButton\").dxDropDownButton(\"instance\");\r\n \r\n if (!button) return;\r\n\r\n const items = [\r\n { text: \"Inspection Report\", icon: \"doc\", action: Areas.Report.gotoInspectionReport },\r\n { text: \"Inspection Report Multiple (40 max)\", icon: \"doc\", action: Areas.Report.gotoInspectionReportMultiple },\r\n { text: \"Inspection Report All\", icon: \"doc\", action: Areas.Report.gotoInspectionReportAll }\r\n ];\r\n\r\n button.option(\"items\", items);\r\n\r\n const button2: DevExpress.ui.dxDropDownButton = $(\"#InspectionInspectorDropDownButton\").dxDropDownButton(\"instance\");\r\n\r\n const items2 = [\r\n { text: \"Assign Inspector\", icon: \"edit\", action: gotoAssign },\r\n { text: \"Deputy Inspector Review\", icon: \"edit\", action: gotoDeputy },\r\n { text: \"Write-Up by Inspector\", icon: \"edit\", action: gotoWriteUp },\r\n { text: \"Edit Attachments\", icon: \"edit\", action: gotoInspectorEdit }\r\n ];\r\n\r\n button2.option(\"items\", items2);\r\n }\r\n\r\n export function reportDropDownButtonClick(e) {\r\n e.itemData.action();\r\n }\r\n\r\n export function inspectorDropDownButtonClick(e) {\r\n e.itemData.action();\r\n }\r\n\r\n\r\n}","namespace Areas.Inspections {\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}","namespace Areas.Inspections {\r\n import Data = DevExpress.data;\r\n \"use strict\";\r\n\r\n //\r\n //CRUD functions\r\n //\r\n\r\n let roomSelectedItems: string[];\r\n let roomSelectedItemsString: string;\r\n\r\n export let inspectionTypeLk: string;\r\n\r\n export function onContentReady() {\r\n\r\n\r\n if (elementIdExists(\"InspectionsForm\")) {\r\n const form = $(\"#InspectionsForm\").dxForm(\"instance\");\r\n const data = form.option(\"formData\");\r\n\r\n inspectionTypeLk = data.InspectionTypeLk;\r\n const subTypeEditor = form.getEditor(\"InspectionSubTypeLk\") as DevExpress.ui.dxLookup;\r\n subTypeEditor.getDataSource().reload();\r\n subTypeEditor.repaint();\r\n }\r\n }\r\n\r\n export function getInspectionType() {\r\n return inspectionTypeLk;\r\n }\r\n\r\n var formCrudOps: FormCrudOperations;\r\n $(() => { init(); });\r\n\r\n function init() {\r\n\r\n formCrudOps = new FormCrudOperations(\"Inspections\",\r\n (newData: any) => {\r\n newData.InspectionGroupString = roomSelectedItemsString;\r\n });\r\n\r\n }\r\n\r\n export function processSingleReturn() {\r\n const verifyVoid = window.confirm(\"Are you sure you would like to RETURN this record to the Requestor?\");\r\n\r\n if (verifyVoid) {\r\n const form = $(\"#InspectionsForm\").dxForm(\"instance\");\r\n const keyId: any = form.option(\"KeyId\");\r\n const projectId = form.option(\"ProjectId\");\r\n\r\n if (keyId != null && projectId != null) {\r\n sendRequest(`/Inspections/Edit/ReturnToRequestor/${keyId}/${projectId}/`, \"\", \"PUT\");\r\n }\r\n }\r\n }\r\n\r\n export function updateWriteUp(e: any) {\r\n const form = $(\"#InspectionWriteUpForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const keyId: any = form.option(\"KeyId\");\r\n const projectId = form.option(\"ProjectId\");\r\n\r\n if (keyId != null && projectId != null) {\r\n sendRequest(`/Inspections/WriteUp/Put/${keyId}/${projectId}/`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n export function writeUpRequestApproved(e: any) {\r\n const form = $(\"#InspectionWriteUpForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const keyId: any = form.option(\"KeyId\");\r\n const projectId = form.option(\"ProjectId\");\r\n\r\n if (keyId != null && projectId != null) {\r\n sendRequest(`/Inspections/WriteUp/Approved/${keyId}/${projectId}/`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n export function writeUpRequestRejected(e: any) {\r\n const form = $(\"#InspectionWriteUpForm\").dxForm(\"instance\");\r\n\r\n const newData: any = form.option(\"formData\");\r\n \r\n\r\n const keyId: any = form.option(\"KeyId\");\r\n const projectId = form.option(\"ProjectId\");\r\n\r\n if (keyId != null && projectId != null) {\r\n sendRequest(`/Inspections/WriteUp/Rejected/${keyId}/${projectId}/`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n export function updateDeputy(e: any) {\r\n const form = $(\"#InspectionDeputyForm\").dxForm(\"instance\");\r\n\r\n const newData: any = form.option(\"formData\");\r\n \r\n\r\n const keyId: any = form.option(\"KeyId\");\r\n const projectId = form.option(\"ProjectId\");\r\n\r\n if (keyId != null && projectId != null) {\r\n sendRequest(`/Inspections/Deputy/Put/${keyId}/${projectId}/`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n export function submitDeputy(e: any) {\r\n const form = $(\"#InspectionDeputyForm\").dxForm(\"instance\");\r\n\r\n const newData: any = form.option(\"formData\");\r\n \r\n\r\n const keyId: any = form.option(\"KeyId\");\r\n const projectId = form.option(\"ProjectId\");\r\n\r\n if (keyId != null && projectId != null) {\r\n sendRequest(`/Inspections/Deputy/SubmitDeputyWriteUp/${keyId}/${projectId}/`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n export function submitInspection(e: any) {\r\n const form = $(\"#InspectionsForm\").dxForm(\"instance\");\r\n\r\n const newData: any = form.option(\"formData\");\r\n \r\n newData.InspectionGroupString = roomSelectedItemsString;\r\n\r\n const result: any = form.validate();\r\n if (result.isValid) {\r\n const keyId: any = form.option(\"KeyId\");\r\n const projectId = form.option(\"ProjectId\");\r\n \r\n if (keyId != null && projectId != null) {\r\n sendRequest(`/Inspections/Edit/Submit/${keyId}/${projectId}/`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n }\r\n\r\n export function updateAssign(e: any) {\r\n const form = $(\"#InspectionsForm\").dxForm(\"instance\");\r\n const assignForm = $(\"#InspectionAssignForm\").dxForm(\"instance\");\r\n\r\n const newData: any = form.option(\"formData\");\r\n const assignData = assignForm.option(\"formData\");\r\n\r\n newData.InspectorLk = assignData.InspectorLk;\r\n newData.PlannedInspectionDate = assignData.PlannedInspectionDate;\r\n newData.IsDeputyInspectorAssigned = assignData.IsDeputyInspectorAssigned;\r\n newData.InspectionGroupString = roomSelectedItemsString;\r\n\r\n const result: any = form.validate();\r\n const result2: any = assignForm.validate();\r\n\r\n if (result.isValid && result2.isValid) {\r\n const keyId: any = form.option(\"KeyId\");\r\n const projectId = form.option(\"ProjectId\");\r\n\r\n if (keyId != null && projectId != null) {\r\n sendRequest(`/Inspections/Assign/Put/${keyId}/${projectId}/`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n }\r\n\r\n export function insertRecord(e: any) {\r\n formCrudOps.insertRecord();\r\n }\r\n\r\n\r\n export function updateRecord(e: any) {\r\n formCrudOps.updateRecord();\r\n }\r\n\r\n export function 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 form = $(\"#InspectionsForm\").dxForm(\"instance\");\r\n const keyId: any = form.option(\"KeyId\");\r\n const projectId = form.option(\"ProjectId\");\r\n const iComments = form.option(\"InspectorsComments\");\r\n\r\n if (keyId != null && projectId != null) {\r\n sendRequest(`/Inspections/Edit/Delete/${keyId}/${projectId}/`, \"\", \"DELETE\");\r\n }\r\n }\r\n }\r\n\r\n export function deleteRecordFromWriteUp() {\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 form = $(\"#InspectionWriteUpForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const keyId: any = form.option(\"KeyId\");\r\n const projectId = form.option(\"ProjectId\");\r\n /* newData.StatusLk = \"Void\";*/ /*PutVoid sets status to void*/\r\n\r\n let todayDate = new Date();\r\n newData.StatusLastUpdated = todayDate; \r\n\r\n if (keyId != null && projectId != null) {\r\n sendRequest(`/Inspections/WriteUp/PutVoid/${keyId}/${projectId}/`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n }\r\n\r\n \r\n //multi-room select located here because variable roomSelectedItemsString needed for update\r\n\r\n export function AreaRoomChanged(data) {\r\n\r\n roomSelectedItems = $.map(roomSelectedItems, function(item) { return item });\r\n\r\n var listForm: DevExpress.ui.dxForm = $('#MultiSelectGroupForm').dxForm('instance');\r\n var listFormData: any = listForm.option('formData');\r\n\r\n var listControl: any = $('#roomListControl').dxList('instance');\r\n\r\n if (listControl.option(\"selectedItemKeys\").length > 0) {\r\n roomSelectedItemsString = null;\r\n for (var i = 0; i < listControl.option(\"selectedItemKeys\").length; i++) {\r\n if (roomSelectedItemsString === null) {\r\n roomSelectedItemsString = listControl.option(\"selectedItemKeys\")[i].InspectionGroupId;\r\n\r\n } else {\r\n roomSelectedItemsString = roomSelectedItemsString +\r\n \"|\" +\r\n listControl.option(\"selectedItemKeys\")[i].InspectionGroupId;\r\n }\r\n\r\n listFormData.InspectionGroupString = roomSelectedItemsString;\r\n }\r\n } else listFormData.InspectionGroupString = null;\r\n\r\n }\r\n\r\n\r\n export function OnContentReadyMarkListItems(listControl) {\r\n\r\n listControl.component.paginate = false;\r\n\r\n window.setTimeout(function () {\r\n var items = listControl.component.option(\"items\");\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (item.IsChecked) {\r\n listControl.component.selectItem(i);\r\n\r\n }\r\n }\r\n\r\n }, 200);\r\n }\r\n\r\n\r\n export function listItemTemplate(itemdata, itemIndex, itemElement) {\r\n\r\n itemElement.text(`${itemdata.Description}`);\r\n\r\n }\r\n\r\n\r\n}\r\n","namespace Areas.Inspections {\r\n \"use strict\";\r\n\r\n export function goBack() {\r\n window.history.back();\r\n }\r\n\r\n export function inspectionSelectionChanged(e: any) {\r\n var inspectionsSelected = e.selectedRowKeys.length > 0;\r\n\r\n if (inspectionsSelected) {\r\n enableButton(\"ReportButton\");\r\n }\r\n else {\r\n disableButton(\"ReportButton\");\r\n }\r\n }\r\n\r\n export function gotoCreateFromForm() {\r\n var keyId: any = $('#InspectionsForm').dxForm('instance').option('ProjectId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Inspections/Create/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoEditFromForm() {\r\n var keyId: any = $('#InspectionsForm').dxForm('instance').option('KeyId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Inspections/Edit/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n export function gotoAssignFromForm() {\r\n var keyId: any = $('#InspectionsForm').dxForm('instance').option('KeyId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Inspections/Assign/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoWriteUpFromForm() {\r\n var keyId: any = $('#InspectionsForm').dxForm('instance').option('KeyId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Inspections/WriteUp/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoInspectionListFromForm() {\r\n var keyId: any = $('#InspectionsForm').dxForm('instance').option('ProjectId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Inspections/List/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n\r\n export function gotoProjectView() {\r\n var keyId: any = $('#ProjectViewButton').dxButton('instance').option('ProjectId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Projects/View/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Cannot find default Inspection Project ID. Contact I.S.\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoCreate() {\r\n var keyId: any = $('#CreateInspectionButton').dxButton('instance').option('ProjectId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Inspections/Create/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Cannot find default Inspection Project ID. Contact I.S.\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoCreateInspection() { \r\n var keyId: any = $('#CreateInspectionButton').dxButton('instance').option('ProjectId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Inspections/Create/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Cannot find default Inspection Project ID. Contact I.S.\", \"warning\", 2000);\r\n }\r\n\r\n \r\n }\r\n\r\n export function gotoCreateReinspection(inspectionId: number, projectId: number) {\r\n\r\n var linkInfo = \"/Inspections/Create/Reinspection/\" + inspectionId.toString() + \"\";\r\n location.href = linkInfo;\r\n\r\n }\r\n\r\n\r\n\r\n export function gotoWriteUp() {\r\n var dataGrid = $('#InspectionGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Inspections/WriteUp/Index/\" + 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 gotoDeputy() {\r\n var dataGrid = $('#InspectionGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Inspections/Deputy/Index/\" + 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 gotoAssign() {\r\n var dataGrid = $('#InspectionGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Inspections/Assign/Index/\" + 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 gotoEdit() {\r\n var dataGrid = $('#InspectionGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n const selectedRows: any = dataGrid.getSelectedRowsData()[0];\r\n var inspectionNbr = selectedRows.inspectionNumber;\r\n if (inspectionNbr.indexOf(\"r\") > -1) {\r\n var linkInfo = \"/Inspections/Edit/ReInspection/\" + dataId.toString() + \"\";\r\n } else {\r\n var linkInfo = \"/Inspections/Edit/Index/\" + dataId.toString() + \"\";\r\n } \r\n\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 gotoInspectorEdit() {\r\n var dataGrid = $('#InspectionGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Inspections/InspectorEdit/Index/\" + 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 gotoBulkReInspection() {\r\n var dataGrid = $('#InspectionGrid').dxDataGrid('instance');\r\n\r\n var ids = {\r\n inspectionIds: dataGrid.getSelectedRowKeys(),\r\n inspectionProjectId: dataGrid.option(\"InspectionProjectId\")\r\n };\r\n\r\n if (ids != null) {\r\n sendRequest(\"/Inspections/Create/BulkReInspection\", JSON.stringify(ids), \"POST\");\r\n }\r\n } \r\n\r\n\r\n export function gotoView() {\r\n var dataGrid = $('#InspectionGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Inspections/View/Index/\" + 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 viewLink(cellElement, cellInfo) {\r\n var fieldData = cellInfo.data.inspectionId;\r\n var statusData = cellInfo.data.statusLk;\r\n var inspectionNumber = cellInfo.data.inspectionNumber;\r\n var projectId = cellInfo.component.option(\"InspectionProjectId\");\r\n var linkInfo = \"\";\r\n var viewName = \"Index\"; \r\n\r\n\r\n if (inspectionNumber.indexOf(\"r\") > -1) {\r\n viewName = \"ReInspection\";\r\n }\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\" || statusData == \"Returned\") {\r\n if (viewName == \"Index\") {\r\n linkInfo = \"Edit\";\r\n \r\n } else {\r\n linkInfo = \"Edit\";\r\n }\r\n\r\n }\r\n else {\r\n if (viewName == \"Index\") {\r\n linkInfo = \"View\";\r\n } else {\r\n linkInfo = \"View\";\r\n }\r\n }\r\n cellElement.html(linkInfo);\r\n }\r\n\r\n export function createReinspection(inspectionId: number, projectId: number) {\r\n sendRequest(`/Inspections/Create/ReInspection/${inspectionId}/${projectId}/`, \"\", \"POST\");\r\n }\r\n\r\n export function gotoProjectList() {\r\n var linkInfo = \"/Projects/List/Active\";\r\n location.href = linkInfo;\r\n }\r\n\r\n export function highLightTextUser() {\r\n Areas.highLightTextBase(\"#inspectionhtmleditoruser\");\r\n }\r\n\r\n export function highLightTextDeputy() {\r\n Areas.highLightTextBase(\"#inspectionhtmleditordeputy\");\r\n }\r\n\r\n export function highLightTextInspector() {\r\n Areas.highLightTextBase(\"#inspectionhtmleditorinspector\");\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n","namespace Areas.Inspections {\r\n \"use strict\";\r\n\r\n\r\n\r\n export function CancelSelect() {\r\n $(\"#ProjectLookupPopup\").dxPopup(\"instance\").hide();\r\n\r\n }\r\n\r\n export function SelectProject(e) {\r\n\r\n var dataGrid = $('#ProjectLookupGrid').dxDataGrid('instance');\r\n var selectedRow: any = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRow[0] == null) {\r\n DevExpress.ui.notify(\"You need to select a Project first!\", \"warning\", 2000);\r\n } else {\r\n\r\n var inspectionProjectId = selectedRow[0].inspectionProjectId;\r\n var projectName = selectedRow[0].projectName;\r\n var projectNumber = selectedRow[0].projectNumber;\r\n\r\n //this is the lookup form _ProjectAreaLookupForm\r\n var lookupForm: DevExpress.ui.dxForm = $('#ProjectLookupForm').dxForm('instance');\r\n var lookupData: any = lookupForm.option('formData');\r\n\r\n \r\n lookupData.ProjectName = projectName;\r\n lookupData.ProjectNumber = projectNumber;\r\n\r\n var lunumberControl: DevExpress.ui.dxTextBox = lookupForm\r\n .getEditor('InspectionProjectNumber') as DevExpress.ui.dxTextBox;\r\n lunumberControl.option(\"value\", projectNumber);\r\n\r\n var lunameControl: DevExpress.ui.dxTextBox = lookupForm\r\n .getEditor('InspectionProjectName') as DevExpress.ui.dxTextBox;\r\n lunameControl.option(\"value\", projectName);\r\n\r\n \r\n //this is the main form _DataForm.cshtml\r\n var dataForm: DevExpress.ui.dxForm = $('#InspectionsForm').dxForm('instance');\r\n var newData: any = dataForm.option('formData');\r\n\r\n newData.InspectionProjectId = inspectionProjectId;\r\n\r\n\r\n $(\"#ProjectLookupPopup\").dxPopup(\"instance\").hide();\r\n\r\n }\r\n } \r\n\r\n \r\n export function typeValueChanged(e) {\r\n\r\n var inspectionForm: DevExpress.ui.dxForm = $('#InspectionsForm').dxForm('instance');\r\n \r\n var subTypeLookupControl: DevExpress.ui.dxLookup = inspectionForm.getEditor(\"InspectionSubTypeLk\") as DevExpress.ui.dxLookup;\r\n\r\n Areas.Inspections.inspectionTypeLk = e.value;\r\n subTypeLookupControl.getDataSource().reload();\r\n subTypeLookupControl.reset();\r\n }\r\n\r\n export function inspectionRequestedDateChanged(e) {\r\n\r\n var inspectionForm: DevExpress.ui.dxForm = $('#InspectionsForm').dxForm('instance');\r\n\r\n var dateBoxControl: DevExpress.ui.dxDateBox = inspectionForm.getEditor(\"InspectionRequestedDate\") as DevExpress.ui.dxDateBox;\r\n\r\n var isAdmin: any = $('#InspectionsForm').dxForm('instance').option('IsAdmin'); \r\n var isInspector: any = $('#InspectionsForm').dxForm('instance').option('IsInspector'); \r\n \r\n //if not isAdmin or not isInspector, Inspection Request Date Time must be 24 hours form now.\r\n if (isAdmin || isInspector) {\r\n return;\r\n } else { \r\n let todayDate = new Date();\r\n let momentDate = moment(todayDate);\r\n let minRequestDateTime = momentDate.add(24, \"hours\");\r\n\r\n let momentRequestDateTime = moment(e.value);\r\n\r\n if (momentRequestDateTime < minRequestDateTime) {\r\n DevExpress.ui.notify(\"Inspection Request Date Time MUST be at least 24 hours from now!\", \"warning\", 2000);\r\n dateBoxControl.reset();\r\n }\r\n }\r\n\r\n }\r\n\r\n export function twentyfourhourtemplate(data,element) {\r\n const lineBreak = '
';\r\n const warningText = 'MUST be at least 24 hours from now!';\r\n const labelText = data.text + lineBreak + warningText \r\n element.append(`
${labelText}
`);\r\n\r\n }\r\n\r\n export function linespacetemplate(data, element) {\r\n const lineBreak = '
';\r\n const blankLine = '    ';\r\n const labelText = lineBreak + data.text + blankLine ;\r\n\r\n element.append(`
${labelText}
`);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","namespace Areas.Deputy {\r\n \"use strict\";\r\n\r\n \r\n \r\n export function save() {\r\n\r\n var iCommentsEditor: any = $('#CommentsEditor').dxHtmlEditor('instance');\r\n var iComment = iCommentsEditor.option(\"value\");\r\n\r\n var dataGrid = $('#DeputyGrid').dxDataGrid('instance');\r\n var dataIds = dataGrid.getSelectedRowKeys();\r\n if (dataIds.length === 0) {\r\n DevExpress.ui.notify(\"You need to select a row first!\", \"warning\", 2000);\r\n }\r\n else {\r\n var newData = {\r\n inspectionIds: dataIds,\r\n inspectorComment: iComment\r\n };\r\n\r\n const data = JSON.stringify(newData);\r\n const url = `/Inspectors/Deputy/WriteUp`;\r\n\r\n sendRequest(url, data, \"PUT\", () => {\r\n clearComment();\r\n });\r\n\r\n \r\n }\r\n\r\n \r\n }\r\n\r\n function clearComment() {\r\n var iCommentsEditor: any = $('#CommentsEditor').dxHtmlEditor('instance');\r\n iCommentsEditor.option(\"value\", null);\r\n }\r\n \r\n}\r\n","namespace Areas.ReAssigned {\r\n \"use strict\";\r\n\r\n //\r\n //CRUD functions\r\n //\r\n\r\n export function processMultipleAssign() {\r\n \r\n const newData: any = $('#ReAssignedForm').dxForm('instance').option('formData');\r\n var result = $('#ReAssignedForm').dxForm('instance').validate();\r\n\r\n if (!result.isValid) return;\r\n \r\n var dataGrid = $('#InspectionReAssignedGrid').dxDataGrid('instance');\r\n const dataIds = dataGrid.getSelectedRowKeys();\r\n if (dataIds.length === 0) {\r\n DevExpress.ui.notify(\"You need to select a row first!\", \"warning\", 2000);\r\n }\r\n else if (!newData.InspectorLk){\r\n DevExpress.ui.notify(\"Please select an inspector.\", \"warning\", 2000);\r\n }\r\n else {\r\n newData.InspectionIds = dataIds;\r\n const data = JSON.stringify(newData);\r\n const url = \"/Inspectors/ReAssigned/AssignMultiple\";\r\n\r\n sendRequest(url, data, \"PUT\", () => { refreshData(dataGrid); });\r\n }\r\n }\r\n\r\n export function processNonCompliance(e) {\r\n var verifyVOID = window.confirm(\"Are you sure you would like to Process this to FTP ?\");\r\n\r\n if (verifyVOID = true) {\r\n\r\n var keyId: any = $('#NonComplianceForm').dxForm('instance').option('KeyId');\r\n\r\n if (keyId != null) {\r\n var linkInfo = \"/NonCompliances/Edit/ProcessFTP/\" + keyId.toString() + \"\";\r\n\r\n $.ajax({\r\n url: linkInfo,\r\n method: \"PUT\",\r\n contentType: \"application/json\",\r\n data: \"\",\r\n success: function (result) {\r\n if (result.url) {\r\n DevExpress.ui.notify(\"Process NonCompliance Completed\", \"info\", 1000);\r\n window.location.href = result.url;\r\n } else {\r\n DevExpress.ui.notify(result.errormsg, \"error\", 5000);\r\n }\r\n },\r\n error: function (msg) {\r\n DevExpress.ui.notify(\"Error in request: \" + msg.responseText, \"error\", 3000);\r\n }\r\n });\r\n\r\n }\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Invalid Record.\", \"warning\", 2000);\r\n }\r\n }\r\n}\r\n","namespace Areas.ReAssigned {\r\n \"use strict\";\r\n\r\n export function goBack() {\r\n window.history.back();\r\n }\r\n\r\n export function gotoInspections() {\r\n var dataGrid = $('#InspectionReAssignedGrid').dxDataGrid('instance');\r\n var selectedRow: any = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRow[0] != null) {\r\n var projectId = selectedRow[0].inspectionProjectId;\r\n var linkInfo = \"/Inspections/List/Index/\" + projectId.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 gotoReAssignedList() {\r\n var linkInfo = \"/Inspectors/ReAssigned/Index\";\r\n location.href = linkInfo;\r\n }\r\n \r\n\r\n export function gotoMultipleEdit() {\r\n var dataGrid = $('#InspectionReAssignedGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Inspections/Assign/Index/\" + 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 gotoEdit() {\r\n var dataGrid = $('#InspectionReAssignedGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Inspections/Assign/Index/\" + 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 = $('#InspectionReAssignedGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Inspections/View/Index/\" + 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 viewLink(cellElement, cellInfo) {\r\n var fieldData = cellInfo.data.inspectionId;\r\n var linkInfo = \"View\"\r\n cellElement.html(linkInfo);\r\n }\r\n\r\n }\r\n","namespace Areas.ReAssigned {\r\n \"use strict\";\r\n\r\n var selectedIDs;\r\n\r\n function OnBeginCallback(s, e) {\r\n e.customArgs[\"selectedInspectionIds\"] = selectedIDs;\r\n }\r\n\r\n function OnSelectionChanged(s, e) {\r\n s.GetSelectedFieldValues(\"InspectionId\", GetSelectedInspections);\r\n }\r\n\r\n function GetSelectedInspections(values) {\r\n selectedIDs = values.join(',');\r\n $(\"#selectedInspectionIds\").val(selectedIDs);\r\n }\r\n\r\n}\r\n","namespace Areas.Return {\r\n \"use strict\";\r\n\r\n //\r\n //CRUD functions\r\n //\r\n\r\n export function processMultipleReturn() {\r\n \r\n var dataGrid = $('#InspectionReturnGrid').dxDataGrid('instance');\r\n const dataIds = dataGrid.getSelectedRowKeys();\r\n if (dataIds.length === 0) {\r\n DevExpress.ui.notify(\"You need to select a row first!\", \"warning\", 2000);\r\n }\r\n else {\r\n\r\n const newData = { \"InspectionIds\": dataIds };\r\n const data = JSON.stringify(newData);\r\n const url = \"/Inspectors/Return/ReturnToRequestor\";\r\n\r\n sendRequest(url, data, \"PUT\", () => { refreshData(dataGrid); });\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","namespace Areas.Return {\r\n \"use strict\";\r\n\r\n export function goBack() {\r\n window.history.back();\r\n }\r\n\r\n //export function gotoUnAssignedList() {\r\n // var linkInfo = \"/Inspectors/UnAssigned/Index\";\r\n // location.href = linkInfo;\r\n // }\r\n \r\n\r\n //export function gotoMultipleEdit() {\r\n // var dataGrid = $('#InspectionReturnGrid').dxDataGrid('instance');\r\n // var dataId = dataGrid.getSelectedRowKeys()[0];\r\n // if (dataId != null) {\r\n // var linkInfo = \"/Inspections/Assign/Index/\" + 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 gotoEdit() {\r\n // var dataGrid = $('#InspectionReturnGrid').dxDataGrid('instance');\r\n // var dataId = dataGrid.getSelectedRowKeys()[0];\r\n // if (dataId != null) {\r\n // var linkInfo = \"/Inspections/Assign/Index/\" + 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 = $('#InspectionReturnGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Inspections/View/Index/\" + 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 gotoInspections() {\r\n var dataGrid = $('#InspectionReturnGrid').dxDataGrid('instance');\r\n var selectedRow: any = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRow[0] != null) {\r\n var projectId = selectedRow[0].inspectionProjectId;\r\n var linkInfo = \"/Inspections/List/Index/\" + projectId.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 gotoProjectView() {\r\n var dataGrid = $('#InspectionReturnGrid').dxDataGrid('instance');\r\n var selectedRow: any = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRow[0] != null) {\r\n var projectId = selectedRow[0].inspectionProjectId;\r\n var linkInfo = \"/Projects/View/Index/\" + projectId.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 viewLink(cellElement, cellInfo) {\r\n var fieldData = cellInfo.data.inspectionId;\r\n var linkInfo = \"View\"\r\n cellElement.html(linkInfo);\r\n }\r\n\r\n }\r\n","namespace Areas.Scheduled {\r\n \"use strict\";\r\n \r\n\r\n function processMultiple(action) {\r\n\r\n\r\n var iCommentsEditor: any = $('#CommentsEditor').dxHtmlEditor('instance');\r\n var iComment = iCommentsEditor.option(\"value\");\r\n \r\n var dataGrid = $('#InspectionScheduledGrid').dxDataGrid('instance');\r\n var dataIds = dataGrid.getSelectedRowKeys();\r\n if (dataIds.length === 0) {\r\n DevExpress.ui.notify(\"You need to select a row first!\", \"warning\", 2000);\r\n }\r\n else {\r\n var newData = {\r\n inspectionIds: dataIds,\r\n inspectorComment: iComment\r\n };\r\n\r\n const data = JSON.stringify(newData);\r\n const url = `/Inspectors/Scheduled/${action}`;\r\n\r\n sendRequest(url, data, \"PUT\", () => {\r\n refreshData(dataGrid); \r\n clearComment();\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n function clearComment() {\r\n var iCommentsEditor: any = $('#CommentsEditor').dxHtmlEditor('instance');\r\n iCommentsEditor.option(\"value\", null);\r\n }\r\n\r\n export function accept() {\r\n \r\n processMultiple('AcceptMultiple');\r\n }\r\n\r\n export function reject() {\r\n\r\n processMultiple('RejectMultiple');\r\n }\r\n\r\n export function save() {\r\n\r\n processMultiple('SaveForLaterMultiple');\r\n }\r\n\r\n export function returned() {\r\n\r\n var verifyVOID = window.confirm(\"Are you sure you would like to RETURN TO USER these records?\");\r\n\r\n if (verifyVOID = true) {\r\n processMultiple('ReturnToUserMultiple');\r\n }\r\n }\r\n\r\n export function deleteRecord() {\r\n var verifyVOID = window.confirm(\"Are you sure you would like to VOID these records?\");\r\n\r\n if (verifyVOID = true) {\r\n processMultiple('VoidMultiple');\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","namespace Areas.Scheduled {\r\n \"use strict\";\r\n\r\n export function view() {\r\n\r\n var dataGrid = $('#InspectionScheduledGrid').dxDataGrid('instance');\r\n var dataIds = dataGrid.getSelectedRowKeys();\r\n\r\n if (dataIds.length > 0) {\r\n location.href = \"/Inspections/View/Index/\" + dataIds[0];\r\n }\r\n }\r\n\r\n export function gotoInspections() {\r\n var dataGrid = $('#InspectionScheduledGrid').dxDataGrid('instance');\r\n var selectedRow: any = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRow[0] != null) {\r\n var projectId = selectedRow[0].inspectionProjectId;\r\n var linkInfo = \"/Inspections/List/Index/\" + projectId.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 gotoWriteUp() {\r\n var dataGrid = $('#InspectionScheduledGrid').dxDataGrid('instance');\r\n var selectedRow: any = dataGrid.getSelectedRowsData();\r\n \r\n if (selectedRow[0] != null) {\r\n var inspectionId = selectedRow[0].inspectionId;\r\n var linkInfo = \"/Inspections/WriteUp/Index/\" + inspectionId.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 gotoProjectView() {\r\n var dataGrid = $('#InspectionScheduledGrid').dxDataGrid('instance');\r\n var selectedRow: any = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRow[0] != null) {\r\n var projectId = selectedRow[0].inspectionProjectId;\r\n var linkInfo = \"/Projects/View/Index/\" + projectId.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 export function viewLink(cellElement, cellInfo) {\r\n var fieldData = cellInfo.data.inspectionId;\r\n var linkInfo = \"View\"\r\n cellElement.html(linkInfo);\r\n }\r\n \r\n}\r\n","namespace Areas.Inspectors.Index {\r\n \"use strict\";\r\n\r\n var inspectorAssignmentTabItems = Areas.createTabsWithSameAction(\"Inspectors\", \"Index\",\r\n [\"UnAssigned\", \"ReAssigned\", \"Return\"])\r\n\r\n var scheduledInspectionsTabItems = Areas.createTabsWithSameController(\"Inspectors\",\r\n [\"IndexMy\", \"IndexAll\"], \"Scheduled\");\r\n\r\n var deputyInspectionsTabItems = Areas.createTabsWithSameController(\"Inspectors\",\r\n [\"IndexMy\", \"Index\"], \"Deputy\");\r\n \r\n\r\n export function inspectorAssignmentTabInitialized(params: any) {\r\n return Areas.tabInitialized(inspectorAssignmentTabItems)(params);\r\n }\r\n\r\n export function scheduledInspectionsTabInitialized(params: any) {\r\n return Areas.tabInitialized(scheduledInspectionsTabItems)(params);\r\n }\r\n\r\n export function deputyInspectionsTabInitialized(params: any) {\r\n return Areas.tabInitialized(deputyInspectionsTabItems)(params);\r\n }\r\n}","namespace Areas.UnAssigned {\r\n \"use strict\";\r\n\r\n //\r\n //CRUD functions\r\n //\r\n\r\n export function processMultipleAssign() {\r\n \r\n const newData: any = $('#UnAssignedForm').dxForm('instance').option('formData');\r\n var result = $('#UnAssignedForm').dxForm('instance').validate();\r\n\r\n if (!result.isValid) return;\r\n\r\n var dataGrid: DevExpress.ui.dxDataGrid = $('#InspectionUnAssignedGrid').dxDataGrid('instance');\r\n const dataIds = dataGrid.getSelectedRowKeys();\r\n if (dataIds.length === 0) {\r\n DevExpress.ui.notify(\"You need to select a row first!\", \"warning\", 2000);\r\n }\r\n else if (!newData.inspectorLk){\r\n DevExpress.ui.notify(\"Please select an inspector.\", \"warning\", 2000);\r\n }\r\n else {\r\n newData.InspectionIds = dataIds;\r\n const data = JSON.stringify(newData);\r\n const url = \"/Inspectors/UnAssigned/AssignMultiple\";\r\n\r\n sendRequest(url, data, \"PUT\", ()=> { refreshData(dataGrid); });\r\n }\r\n }\r\n\r\n export function processNonCompliance(e) {\r\n var verifyVOID = window.confirm(\"Are you sure you would like to Process this to FTP ?\");\r\n\r\n if (verifyVOID = true) {\r\n\r\n var keyId: any = $('#NonComplianceForm').dxForm('instance').option('KeyId');\r\n\r\n if (keyId != null) {\r\n var linkInfo = \"/NonCompliances/Edit/ProcessFTP/\" + keyId.toString() + \"\";\r\n\r\n $.ajax({\r\n url: linkInfo,\r\n method: \"PUT\",\r\n contentType: \"application/json\",\r\n data: \"\",\r\n success: function (result) {\r\n if (result.url) {\r\n DevExpress.ui.notify(\"Process NonCompliance Completed\", \"info\", 1000);\r\n window.location.href = result.url;\r\n } else {\r\n DevExpress.ui.notify(result.errormsg, \"error\", 5000);\r\n }\r\n },\r\n error: function (msg) {\r\n DevExpress.ui.notify(\"Error in request: \" + msg.responseText, \"error\", 3000);\r\n }\r\n });\r\n\r\n }\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Invalid Record.\", \"warning\", 2000);\r\n }\r\n }\r\n}\r\n","namespace Areas.UnAssigned {\r\n \"use strict\";\r\n\r\n export function goBack() {\r\n window.history.back();\r\n }\r\n\r\n export function gotoUnAssignedList() {\r\n var linkInfo = \"/Inspectors/UnAssigned/Index\";\r\n location.href = linkInfo;\r\n }\r\n \r\n\r\n export function gotoMultipleEdit() {\r\n var dataGrid = $('#InspectionUnAssignedGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Inspections/Assign/Index/\" + 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 gotoEdit() {\r\n var dataGrid = $('#InspectionUnAssignedGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Inspections/Assign/Index/\" + 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 = $('#InspectionUnAssignedGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Inspections/View/Index/\" + 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 gotoInspections() {\r\n var dataGrid = $('#InspectionUnAssignedGrid').dxDataGrid('instance');\r\n var selectedRow: any = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRow[0] != null) {\r\n var projectId = selectedRow[0].inspectionProjectId;\r\n var linkInfo = \"/Inspections/List/Index/\" + projectId.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 gotoProjectView() {\r\n var dataGrid = $('#InspectionUnAssignedGrid').dxDataGrid('instance');\r\n var selectedRow: any = dataGrid.getSelectedRowsData();\r\n\r\n if (selectedRow[0] != null) {\r\n var projectId = selectedRow[0].inspectionProjectId;\r\n var linkInfo = \"/Projects/View/Index/\" + projectId.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 viewLink(cellElement, cellInfo) {\r\n var fieldData = cellInfo.data.inspectionId;\r\n var linkInfo = \"View\"\r\n cellElement.html(linkInfo);\r\n }\r\n\r\n }\r\n","namespace Areas.UnAssigned {\r\n \"use strict\";\r\n\r\n\r\n var selectedIDs;\r\n\r\n function OnBeginCallback(s, e) {\r\n e.customArgs[\"selectedInspectionIds\"] = selectedIDs;\r\n }\r\n\r\n function OnSelectionChanged(s, e) {\r\n s.GetSelectedFieldValues(\"InspectionId\", GetSelectedInspections);\r\n }\r\n\r\n function GetSelectedInspections(values) {\r\n selectedIDs = values.join(',');\r\n $(\"#selectedInspectionIds\").val(selectedIDs);\r\n }\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.DailyReportTemplate {\r\n \"use strict\";\r\n\r\n let dailyReportTemplateId: number;\r\n let templateText: any;\r\n \r\n export function getdailyReportTemplateId() {\r\n return dailyReportTemplateId;\r\n }\r\n\r\n export function onNewTemplate(e: any) {\r\n templateText = e.data;\r\n const parameters = { templateId: 0, postOrPut: \"post\" };\r\n const templateTextDialog = new Areas.Dialogs.TemplateText.TemplateTextDialog(dialogClosing, parameters)\r\n }\r\n\r\n export function onEditTemplate(e: any) {\r\n templateText = e.data;\r\n const parameters = { templateId:templateText.dailyReportTemplateId, templateTitle: templateText.templateTitle, reportNotesTemplate: templateText.reportNotesTemplate, postOrPut:\"put\" };\r\n const templateTextTialog = new Areas.Dialogs.TemplateText.TemplateTextDialog(\r\n dialogClosing, parameters); \r\n }\r\n\r\n \r\n function dialogClosing(dialogResult: DialogResult, data: any) {\r\n\r\n const dataGrid: any = $(\"#DailyReportTemplateGrid\").dxDataGrid(\"instance\");\r\n Areas.refreshGrid(\"DailyReportTemplateGrid\");\r\n\r\n }\r\n\r\n}\r\n","namespace Areas.Maintenance {\r\n \"use strict\";\r\n\r\n var selected: Selected = new Selected();\r\n var inspectorUserSelected: Selected = new Selected();\r\n var accessRequestUserSelected: Selected = new Selected();\r\n let userId: string;\r\n let runQuery: boolean = false;\r\n\r\n\r\n export function inspectorOnUserIDValueChanged(rowData, value) {\r\n if (value === undefined || value === null) {\r\n rowData.userId = null;\r\n rowData.inspectorEmail = null;\r\n rowData.inspectorLk = null;\r\n rowData.loginName = null;\r\n return;\r\n }\r\n\r\n if (!inspectorUserSelected.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 if (rowData.inspectorLk === null) {\r\n rowData.inspectorLk = inspectorUserSelected.user.displayName;\r\n }\r\n\r\n rowData.userId = inspectorUserSelected.user.userId;\r\n rowData.inspectorEmail = inspectorUserSelected.user.email;\r\n rowData.loginName = inspectorUserSelected.user.loginName;\r\n }\r\n\r\n export function inspectorUserLookupEditTemplate(cellElement, cellInfo) {\r\n return lookupEditTemplate(\"/Maintenance/Inspectors/Users\", inspectorUserSelected)(cellElement, cellInfo);\r\n }\r\n\r\n export function inspectorUserLookupCellTemplate(cellElement, cellInfo) {\r\n return lookupCellTemplate(cellElement, cellInfo);\r\n }\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/SystemUsers/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\r\n export function addInspectionTypeTree() {\r\n \r\n var catGrid = $('#CategoryGrid').dxDataGrid('instance');\r\n var categoryLk = catGrid.getSelectedRowKeys()[0];\r\n if (categoryLk == null) {\r\n DevExpress.ui.notify(\"You need to select a category first!\", \"warning\", 2000);\r\n return;\r\n }\r\n\r\n var inspTypeGrid = $('#InspectionTypeGrid').dxDataGrid('instance');\r\n var inspTypeLk = inspTypeGrid.getSelectedRowKeys()[0];\r\n if (inspTypeLk == null) {\r\n DevExpress.ui.notify(\"You need to select an inspection type first!\", \"warning\", 2000);\r\n return;\r\n }\r\n\r\n var subTypeGrid = $('#InspectionSubTypeGrid').dxDataGrid('instance');\r\n var subTypeLks = subTypeGrid.getSelectedRowKeys();\r\n if (subTypeLks.length === 0) {\r\n DevExpress.ui.notify(\"You need to select an inspection subtype first!\", \"warning\", 2000);\r\n return;\r\n }\r\n\r\n var newData = {\r\n categoryLk: categoryLk,\r\n inspectionTypeLk: inspTypeLk,\r\n inspectionSubTypeLks: subTypeLks\r\n };\r\n\r\n var data = JSON.stringify(newData);\r\n var url = \"/Maintenance/InspectionTypeTrees/Add\";\r\n\r\n sendRequest(url, data, \"POST\", () => { $('#InspectionTypeTreeGrid').dxDataGrid(\"instance\").refresh(); });\r\n }\r\n\r\n export function userSelected(e) {\r\n \r\n var userProjectGrid: DevExpress.ui.dxDataGrid = $('#UserProjectGrid').dxDataGrid('instance');\r\n var rightsGrid: DevExpress.ui.dxDataGrid = $('#RightsGrid').dxDataGrid('instance');\r\n var selectedRows = e.component.getSelectedRowsData();\r\n\r\n runQuery = true;\r\n userId = selectedRows[0].userId;\r\n Areas.refreshGrid(\"RightsGrid\");\r\n\r\n var storeConfiguration = {\r\n \"loadParams\": { \"userId\": e.currentSelectedRowKeys[0] },\r\n \"key\": \"inspectionProjectId\",\r\n \"loadUrl\": \"/Maintenance/UserProject/Get\"\r\n };\r\n \r\n var dataSource = DevExpress.data.AspNet.createStore(storeConfiguration);\r\n userProjectGrid.option(\"dataSource\", dataSource);\r\n }\r\n\r\n export function getUserId() {\r\n return userId;\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n\r\n\r\n export function assignUser(e) {\r\n\r\n var userGrid: DevExpress.ui.dxDataGrid = $('#UserGrid').dxDataGrid('instance');\r\n var userProjectGrid: DevExpress.ui.dxDataGrid = $('#UserProjectGrid').dxDataGrid('instance');\r\n \r\n var newData = {\r\n userId: userGrid.getSelectedRowKeys()[0],\r\n inspectionProjectId: userProjectGrid.getSelectedRowKeys()[0]\r\n };\r\n\r\n var url = \"/Maintenance/UserProject/Put\";\r\n var data = JSON.stringify(newData);\r\n\r\n sendRequest(url, data, \"PUT\", () => {\r\n userProjectGrid.refresh();\r\n userGrid.refresh(); \r\n });\r\n\r\n }\r\n\r\n export function closeRequest(e) {\r\n var url = `/Maintenance/UserAccess/Close/${e}`;\r\n\r\n sendRequest(url, \"\", \"PUT\", () => { $('#RequestAccessGrid').dxDataGrid('instance').refresh(); });\r\n }\r\n\r\n export function closeLink(cellElement, cellInfo) {\r\n console.log(cellInfo.data);\r\n var fieldData = cellInfo.data.requestAccessId;\r\n var linkInfo = \"Close\";\r\n cellElement.html(linkInfo);\r\n }\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 export function accessRequestOnUserIDValueChanged(rowData, value) {\r\n if (value === undefined || value === null) {\r\n rowData.userId = null;\r\n rowData.email = null;\r\n rowData.displayUserName = null;\r\n return;\r\n }\r\n\r\n if (!accessRequestUserSelected.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 = accessRequestUserSelected.user.userId;\r\n rowData.email = accessRequestUserSelected.user.email;\r\n rowData.displayUserName = accessRequestUserSelected.user.displayUserName;\r\n }\r\n\r\n export function accessRequestUserLookupEditTemplate(cellElement, cellInfo) {\r\n return lookupEditTemplate(\"/Maintenance/UserAccess/GetActiveUsers\", accessRequestUserSelected)(cellElement, cellInfo);\r\n }\r\n\r\n export function accessRequestLookupCellTemplate(cellElement, cellInfo) {\r\n return lookupCellTemplate(cellElement, cellInfo);\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 selected: Selected = new Selected();\r\n\r\n var maintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"Account\", \"Contact\", \"Contract\", \"ContractSubContractor\", \"ContractVendor\", \"NonPlantAccount\", \"Vendor\"])\r\n\r\n var generalMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"Inspectors\", \"InspectionProjects\", \"InspectionProjectStatus\", \"InspectionTypes\", \"Status\", \"DailyReportTemplate\"])\r\n\r\n var otherTablesMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"RequestAccess\"])\r\n\r\n var systemMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"SystemConfigSettings\", \"SystemProcessEmails\", \"SystemUsers\"])\r\n\r\n export function maintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(maintenanceTabItems)(params);\r\n }\r\n\r\n export function otherTablesMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(otherTablesMaintenanceTabItems)(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 generalMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(generalMaintenanceTabItems)(params);\r\n }\r\n}\r\n","namespace Areas.NonCompliances {\r\n \"use strict\";\r\n\r\n\r\n $(() => init());\r\n\r\n function init() {\r\n const button: DevExpress.ui.dxDropDownButton = $(\"#NonComplianceReportsDropDownButton\").dxDropDownButton(\"instance\");\r\n\r\n if (!button) return;\r\n\r\n const items = [\r\n { text: \"NonCompliance Report\", icon: \"doc\", action: Areas.Report.gotoNonComplianceReport },\r\n { text: \"NonCompliance Report Multiple (40 max)\", icon: \"doc\", action: Areas.Report.gotoNonComplianceReportMultiple },\r\n { text: \"NonCompliance Report All\", icon: \"doc\", action: Areas.Report.gotoNonComplianceReportAll }\r\n ];\r\n\r\n button.option(\"items\", items);\r\n\r\n }\r\n\r\n export function reportDropDownButtonClick(e) {\r\n e.itemData.action();\r\n }\r\n\r\n\r\n\r\n}\r\n","namespace Areas.NonCompliances {\r\n \"use strict\";\r\n \r\n\r\n //\r\n //CRUD functions\r\n //\r\n\r\n var formNonComplianceOpen, formNonComplianceClose;\r\n\r\n\r\n var formCrudOps: FormCrudOperations;\r\n $(() => { init(); });\r\n\r\n function init() {\r\n\r\n formCrudOps = new FormCrudOperations(\"NonCompliances\");\r\n\r\n formNonComplianceOpen = new UpdateOperations(\"NonCompliancesForm\",\r\n \"/NonCompliances/Edit/OpenNonCompliance\");\r\n\r\n formNonComplianceClose = new UpdateOperations(\"NonCompliancesForm\",\r\n \"/NonCompliances/Edit/CloseNonCompliance\");\r\n\r\n }\r\n\r\n export function openNonCompliance(e: any) {\r\n formNonComplianceOpen.updateRecordWithId();\r\n }\r\n\r\n export function closeNonCompliance(e: any) {\r\n formNonComplianceClose.updateRecordWithId();\r\n }\r\n\r\n\r\n export function insertRecord(e: any) {\r\n formCrudOps.insertRecord();\r\n }\r\n\r\n export function updateRecord(e: any) {\r\n formCrudOps.updateRecord();\r\n }\r\n\r\n export function voidRecord() {\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 form = $(\"#NonCompliancesForm\").dxForm(\"instance\");\r\n const keyId: any = form.option(\"KeyId\");\r\n const projectId = form.option(\"ProjectId\");\r\n\r\n if (keyId != null && projectId != null) {\r\n sendRequest(`/NonCompliances/Edit/VoidNonCompliance/${keyId}/${projectId}/`, \"\", \"PUT\");\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n\r\n","namespace Areas.NonCompliances {\r\n \"use strict\";\r\n\r\n export function goBack() {\r\n window.history.back();\r\n }\r\n\r\n export function nonComplianceSelectionChanged(e: any) {\r\n var nonCompliancesSelected = e.selectedRowKeys.length > 0;\r\n\r\n if (nonCompliancesSelected) {\r\n enableButton(\"ReportButton\");\r\n }\r\n else {\r\n disableButton(\"ReportButton\");\r\n }\r\n }\r\n\r\n export function gotoCreateFromForm() {\r\n var keyId: any = $('#NonCompliancesForm').dxForm('instance').option('ProjectId');\r\n if (keyId != null) {\r\n var linkInfo = \"/NonCompliances/Create/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoEditFromForm() {\r\n var keyId: any = $('#NonCompliancesForm').dxForm('instance').option('KeyId');\r\n if (keyId != null) {\r\n var linkInfo = \"/NonCompliances/Edit/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoViewFromForm() {\r\n var keyId: any = $('#NonCompliancesForm').dxForm('instance').option('KeyId');\r\n if (keyId != null) {\r\n var linkInfo = \"/NonCompliances/View/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoNonComplianceListFromForm() {\r\n var keyId: any = $('#NonCompliancesForm').dxForm('instance').option('ProjectId');\r\n if (keyId != null) {\r\n var linkInfo = \"/NonCompliances/List/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoCreate() {\r\n var keyId: any = $('#CreateButton').dxButton('instance').option('ProjectId');\r\n if (keyId != null) {\r\n var linkInfo = \"/NonCompliances/Create/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Cannot find default Inspection Project ID. Contact I.S.\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoEdit() {\r\n var dataGrid = $('#NonCompliancesGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/NonCompliances/Edit/Index/\" + 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 = $('#NonCompliancesGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/NonCompliances/View/Index/\" + 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 viewLink(cellElement, cellInfo) {\r\n var fieldData = cellInfo.data.nonComplianceId;\r\n var linkInfo = \"View\"\r\n cellElement.html(linkInfo);\r\n }\r\n\r\n export function status(cellElement, cellInfo) {\r\n cellElement.html(cellInfo.data.status);\r\n if (cellInfo.data.status == 'Open') {\r\n $(cellElement).css('background-color', 'red');\r\n }\r\n }\r\n\r\n export function highLightText() {\r\n Areas.highLightTextBase(\"#noncompliancehtmleditor\");\r\n }\r\n\r\n export function highLightTextResolution() {\r\n Areas.highLightTextBase(\"#noncompliancehtmleditorresolution\");\r\n }\r\n\r\n\r\n\r\n }\r\n","namespace Areas.Observations {\r\n \"use strict\";\r\n\r\n\r\n $(() => init());\r\n\r\n function init() {\r\n const button: DevExpress.ui.dxDropDownButton = $(\"#ObservationReportsDropDownButton\").dxDropDownButton(\"instance\");\r\n\r\n if (!button) return;\r\n\r\n const items = [\r\n { text: \"Observation Report\", icon: \"doc\", action: Areas.Report.gotoObservationReport },\r\n { text: \"Observation Report Multiple (40 max)\", icon: \"doc\", action: Areas.Report.gotoObservationReportMultiple },\r\n { text: \"Observation Report All\", icon: \"doc\", action: Areas.Report.gotoObservationReportAll }\r\n ];\r\n\r\n button.option(\"items\", items);\r\n\r\n }\r\n\r\n export function reportDropDownButtonClick(e) {\r\n e.itemData.action();\r\n }\r\n\r\n\r\n\r\n}\r\n","namespace Areas.Observations {\r\n \"use strict\";\r\n \r\n\r\n //\r\n //CRUD functions\r\n //\r\n\r\n var formObservationOpen, formObservationClose;\r\n \r\n\r\n var formCrudOps: FormCrudOperations;\r\n $(() => { init(); });\r\n\r\n function init() {\r\n\r\n formCrudOps = new FormCrudOperations(\"Observations\");\r\n\r\n formObservationOpen = new UpdateOperations(\"ObservationsForm\",\r\n \"/Observations/Edit/OpenObservation\");\r\n\r\n formObservationClose = new UpdateOperations(\"ObservationsForm\",\r\n \"/Observations/Edit/CloseObservation\");\r\n\r\n\r\n }\r\n\r\n export function openObservation(e: any) {\r\n formObservationOpen.updateRecordWithId();\r\n }\r\n\r\n export function closeObservation(e: any) {\r\n formObservationClose.updateRecordWithId();\r\n }\r\n\r\n \r\n export function insertRecord(e: any) {\r\n formCrudOps.insertRecord();\r\n }\r\n\r\n export function updateRecord(e: any) {\r\n formCrudOps.updateRecord();\r\n }\r\n\r\n export function voidRecord() {\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 form = $(\"#ObservationsForm\").dxForm(\"instance\");\r\n const keyId: any = form.option(\"KeyId\");\r\n const projectId = form.option(\"ProjectId\");\r\n\r\n if (keyId != null && projectId != null) {\r\n sendRequest(`/Observations/Edit/VoidObservation/${keyId}/${projectId}/`, \"\", \"PUT\");\r\n }\r\n }\r\n }\r\n\r\n}\r\n","namespace Areas.Observations {\r\n \"use strict\";\r\n\r\n export function goBack() {\r\n window.history.back();\r\n }\r\n\r\n\r\n export function gotoCreateFromForm() {\r\n var keyId: any = $('#ObservationsForm').dxForm('instance').option('ProjectId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Observations/Create/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoEditFromForm() {\r\n var keyId: any = $('#ObservationsForm').dxForm('instance').option('KeyId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Observations/Edit/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoViewFromForm() {\r\n var keyId: any = $('#ObservationsForm').dxForm('instance').option('KeyId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Observations/View/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoObservationListFromForm() {\r\n var keyId: any = $('#ObservationsForm').dxForm('instance').option('ProjectId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Observations/List/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n\r\n //export function gotoObservationList() {\r\n // var linkInfo = \"/Observations/List/Index\";\r\n // location.href = linkInfo;\r\n //}\r\n\r\n export function gotoCreate(e) {\r\n var keyId: any = $('#CreateButton').dxButton('instance').option('ProjectId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Observations/Create/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Cannot find default Inspection Project ID. Contact I.S.!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoEdit() {\r\n var dataGrid = $('#ObservationGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Observations/Edit/Index/\" + 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 = $('#ObservationGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Observations/View/Index/\" + 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 viewLink(cellElement, cellInfo) {\r\n var fieldData = cellInfo.data.observationId;\r\n var linkInfo = \"View\"\r\n cellElement.html(linkInfo);\r\n }\r\n\r\n\r\n export function status(cellElement, cellInfo) {\r\n\r\n cellElement.html(cellInfo.data.status);\r\n\r\n if (cellInfo.data.status== 'Open') {\r\n $(cellElement).css('background-color', 'gold');\r\n\r\n\r\n }\r\n }\r\n\r\n export function highLightText() {\r\n Areas.highLightTextBase(\"#observationhtmleditor\");\r\n }\r\n\r\n}\r\n","namespace Areas.Polarities {\r\n \"use strict\";\r\n\r\n //\r\n //CRUD functions\r\n //\r\n\r\n var formPolarityOpen, formPolarityClose;\r\n\r\n\r\n var formCrudOps: FormCrudOperations;\r\n $(() => { init(); });\r\n\r\n function init() {\r\n\r\n formCrudOps = new FormCrudOperations(\"Polarities\");\r\n formPolarityOpen = new UpdateOperations(\"PolaritiesForm\", \"/Polarities/Edit/OpenPolarity\");\r\n formPolarityClose = new UpdateOperations(\"PolaritiesForm\",\"/Polarities/Edit/ClosePolarity\");\r\n }\r\n\r\n export function openPolarity(e: any) {\r\n formPolarityOpen.updateRecordWithId();\r\n }\r\n\r\n export function closePolarity(e: any) {\r\n formPolarityClose.updateRecordWithId();\r\n }\r\n\r\n export function insertRecord(e: any) {\r\n formCrudOps.insertRecord();\r\n }\r\n\r\n export function updateRecord(e: any) {\r\n formCrudOps.updateRecord();\r\n }\r\n\r\n export function voidRecord() {\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 form = $(\"#PolaritiesForm\").dxForm(\"instance\");\r\n const keyId: any = form.option(\"KeyId\");\r\n const projectId = form.option(\"ProjectId\");\r\n\r\n if (keyId != null && projectId != null) {\r\n sendRequest(`/Polarities/Edit/VoidPolarity/${keyId}/${projectId}/`, \"\", \"PUT\");\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","namespace Areas.Polarities {\r\n \"use strict\";\r\n\r\n export function goBack() {\r\n window.history.back();\r\n }\r\n\r\n\r\n export function gotoCreateFromForm() {\r\n var keyId: any = $('#PolaritiesForm').dxForm('instance').option('ProjectId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Polarities/Create/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoEditFromForm() {\r\n var keyId: any = $('#PolaritiesForm').dxForm('instance').option('KeyId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Polarities/Edit/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoViewFromForm() {\r\n var keyId: any = $('#PolaritiesForm').dxForm('instance').option('KeyId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Polarities/View/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoPolarityListFromForm() {\r\n var keyId: any = $('#PolaritiesForm').dxForm('instance').option('ProjectId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Polarities/List/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n\r\n export function gotoPolarityList() {\r\n var linkInfo = \"/Polarities/List/Index\";\r\n location.href = linkInfo;\r\n }\r\n\r\n export function gotoCreate() {\r\n var keyId: any = $('#CreateButton').dxButton('instance').option('ProjectId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Polarities/Create/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Cannot find default Anchorage Project ID. Contact I.S.\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoEdit() {\r\n var dataGrid = $('#PolaritiesGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Polarities/Edit/Index/\" + 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 = $('#PolaritiesGrid').dxDataGrid('instance');\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Polarities/View/Index/\" + 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 viewLink(cellElement, cellInfo) {\r\n var fieldData = cellInfo.data.polarityId;\r\n var linkInfo = \"View\"\r\n cellElement.html(linkInfo);\r\n }\r\n\r\n\r\n export function status(cellElement, cellInfo) {\r\n cellElement.html(cellInfo.data.status);\r\n if (cellInfo.data.status == 'Open') {\r\n $(cellElement).css('background-color', 'gold');\r\n }\r\n }\r\n\r\n}\r\n","namespace Areas.Projects.List {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"Projects\", [\"Active\", \"Closed\", \"Deleted\"], \"List\");\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n}","namespace Areas.Projects {\r\n \"use strict\";\r\n\r\n //\r\n //CRUD functions\r\n //\r\n\r\n var formCrudOps: FormCrudOperations;\r\n $(() => { init(); });\r\n\r\n function init() {\r\n\r\n formCrudOps = new FormCrudOperations(\"Projects\");\r\n } \r\n\r\n export function insertRecord(e: any) {\r\n formCrudOps.insertRecord();\r\n }\r\n\r\n export function updateRecord(e: any) {\r\n formCrudOps.updateRecord();\r\n }\r\n\r\n export function deleteRecord() {\r\n formCrudOps.deleteRecord();\r\n }\r\n\r\n export function undeleteRecord(e: any) {\r\n const form: any = $(\"#ProjectsForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\"); \r\n\r\n formData.IsActive = true;\r\n form.option(\"formData\", formData); \r\n\r\n formCrudOps.updateRecord();\r\n\r\n }\r\n\r\n export function fillId(e) {\r\n\r\n var dataGrid = $('#ProjectUsersGrid').dxDataGrid('instance');\r\n var projectId = dataGrid.option('projectId');\r\n\r\n e.data.inspectionProjectId = projectId;\r\n e.data.isActive = true;\r\n e.data.CCEmailRequested = false;\r\n e.data.CCEmailAssign = false;\r\n e.data.CCEmailCompleted = false;\r\n e.data.CCEmailRejected = false;\r\n e.data.CCEmailDeputyInspections = false;\r\n e.data.IsDeputyInspector = false;\r\n e.data.CCEmailOtherReport = false;\r\n e.data.CCEmailNonComplianceReport = false;\r\n }\r\n export function insertRequestAccess(e) {\r\n var newData: any = $('#ProjectRequestAccessForm').dxForm('instance').option('formData');\r\n var result: any = $(\"#ProjectRequestAccessForm\").dxForm(\"instance\").validate();\r\n\r\n if (result.isValid) {\r\n $.ajax({\r\n url: \"/Projects/RequestAccess/Post\",\r\n method: \"POST\",\r\n contentType: \"application/json\",\r\n data: JSON.stringify(newData),\r\n success: function (result) {\r\n if (result.url) {\r\n DevExpress.ui.notify(\"Save Completed\", \"success\", 1000);\r\n window.location.href = result.url;\r\n } else {\r\n DevExpress.ui.notify(result.errormsg, \"error\", 5000);\r\n }\r\n },\r\n error: function (msg) {\r\n DevExpress.ui.notify(\"Error in request: \" + msg.responseText, \"error\", 3000);\r\n }\r\n });\r\n }\r\n }\r\n\r\n export function newInspectionGroup(e) {\r\n\r\n var dataGrid = $('#InspectionGroupsGrid').dxDataGrid('instance');\r\n var inspectionProjectId = dataGrid.option('InspectionProjectId');\r\n\r\n e.data.inspectionProjectId = inspectionProjectId;\r\n }\r\n\r\n export function massInsertInspectionGroup() {\r\n\r\n $(\"#MassInsertInspectionGroupPopup\").dxPopup(\"show\");\r\n }\r\n\r\n export function cancelMassInsertInspectionGroup() {\r\n\r\n $(\"#MassInsertInspectionGroupPopup\").dxPopup(\"instance\").hide();\r\n }\r\n\r\n export function saveMassInsertInspectionGroup() {\r\n\r\n var newData = { inspectionProjectId: null, list: null };\r\n var dataGrid = $('#InspectionGroupsGrid').dxDataGrid('instance');\r\n newData.inspectionProjectId = dataGrid.option('InspectionProjectId');\r\n newData.list = $('#inspectionGroupList').val();\r\n\r\n var url = \"/Projects/InspectionGroups/MassInsert\";\r\n var data = JSON.stringify(newData);\r\n sendRequest(url, data, \"POST\", () => {\r\n $('#InspectionGroupsGrid').dxDataGrid(\"instance\").refresh();\r\n $(\"#MassInsertInspectionGroupPopup\").dxPopup(\"instance\").hide();\r\n });\r\n\r\n }\r\n}\r\n","\r\nnamespace Areas.Projects.Edit {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameActionAndDifferentAreas(\"Index\", \r\n [ \r\n \"Projects/Edit\",\r\n \"Inspections/List\",\r\n \"AreaRoom/Pivot\",\r\n \"NonCompliances/List\",\r\n \"Observations/List\",\r\n \"Anchorages/List\",\r\n \"Polarities/List\",\r\n \"Dailies/List\"\r\n ]);\r\n \r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n}","\r\nnamespace Areas.Projects {\r\n \"use strict\";\r\n\r\n const projectFormName: string = \"ProjectsForm\";\r\n const projectGridName: string = \"ProjectsGrid\";\r\n\r\n export function goBack() {\r\n window.history.back();\r\n }\r\n\r\n export function gotoProjectsList() {\r\n var linkInfo = \"/Projects/List/Active\";\r\n location.href = linkInfo;\r\n }\r\n\r\n export function gotoRequestAccess() {\r\n var linkInfo = \"/Projects/RequestAccess/Index\";\r\n location.href = linkInfo;\r\n }\r\n\r\n export function gotoCreate() {\r\n var linkInfo = \"/Projects/Create/Index\";\r\n location.href = linkInfo;\r\n }\r\n\r\n export function gotoEditFromForm() {\r\n var keyId: any = getForm(projectFormName).option('KeyId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Projects/Edit/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n\r\n export function gotoViewFromForm() {\r\n var keyId: any = getForm(projectFormName).option('KeyId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Projects/View/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoInspectionsFromForm() {\r\n var keyId: any = getForm(projectFormName).option('KeyId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Inspections/List/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoEdit() {\r\n var dataGrid = getGrid(projectGridName);\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Projects/Edit/Index/\" + 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 = getGrid(projectGridName);\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Projects/View/Index/\" + 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 gotoInspections() {\r\n var dataGrid = getGrid(projectGridName);\r\n var dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n var linkInfo = \"/Inspections/List/Index/\" + 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 export function viewLink(cellElement, cellInfo) {\r\n var fieldData = cellInfo.data.inspectionProjectId;\r\n var linkInfo = \"View\"\r\n cellElement.html(linkInfo);\r\n }\r\n\r\n}","namespace Areas.Projects {\r\n \"use strict\";\r\n\r\n var selected: Selected = new Selected();\r\n\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(\"/Projects/ProjectUsers/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\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 = $(\"#ProjectsForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n \r\n\r\n formData.AccountId = data.accountId;\r\n formData.NonPlantAccountId = data.nonPlantAccountId;\r\n formData.ProjectName = data.accountShortName;\r\n formData.ProjectNumber = data.projectCCNumber;\r\n formData.ProjectManagerName = data.pmName;\r\n formData.ProjectManagerEmail = data.pmEmail;\r\n\r\n \r\n if (data.gpsCoordinates == null || data.gpsCoordinates == '') {\r\n formData.GPSCoordinates = '34.0462,-118.4422';\r\n } else {\r\n formData.GPSCoordinates = data.gpsCoordinates;\r\n }\r\n\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 = $(\"#ProjectsForm\").dxForm(\"instance\");\r\n\r\n const accountLookupDialog =\r\n new Areas.Dialogs.Account.AccountDialog(accountDialogClosing());\r\n }\r\n\r\n export function selectProjectManager() {\r\n const form: any = $(\"#ProjectsForm\").dxForm(\"instance\");\r\n\r\n const accountLookupDialog =\r\n new Areas.Dialogs.ContactDialog(dialogContactClosing());\r\n }\r\n\r\n function dialogContactClosing() {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form: any = $(\"#ProjectsForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n formData.ProjectManagerName = data.displayName;\r\n formData.ProjectManagerEmail = data.primaryEMail;\r\n \r\n form.option(\"formData\", formData);\r\n }\r\n } \r\n\r\n export function showGpsDialog() {\r\n const form = $(\"#ProjectsForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\"); \r\n const dialogGps = new Dialogs.Gps.GpsDialog(updateBuildingGps, formData.GPSCoordinates); \r\n }\r\n\r\n function updateBuildingGps(dialogResult: DialogResult, data: any) {\r\n \r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form = $(\"#ProjectsForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n if (data) {\r\n formData.GPSCoordinates = data;\r\n form.option(\"formData\", formData); \r\n }\r\n }\r\n\r\n\r\n\r\n}","\r\nnamespace Areas.Projects {\r\n \"use strict\";\r\n\r\n\r\n export function cellPreparedStatusColor(e) {\r\n if (e.rowType == 'data' && e.column.dataField === \"statusLk\") {\r\n if (e.data.statusLk === \"Accepted\") {\r\n e.cellElement.css('background-color', 'lightgreen');\r\n }\r\n else if (e.data.statusLk === \"Pending\") {\r\n e.cellElement.css('background-color', 'gold');\r\n }\r\n else if (e.data.statusLk === \"ReInspected\") {\r\n e.cellElement.css('background-color', 'pink');\r\n }\r\n else if (e.data.statusLk === \"Rejected\") {\r\n e.cellElement.css('background-color', 'red');\r\n }\r\n }\r\n }\r\n\r\n}","\r\nnamespace Areas.Projects {\r\n \"use strict\";\r\n\r\n\r\n var tabItems = Areas.createTabsWithSameActionAndDifferentAreas(\"Index\",\r\n [\r\n \"Projects/Edit\",\r\n \"Inspections/List\",\r\n \"AreaRoom/Pivot\",\r\n \"NonCompliances/List\",\r\n \"Observations/List\",\r\n \"Anchorages/List\",\r\n \"Polarities/List\",\r\n \"Dailies/List\"\r\n ]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n}","\r\nnamespace Areas.Projects.View {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameActionAndDifferentAreas(\"Index\", \r\n [ \r\n \"Projects/View\",\r\n \"Inspections/List\",\r\n \"AreaRoom/Pivot\",\r\n \"NonCompliances/List\",\r\n \"Observations/List\",\r\n \"Anchorages/List\",\r\n \"Polarities/List\",\r\n \"Dailies/List\"\r\n ]);\r\n \r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n}"]}