{"version":3,"sources":["Areas/TypeScript/ajax-helper.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/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/Analysis/Views/Contact/analysis-contact.ts","Areas/Analysis/Views/EmployeeWeb/analysis-employeeweb.ts","Areas/Analysis/Views/I181/analysis-i181.ts","Areas/Analysis/Views/ReportsFinance/analysis-reports-finance.ts","Areas/Analysis/Views/ReportsPersonnel/analysis-reports-personnel.ts","Areas/Analysis/Views/Shared/staff-info-tabs.ts","Areas/Analysis/Views/Staff/analysis-staff.ts","Areas/Analysis/Views/TimeVerification/analysis-time-verification.ts","Areas/Attachment/Views/Attachment/attachment-upload.ts","Areas/CustomQuery/Views/Main/custom-query-parameters.ts","Areas/CustomQuery/Views/Main/custom-query-result.ts","Areas/CustomQuery/Views/Main/custom-query.ts","Areas/Dialog/Views/Account/dialog-account.ts","Areas/Dialog/Views/AddDefaultJob/dialog-add-default-job.ts","Areas/Dialog/Views/AddEmployeeActivity/dialog-add-employee-activity.ts","Areas/Dialog/Views/Calendar/dialog-calendar.ts","Areas/Dialog/Views/CreateEmployeeAccrual/dialog-create-employee-accrual.ts","Areas/Dialog/Views/Employee/dialog-employee.ts","Areas/Dialog/Views/FilterBuilder/dialog-filter-builder.ts","Areas/Dialog/Views/IdentifyWeeklyOvertime/dialog-identify-weekly-overtime.ts","Areas/Dialog/Views/Jobs/dialog-jobs.ts","Areas/Dialog/Views/SelectDefaultJob/dialog-select-default-job.ts","Areas/Dialog/Views/SubmitTimeConfirmation/dialog-submit-time-confirmation.ts","Areas/Dialog/Views/TimeEntry/dialog-time-entry.ts","Areas/Dialog/Views/TimeEntryAnalysisAddEdit/dialog-timeentry-analysis-add-edit.ts","Areas/Dialog/Views/TimeEntryCorrection/dialog-timeentry-correction.ts","Areas/Dialog/Views/TimeEntryReversal/dialog-timeentry-reversal.ts","Areas/Dialog/Views/WarningHours/dialog-warning-hours.ts","Areas/Employee/Views/Accruals/employee-accrual.ts","Areas/Employee/Views/Activity/employee-activity.ts","Areas/Employee/Views/Contact/employee-contact.ts","Areas/Employee/Views/CreateEmployee/create-employee.ts","Areas/Employee/Views/Edit/employee-edit.ts","Areas/Employee/Views/Licenses/employee-license.ts","Areas/Employee/Views/Shared/employee-crud.ts","Areas/Employee/Views/Shared/employee-tabs.ts","Areas/Employee/Views/TimeEntryNote/employee-time-entry-note.ts","Areas/Employee/Views/TimeEntryRights/employee-time-entry-right.ts","Areas/Employee/Views/Web/employee-web.ts","Areas/Maintenance/Views/CustomQuery/custom-query-maintenance.ts","Areas/Maintenance/Views/Shared/maintenance-shared.ts","Areas/Maintenance/Views/Shared/maintenance-tabs.ts","Areas/TimeEntry/Views/Correction/correction.ts","Areas/TimeEntry/Views/Review/review.ts","Areas/TimeEntry/Views/Shared/timeentry-grid.ts","Areas/TimeEntry/Views/Shared/timeentry-jobs.ts","Areas/TimeEntry/Views/Shared/timeentry-operations.ts"],"names":[],"mappings":"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","file":"compiled.js","sourcesContent":["namespace Areas {\r\n \"use strict\";\r\n\r\n export enum ContentType { Json, Form }\r\n\r\n export function sendRequest(url: string, data: string, method: string,\r\n callback: (any) => void = null, contentType: ContentType = ContentType.Json) : JQueryXHR {\r\n\r\n const errorMessage = \"Error in request - Contact IS department\";\r\n\r\n let content = \"application/json\";\r\n if (contentType === ContentType.Form) {\r\n content = \"application/x-www-form-urlencoded; charset=utf-8\";\r\n }\r\n const defaultTimeOut = 4000;\r\n const redirectTimeOut = 2000;\r\n\r\n const toastrOptions = { timeOut: defaultTimeOut, positionClass: \"toast-bottom-full-width\", showMethod: \"show\" };\r\n\r\n toastr.info(\"Processing...\", \"\", toastrOptions);\r\n\r\n return $.ajax({\r\n url: url,\r\n xhrFields: {\r\n withCredentials: true\r\n },\r\n method: method,\r\n contentType: content,\r\n data: data,\r\n success: (response: any) => {\r\n \r\n if (method === \"DELETE\") {\r\n toastr.warning(response.msg, \"\", toastrOptions);\r\n } else {\r\n toastr.success(response.msg, \"\", toastrOptions);\r\n }\r\n\r\n if (callback) {\r\n callback(response.data);\r\n }\r\n\r\n if (response.url) {\r\n setTimeout(() => { window.location.href = response.url; }, redirectTimeOut);\r\n }\r\n \r\n },\r\n error: (response) => {\r\n if (response.responseText) {\r\n toastr.error(response.responseText, \"Error\", toastrOptions);\r\n } else {\r\n toastr.error(errorMessage, \"Error\", toastrOptions);\r\n }\r\n }\r\n });\r\n }\r\n\r\n}\r\n","namespace Areas {\r\n \"use strict\";\r\n\r\n export function showButton(id: string) {\r\n const button: DevExpress.ui.dxButton = $(`#${id}`).dxButton(\"instance\");\r\n\r\n if (button) {\r\n button.option(\"visible\", true);\r\n }\r\n }\r\n\r\n export function hideButton(id: string) {\r\n const button: DevExpress.ui.dxButton = $(`#${id}`).dxButton(\"instance\");\r\n\r\n if (button) {\r\n button.option(\"visible\", false);\r\n }\r\n }\r\n\r\n export function enableButton(id: string) {\r\n const button: DevExpress.ui.dxButton = $(`#${id}`).dxButton(\"instance\");\r\n\r\n if (button) {\r\n button.option(\"disabled\", false);\r\n }\r\n }\r\n\r\n export function disableButton(id: string) {\r\n const button: DevExpress.ui.dxButton = $(`#${id}`).dxButton(\"instance\");\r\n\r\n if (button) {\r\n button.option(\"disabled\", true);\r\n }\r\n }\r\n\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n 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}\r\n","namespace Areas {\r\n \"use strict\";\r\n\r\n export class FormCrudOperations {\r\n\r\n form: DevExpress.ui.dxForm;\r\n area: string;\r\n getMoreData: (any) => void;\r\n\r\n constructor(area: string, getMoreData?: (any) => void) {\r\n const formId = `#${area}Form`;\r\n this.form = $(formId).dxForm(\"instance\");\r\n this.area = area;\r\n\r\n if (getMoreData) {\r\n this.getMoreData = getMoreData;\r\n }\r\n }\r\n\r\n insertRecord() {\r\n const newData: any = this.form.option(\"formData\");\r\n\r\n if (this.getMoreData) {\r\n this.getMoreData(newData);\r\n }\r\n\r\n const result: any = this.form.validate();\r\n\r\n if (result.isValid) {\r\n sendRequest(`/${this.area}/Create/Post`, JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n\r\n updateRecord() {\r\n const newData: any = this.form.option(\"formData\");\r\n\r\n if (this.getMoreData) {\r\n this.getMoreData(newData);\r\n }\r\n\r\n const result: any = this.form.validate();\r\n const keyId: any = this.form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/${this.area}/Edit/Put/${keyId}`, JSON.stringify(newData), \"PUT\");\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 keyId: number;\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.keyId = this.form.option(\"KeyId\") as number;\r\n this.url = `${url}/${this.keyId}`;\r\n\r\n if (getMoreData) {\r\n this.getMoreData = getMoreData;\r\n }\r\n }\r\n\r\n \r\n updateRecord(callback: () => void = null) {\r\n const newData: any = this.form.option(\"formData\");\r\n \r\n if (this.getMoreData) {\r\n this.getMoreData(newData);\r\n }\r\n\r\n const result: any = this.form.validate();\r\n console.log(result);\r\n if ($('#result').length > 0) {\r\n if (result.isValid) {\r\n sendRequest(this.url, JSON.stringify(newData), \"PUT\", callback);\r\n } \r\n } else {\r\n sendRequest(this.url, JSON.stringify(newData), \"PUT\", callback);\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\r\n\r\n}\r\n","namespace Areas {\r\n \"use strict\";\r\n\r\n export class Selected {\r\n user: any;\r\n } \r\n //grid user lookup\r\n export function userValueChanged(selected: Selected) {\r\n return (rowData, value) => {\r\n if (value === undefined || value === null) {\r\n rowData.userId = null;\r\n rowData.userEmail = null;\r\n rowData.userName = null;\r\n return;\r\n }\r\n\r\n if (!selected.user.isActive) {\r\n DevExpress.ui.notify(\"The record cannot be updated. The user you selected has been disabled!\", \"error\", 3000);\r\n return;\r\n }\r\n\r\n rowData.userId = selected.user.userId;\r\n rowData.userEmail = selected.user.email;\r\n rowData.userName = selected.user.displayName;\r\n }\r\n }\r\n\r\n export function lookupEditTemplate(loadUrl: string, selected: Selected) {\r\n return (cellElement, cellInfo) => {\r\n var storeConfiguration = {\r\n \"loadParams\": {},\r\n \"key\": \"userId\",\r\n \"loadUrl\": loadUrl,\r\n \"insertUrl\": \"\",\r\n \"updateUrl\": \"\",\r\n \"deleteUrl\": \"\"\r\n };\r\n\r\n var store = DevExpress.data.AspNet.createStore(storeConfiguration);\r\n\r\n const dataSource = new DevExpress.data.DataSource({\r\n store: store\r\n });\r\n\r\n var div = document.createElement(\"div\");\r\n cellElement.get(0).appendChild(div);\r\n $(div).dxLookup({\r\n dataSource: dataSource,\r\n valueExpr: \"userId\",\r\n displayExpr: \"displayName\",\r\n value: cellInfo.data.userId,\r\n searchExpr: [\"displayName\", \"email\"],\r\n\r\n\r\n onSelectionChanged(e) {\r\n selected.user = e.selectedItem;\r\n },\r\n\r\n onValueChanged(e) {\r\n cellInfo.setValue(e.value);\r\n }\r\n });\r\n\r\n $(div).dxLookup(\"instance\").option(\"itemTemplate\", customTemplate);\r\n $(div).dxLookup(\"instance\").option(\"popupWidth\", 500);\r\n }\r\n }\r\n\r\n export function lookupCellTemplate(cellElement: any, cellInfo: any) {\r\n cellElement.text(cellInfo.data.displayName);\r\n }\r\n\r\n function customTemplate(itemData: any, itemIndex: any, itemElement: any) {\r\n if (itemData.isActive) {\r\n itemElement.append(`
${itemData.displayName}${itemData.email}
`);\r\n } else {\r\n itemElement.append(`
${itemData.displayName}${itemData.email} - Disabled
`);\r\n }\r\n }\r\n\r\n}\r\n","namespace Areas {\r\n \"use strict\";\r\n\r\n export interface IDictionary {\r\n [index: string]: string;\r\n }\r\n\r\n export function updateQueryStringParameter(uri: any, key: any, value: any) {\r\n const re = new RegExp(`([?&])${key}=.*?(&|$)`, \"i\");\r\n const separator = uri.indexOf(\"?\") !== -1 ? \"&\" : \"?\";\r\n if (uri.match(re)) {\r\n return uri.replace(re, `$1${key}=${value}$2`);\r\n } else {\r\n return uri + separator + key + \"=\" + value;\r\n }\r\n }\r\n\r\n export function removeQueryStringParameter(url: string, parameter: string) {\r\n //prefer to use l.search if you have a location/link object\r\n const urlparts = url.split(\"?\");\r\n if (urlparts.length >= 2) {\r\n\r\n const prefix = encodeURIComponent(parameter) + \"=\";\r\n const pars = urlparts[1].split(/[&;]/g);\r\n\r\n //reverse iteration as may be destructive\r\n for (let i = pars.length; i-- > 0;) {\r\n //idiom for string.startsWith\r\n if (pars[i].lastIndexOf(prefix, 0) !== -1) {\r\n pars.splice(i, 1);\r\n }\r\n }\r\n\r\n url = urlparts[0] + (pars.length > 0 ? `?${pars.join(\"&\")}` : \"\");\r\n return url;\r\n } else {\r\n return url;\r\n }\r\n }\r\n\r\n export function getQueryStringParameter(uri: any, key: any) {\r\n const re = new RegExp(\"([?&])start=(.*?)(&|$)\", \"i\");\r\n if (uri.match(re)) {\r\n return uri.match(re)[2];\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n export function isNotEmpty(variable: any) {\r\n return variable !== undefined && variable != null && variable !== \"\";\r\n }\r\n\r\n export function isEmpty(variable: any) {\r\n return !isNotEmpty(variable);\r\n }\r\n\r\n export function trimTextBoxValue(e: any) {\r\n var textBox = e.component as DevExpress.ui.dxTextBox;\r\n textBox.option(\"value\", $.trim(e.value));\r\n }\r\n\r\n export function partition(items, n) {\r\n var result = _.groupBy(items, function(item, i) {\r\n return Math.floor(i % n);\r\n });\r\n return _.values(result);\r\n }\r\n\r\n export function clone(object: any) {\r\n const json = JSON.stringify(object);\r\n return JSON.parse(json);\r\n } \r\n \r\n export function elementIdExists(elementId: string) : boolean {\r\n return Boolean($(`#${elementId}`).length);\r\n }\r\n\r\n\r\n\r\n export function goToEdit() {\r\n location.href = location.href.replace(\"/View\", \"/Edit\");\r\n } \r\n\r\n export function goToView() {\r\n location.href = location.href.replace(\"/Edit\", \"/View\");\r\n } \r\n\r\n export function reloadPage() {\r\n location.href = location.href;\r\n } \r\n\r\n export function onContentReadySelectFirstRow(e: any) {\r\n e.component.selectRowsByIndexes([0], false);\r\n }\r\n\r\n export function 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\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\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(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}\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.Analysis.Contact.List {\r\n \"use strict\";\r\n \r\n \r\n export function editFromCellStaffList(cellElement, cellInfo) {\r\n const id = String(cellInfo.data.contactId);\r\n const linkInfo = `View`\r\n cellElement.html(linkInfo);\r\n }\r\n \r\n}\r\n","namespace Areas.Analysis.EmployeeWeb {\r\n \"use strict\";\r\n \r\n export function viewLink(cellElement, cellInfo) {\r\n const employeeId = String(cellInfo.data.employeeId);\r\n const linkInfo = `View`\r\n cellElement.html(linkInfo);\r\n }\r\n \r\n}\r\n","namespace Areas.Analysis.I181 {\r\n \"use strict\";\r\n\r\n\r\n $(() => { setWarningText(); });\r\n\r\n export function setWarningText() {\r\n const warningId = \"HasFMLAChecked\";\r\n\r\n if (Areas.elementIdExists(warningId)) {\r\n $.get(\"/Analysis/I181/GetHasFMLAChecked\").then((data) => {\r\n if (Areas.isNotEmpty(data)) {\r\n if (data.hasFMLAChecked === true) {\r\n $(`#${warningId}`).text(\"Data has at least one record with FMLA checked.\");\r\n }\r\n else {\r\n $(`#${warningId}`).text(\"\");\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n export function load() {\r\n const result: any = $(\"#I181Form\").dxForm(\"instance\").validate();\r\n\r\n if (result.isValid) {\r\n Areas.refreshGrid(\"I181Grid\");\r\n }\r\n }\r\n\r\n export function refresh() {\r\n const data: any = $('#I181Form').dxForm('instance').option('formData');\r\n const result: any = $(\"#I181Form\").dxForm(\"instance\").validate();\r\n\r\n if (result.isValid) {\r\n const url = '/Analysis/I181/SqlI181GetData?startDate=' +\r\n FormatDateForUpload(data.startDate) + '&endDate=' +\r\n FormatDateForUpload(data.endDate) + '&exempt=' +\r\n data.exempt;\r\n\r\n sendRequest(url, \"\", \"POST\", () => { Areas.refreshGrid(\"I181Grid\"); setWarningText(); });\r\n }\r\n }\r\n\r\n export function exportData() {\r\n const data: any = $('#I181Form').dxForm('instance').option('formData');\r\n const result: any = $(\"#I181Form\").dxForm(\"instance\").validate();\r\n\r\n if (result.isValid) {\r\n window.location.href = '/Analysis/I181/Export?startDate=' + FormatDateForUpload(data.startDate) +\r\n '&endDate=' + FormatDateForUpload(data.endDate) + '&exempt=' + data.exempt;\r\n }\r\n }\r\n\r\n export function viewFromCellI181List(cellElement, cellInfo) {\r\n const employeeId = String(cellInfo.data.employeeId);\r\n const startDate = String(cellInfo.data.payPeriodEndDate);\r\n const linkInfo = `View`;\r\n cellElement.html(linkInfo);\r\n }\r\n\r\n}\r\n","namespace Areas.Analysis.ReportsFinance {\r\n \"use strict\";\r\n\r\n export function ProcessExtract() {\r\n const form = $(\"#ExtractForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n\r\n let lastDateOfWeek = formData.lastDateOfWeek;\r\n if (lastDateOfWeek != null) {\r\n lastDateOfWeek = moment(formData.lastDateOfWeek).format('YYYY-MM-DD');\r\n }\r\n\r\n const url = `/Analysis/ReportsFinance/ProcessExtract/${lastDateOfWeek}`;\r\n sendRequest(url, null, 'Put');\r\n }\r\n\r\n\r\n export function ProcessReconcileCompleted() {\r\n const form = $(\"#ReconcileForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n let lastDateOfUploadMonth = formData.lastDateOfUploadMonth;\r\n if (lastDateOfUploadMonth != null) {\r\n lastDateOfUploadMonth = moment(formData.lastDateOfUploadMonth).format('YYYY-MM-DD');\r\n }\r\n\r\n let weekEndingDate = formData.weekEndingDate;\r\n if (weekEndingDate != null) {\r\n weekEndingDate = moment(formData.weekEndingDate).format('YYYY-MM-DD');\r\n }\r\n\r\n const url = `/Analysis/ReportsFinance/ProcessReconcileCompleted/${lastDateOfUploadMonth}/${weekEndingDate}`;\r\n sendRequest(url, null, 'Put');\r\n\r\n }\r\n\r\n}","namespace Areas.Analysis.ReportsPersonnel {\r\n \"use strict\";\r\n\r\n export function GetCP104A() {\r\n const form = $(\"#Report104AForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n let startDate = formData.startDate;\r\n if (startDate != null) {\r\n startDate = moment(formData.startDate).format('YYYY-MM-DD');\r\n }\r\n let endDate = formData.endDate;\r\n if (endDate != null) {\r\n endDate = moment(formData.endDate).format('YYYY-MM-DD');\r\n }\r\n\r\n const url = `/Analysis/ReportsPersonnel/GetCP104A/${startDate}/${endDate}`;\r\n window.open(url);\r\n\r\n }\r\n\r\n export function GetCP205() {\r\n const form = $(\"#Report205Form\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n let startDate = formData.startDate;\r\n if (startDate != null) {\r\n startDate = moment(formData.startDate).format('YYYY-MM-DD');\r\n }\r\n let endDate = formData.endDate;\r\n if (endDate != null) {\r\n endDate = moment(formData.endDate).format('YYYY-MM-DD');\r\n }\r\n\r\n const url = `/Analysis/ReportsPersonnel/GetCP205/${startDate}/${endDate}`;\r\n window.open(url);\r\n\r\n }\r\n\r\n export function GetCP305() {\r\n const form = $(\"#Report305Form\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n let startDate = formData.startDate;\r\n if (startDate != null) {\r\n startDate = moment(formData.startDate).format('YYYY-MM-DD');\r\n }\r\n\r\n let endDate = formData.endDate;\r\n if (endDate != null) {\r\n endDate = moment(formData.endDate).format('YYYY-MM-DD');\r\n }\r\n\r\n const url = `/Analysis/ReportsPersonnel/GetCP305/${startDate}/${endDate}`;\r\n window.open(url);\r\n\r\n }\r\n\r\n export function GetCP307() {\r\n const form = $(\"#Report307Form\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n let lastDateOfMonth = formData.lastDateOfMonth;\r\n if (lastDateOfMonth != null) {\r\n lastDateOfMonth = moment(formData.lastDateOfMonth).format('YYYY-MM-DD');\r\n }\r\n\r\n const url = `/Analysis/ReportsPersonnel/GetCP307/${lastDateOfMonth}`;\r\n window.open(url);\r\n\r\n }\r\n\r\n\r\n export function ImportData() {\r\n const url = `/Analysis/ReportsPersonnel/GetImportData`;\r\n sendRequest(url, null, 'Put');\r\n\r\n }\r\n\r\n export function ProcessExtract() {\r\n const form = $(\"#ExtractForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n\r\n let lastDateOfWeek = formData.lastDateOfWeek;\r\n if (lastDateOfWeek != null) {\r\n lastDateOfWeek = moment(formData.lastDateOfWeek).format('YYYY-MM-DD');\r\n }\r\n\r\n const url = `/Analysis/ReportsPersonnel/ProcessExtract/${lastDateOfWeek}`;\r\n sendRequest(url, null, 'Put');\r\n\r\n }\r\n\r\n export function ProcessReconcileCompleted() {\r\n const form = $(\"#ReconcileForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n let lastDateOfUploadMonth = formData.lastDateOfUploadMonth;\r\n if (lastDateOfUploadMonth != null) {\r\n lastDateOfUploadMonth = moment(formData.lastDateOfUploadMonth).format('YYYY-MM-DD');\r\n }\r\n\r\n let weekEndingDate = formData.weekEndingDate;\r\n if (weekEndingDate != null) {\r\n weekEndingDate = moment(formData.weekEndingDate).format('YYYY-MM-DD');\r\n }\r\n\r\n const url = `/Analysis/ReportsPersonnel/ProcessReconcileCompleted/${lastDateOfUploadMonth}/${weekEndingDate}`;\r\n sendRequest(url, null, 'Put');\r\n\r\n }\r\n\r\n \r\n export function GetEmployeeAccrualsMonthlyDetail() {\r\n const form = $(\"#ReportEmployeeAccrualsMonthlyDetailForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n let employeeNumber = formData.employeeNumber;\r\n\r\n if (employeeNumber != null) {\r\n employeeNumber = formData.employeeNumber;\r\n }\r\n\r\n const url = `/Analysis/ReportsPersonnel/GetEmployeeAccrualsMonthlyDetail/${employeeNumber}`;\r\n window.open(url);\r\n }\r\n\r\n\r\n export function GetEmployeeAccrualsSummary() {\r\n const form = $(\"#ReportEmployeeAccrualsSummaryForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n const url = `/Analysis/ReportsPersonnel/GetEmployeeAccrualsSummary`;\r\n window.open(url);\r\n }\r\n\r\n}","namespace Areas.Analysis.Index {\r\n \"use strict\";\r\n\r\n var staffInfoTabItems = Areas.createTabsWithSameActionAndDifferentAreas(\"Index\",\r\n [\r\n \"Analysis/Staff\",\r\n \"Analysis/Contact\",\r\n \"Analysis/EmployeeWeb\",\r\n \"Analysis/UcpDownload\",\r\n \"Personnel/Map\"\r\n ]);\r\n\r\n export function staffInfoTabInitialized(params: any) {\r\n return Areas.tabInitialized(staffInfoTabItems)(params);\r\n }\r\n}","namespace Areas.Analysis.Staff.List {\r\n \"use strict\";\r\n \r\n export function viewFromCellStaffList(cellElement, cellInfo) {\r\n const employeeId = String(cellInfo.data.employeeId);\r\n const linkInfo = `Timesheet`\r\n cellElement.html(linkInfo);\r\n }\r\n \r\n export function editFromCellStaffList(cellElement, cellInfo) {\r\n const employeeId = String(cellInfo.data.employeeId);\r\n const linkInfo = `View`\r\n cellElement.html(linkInfo);\r\n }\r\n \r\n}\r\n","namespace Areas.Analysis.TimeVerification {\r\n \"use strict\";\r\n\r\n let weekEndingDate: Date;\r\n\r\n export function getWeekEndingDate() {\r\n return moment(weekEndingDate).format(\"YYYY-MM-DD\");\r\n }\r\n\r\n export function formReady(e: any) {\r\n weekEndingDate = getSaturday(new Date());\r\n e.component.option(\"formData\", { selectedWeekEnding: weekEndingDate });\r\n }\r\n\r\n export function viewLink(cellElement, cellInfo) {\r\n const employeeId = String(cellInfo.data.employeeId);\r\n const startDate = String(cellInfo.data.weekEndingDate);\r\n const linkInfo = `View`; \r\n cellElement.html(linkInfo);\r\n }\r\n\r\n export function load() {\r\n const form = $(\"#timeVerificationForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n const data: any = form.option(\"formData\");\r\n weekEndingDate = getSaturday(data.selectedWeekEnding);\r\n form.updateData(\"selectedWeekEnding\", weekEndingDate)\r\n Areas.refreshGrid(\"timeVerificationGrid\");\r\n }\r\n }\r\n\r\n export function onCellPrepared(e: any) {\r\n if (e.rowType !== \"data\") {\r\n return;\r\n }\r\n setLockedByBackground(e);\r\n setSubmittedByBackground(e);\r\n }\r\n\r\n function setLockedByBackground(e) {\r\n var isApprovedDataCell = e.column.dataField === \"supervisorApprovalBy\";\r\n\r\n if (isApprovedDataCell) {\r\n if (e.data.supervisorApprovalBy == null) {\r\n e.cellElement.css(\"background-color\", \"yellow\");\r\n }\r\n }\r\n }\r\n\r\n function setSubmittedByBackground(e) {\r\n var isApprovedDataCell = e.column.dataField === \"submittedBy\";\r\n\r\n if (isApprovedDataCell) {\r\n if (e.data.submittedBy == null) {\r\n e.cellElement.css(\"background-color\", \"yellow\");\r\n }\r\n }\r\n }\r\n\r\n export function loadPrevWeek() {\r\n loadWeek(-1);\r\n }\r\n\r\n export function loadNextWeek() {\r\n loadWeek(1);\r\n }\r\n\r\n export function submitFromTimeVerification() {\r\n GridActionTimeVerification(\"Submit\");\r\n }\r\n\r\n export function approveFromTimeVerification() {\r\n GridActionTimeVerification(\"Approve\");\r\n }\r\n\r\n export function lockFromTimeVerification() {\r\n GridActionTimeVerification(\"Lock\");\r\n }\r\n\r\n export function unSubmitFromTimeVerification() {\r\n GridActionTimeVerification(\"UnSubmit\");\r\n }\r\n\r\n export function unApproveFromTimeVerification() {\r\n GridActionTimeVerification(\"UnApprove\");\r\n }\r\n\r\n export function unLockFromTimeVerification() {\r\n GridActionTimeVerification(\"UnLock\");\r\n }\r\n\r\n export function GridActionTimeVerification(urlAction: string) {\r\n const dataGrid = $('#timeVerificationGrid').dxDataGrid('instance');\r\n const selectedRows = dataGrid.getSelectedRowKeys().join(',');\r\n const url = `/Analysis/TimeVerification/${urlAction}?ids=${selectedRows}`;\r\n\r\n sendRequest(url, \"\", \"POST\", () => { Areas.refreshGrid(\"timeVerificationGrid\")});\r\n }\r\n \r\n function loadWeek(offset) {\r\n const form = $(\"#timeVerificationForm\").dxForm(\"instance\");\r\n const data: any = form.option(\"formData\");\r\n\r\n const saturday = getSaturday(data.selectedWeekEnding);\r\n weekEndingDate = moment(saturday).add(offset, \"week\").toDate();\r\n\r\n form.updateData(\"selectedWeekEnding\", weekEndingDate);\r\n Areas.refreshGrid(\"timeVerificationGrid\");\r\n }\r\n\r\n function getSaturday(date: Date)\r\n {\r\n let result = moment(date).startOf('day');\r\n\r\n while (result.day() != 6) {\r\n result.add(-1, \"day\");\r\n }\r\n\r\n return result.toDate();\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.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 default: break;\r\n }\r\n }\r\n\r\n function closeHandler(parameter: ParameterDefinition) {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n \r\n const form = $(\"#ParameterForm\").dxForm(\"instance\");\r\n const editor = form.getEditor(parameter.parameterName + \"Display\");\r\n editor.option(\"value\", data[parameter.propertyDisplayName]);\r\n\r\n const formData = form.option(\"formData\");\r\n formData[parameter.parameterName] = data[parameter.propertyValueName];\r\n }\r\n }\r\n}","namespace Areas.CustomQuery {\r\n \"user strict\";\r\n\r\n export function createGridResult(): void {\r\n $(\"#CustomQueryResultGrid\").dxDataGrid({\r\n dataSource: createDataSource(),\r\n remoteOperations: 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 \"loadParams\": { \r\n customQueryId: Areas.CustomQuery.getCustomQueryId(), \r\n runQuery: Areas.CustomQuery.canExecuteQuery(), \r\n parameters: getQueryParameters() \r\n },\r\n \"key\": \"\",\r\n \"loadUrl\": \"/CustomQuery/Main/GetResult\",\r\n \"insertUrl\": \"\",\r\n \"updateUrl\": \"\",\r\n \"deleteUrl\": \"\"\r\n };\r\n\r\n const store = DevExpress.data.AspNet.createStore(storeConfiguration);\r\n return new DevExpress.data.DataSource({ store: store }); \r\n } \r\n \r\n function getQueryParameters(): string {\r\n if (!Areas.CustomQuery.parameterFormIsInitialized()) {\r\n return null;\r\n }\r\n \r\n const form = $(\"#ParameterForm\").dxForm(\"instance\");\r\n const data = form.option(\"formData\");\r\n const parameterList: any = form.option(\"parameterList\");\r\n const parameterData = [];\r\n\r\n parameterList.forEach(parameterName => {\r\n const value = Areas.isEmpty(data[parameterName]) ? \"\" : data[parameterName];\r\n parameterData.push({name: parameterName, value: value});\r\n });\r\n\r\n return JSON.stringify(parameterData);\r\n }\r\n\r\n function customizeColumns(cols: any): void {\r\n const items = $(\"#CustomQueryResultGrid\").dxDataGrid(\"instance\").getDataSource().items();\r\n\r\n cols.forEach((col) => {\r\n const columnName = col.dataField as string;\r\n const columnValue = items[0][columnName];\r\n\r\n if(isAValidDate(columnValue, columnName)){\r\n col.dataType = \"date\";\r\n col.format = \"shortDateShortTime\";\r\n } \r\n })\r\n }\r\n \r\n function isAValidDate(columnValue: any, columnName: string): boolean {\r\n let isValid = false;\r\n\r\n if(Areas.isNotEmpty(columnValue)) {\r\n isValid = moment(columnValue, moment.ISO_8601, true).isValid();\r\n } else {\r\n const columnNameContainsDate = columnName.toLowerCase().indexOf(\"date\") > -1;\r\n\r\n if (columnNameContainsDate) {\r\n isValid = true;\r\n }\r\n } \r\n\r\n return isValid;\r\n }\r\n}\r\n","namespace Areas.CustomQuery {\r\n \"use strict\";\r\n\r\n let customQueryId: number;\r\n let canRunQuery: boolean = false;\r\n let gridIsInitialized: boolean = false; \r\n\r\n export function getCustomQueryId(): number {\r\n return customQueryId;\r\n }\r\n\r\n export function setGridIsInitialized(): void {\r\n gridIsInitialized = true;\r\n }\r\n\r\n export function canExecuteQuery(): boolean {\r\n return canRunQuery;\r\n }\r\n\r\n export function runQuery(e: any): void {\r\n if (gridIsInitialized) {\r\n $(\"#CustomQueryResultGrid\").dxDataGrid(\"dispose\");\r\n }\r\n\r\n createGridResult();\r\n }\r\n\r\n export function onCustomQuerySelected(e: any): void {\r\n const selectedRows = e.component.getSelectedRowsData();\r\n const rowSelected = selectedRows.length === 1;\r\n \r\n if (rowSelected) {\r\n canRunQuery = true;\r\n customQueryId = selectedRows[0].customQueryId;\r\n createParameterForm(selectedRows[0].customQueryFields);\r\n }\r\n else\r\n {\r\n canRunQuery = false;\r\n }\r\n }\r\n\r\n}","namespace Areas.Dialogs.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.AddDefaultJob {\r\n \"use strict\";\r\n\r\n let employeeId: number;\r\n\r\n export class AddDefaultJobDialog extends Areas.BaseDialog {\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any = null) {\r\n super(\"AddDefaultJob\", closeHandler, parameters, () => {\r\n employeeId = parameters.employeeId;\r\n })\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const accountWorkOrdersGrid: DevExpress.ui.dxDataGrid = $(\"#AccountWorkOrdersGrid\").dxDataGrid(\"instance\");\r\n const taskOrdersGrid: DevExpress.ui.dxDataGrid = $(\"#TaskCodesGrid\").dxDataGrid(\"instance\");\r\n\r\n const accountWorkOrderId = accountWorkOrdersGrid.getSelectedRowKeys()[0];\r\n const taskCodeLk = taskOrdersGrid.getSelectedRowKeys()[0];\r\n\r\n if (accountWorkOrderId == null || taskCodeLk == null) {\r\n DevExpress.ui.notify(\"You need to select both a work order and a task code!\", \"warning\", 2000);\r\n } else {\r\n const values = {\r\n employeeId: employeeId,\r\n accountWorkOrderId: accountWorkOrderId,\r\n taskCodeLk: taskCodeLk\r\n };\r\n\r\n const url = \"/Dialog/AddDefaultJob/Post/\";\r\n Areas.sendRequest(url, JSON.stringify(values), \"POST\").done(() => this.close(DialogResult.Ok, null));\r\n }\r\n }\r\n }\r\n \r\n}\r\n\r\n","namespace Areas.Dialogs.EmployeeActivity {\r\n \"use strict\";\r\n\r\n export class AddEmployeeActivityDialog extends Areas.BaseDialog {\r\n employeeId: number; \r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any = null) {\r\n super(\"AddEmployeeActivity\", closeHandler, parameters, () => {\r\n this.employeeId = parameters.employeeId;\r\n })\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#AddActivityForm\").dxForm(\"instance\");\r\n const result = form.validate();\r\n\r\n if (result.isValid) {\r\n this.saveActivity(this, form);\r\n }\r\n }\r\n\r\n saveActivity(that: any, form: DevExpress.ui.dxForm) {\r\n const data = form.option(\"formData\");\r\n data.employeeId = this.employeeId;\r\n const jsonData = JSON.stringify(form.option(\"formData\"));\r\n const url = \"/Dialog/AddEmployeeActivity/POST\";\r\n \r\n sendRequest(url, jsonData, \"POST\").done(() => { this.close(DialogResult.Ok, null); });\r\n }\r\n }\r\n\r\n}\r\n","namespace Areas.Dialogs.Calendar {\r\n \"use strict\";\r\n\r\n let selectedDate;\r\n \r\n export class CalendarDialog extends Areas.BaseDialog {\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any = null) {\r\n super(\"Calendar\", closeHandler)\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const data = { date: selectedDate };\r\n this.close(DialogResult.Ok, data); \r\n }\r\n }\r\n\r\n export function calendarChanged(data) {\r\n selectedDate = data.value;\r\n $(\"#CalendarOkDialog\").click();\r\n }\r\n\r\n}\r\n","namespace Areas.Dialogs.CreateEmployeeAccrual {\r\n \"use strict\";\r\n\r\n export class CreateEmployeeAccrualDialog extends Areas.BaseDialog {\r\n employeeId: number; \r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any = null) {\r\n super(\"CreateEmployeeAccrual\", closeHandler, parameters, () => {\r\n this.employeeId = parameters.employeeId;\r\n })\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateEmployeeAccrualForm\").dxForm(\"instance\");\r\n const result = form.validate();\r\n\r\n if (result.isValid) {\r\n this.saveActivity(this, form);\r\n }\r\n }\r\n\r\n saveActivity(that: any, form: DevExpress.ui.dxForm) {\r\n const data = form.option(\"formData\");\r\n data.employeeId = this.employeeId;\r\n const jsonData = JSON.stringify(form.option(\"formData\"));\r\n const url = \"/Dialog/CreateEmployeeAccrual/POST\";\r\n \r\n sendRequest(url, jsonData, \"POST\").done(() => { this.close(DialogResult.Ok, null); });\r\n }\r\n }\r\n\r\n}\r\n","namespace Areas.Dialogs.Employee {\r\n \"use strict\";\r\n\r\n export class EmployeeDialog extends Areas.BaseDialog {\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"Employee\", closeHandler)\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const grid = $(\"#EmployeeLookupGrid\").dxDataGrid(\"instance\");\r\n\r\n const data = grid.getSelectedRowsData()[0];\r\n this.close(DialogResult.Ok, data); \r\n }\r\n }\r\n\r\n export function employeeSelected() {\r\n Areas.enableButton(\"EmployeeOkDialog\");\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.IdentifyWeeklyOvertime {\r\n \"use strict\";\r\n\r\n let employeeId: number;\r\n let totalHours: number;\r\n let straightHours: number;\r\n let premiumHours: number;\r\n let weekEndDate: Date;\r\n let timeEntryStore: DevExpress.data.ArrayStore;\r\n let dataGrid: DevExpress.ui.dxDataGrid;\r\n\r\n export class IdentifyWeeklyOvertimeDialog extends Areas.BaseDialog {\r\n\r\n protected isPremiumOvertime: boolean;\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any = null) {\r\n super(\"IdentifyWeeklyOvertime\", closeHandler, parameters, () => {\r\n $('#straightHours').text(parameters.straightHours);\r\n $('#premiumHours').text(parameters.premiumHours);\r\n\r\n straightHours = parameters.straightHours;\r\n premiumHours = parameters.premiumHours;\r\n totalHours = parameters.straightHours + parameters.premiumHours;\r\n employeeId = parameters.employeeId;\r\n weekEndDate = parameters.weekEndDate;\r\n\r\n disableButton(\"IdentifyWeeklyOvertimeOkDialog\");\r\n this.getData();\r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n this.applyOvertime(this);\r\n }\r\n\r\n getData() {\r\n $.ajax({\r\n url: `/Dialog/IdentifyWeeklyOvertime/Get/${employeeId}/${weekEndDate}`,\r\n method: \"GET\",\r\n success: function (result) {\r\n timeEntryStore = new DevExpress.data.ArrayStore({\r\n data: result,\r\n key: \"timeEntryId\"\r\n });\r\n\r\n const timeEntryDataSource = new DevExpress.data.DataSource({\r\n store: timeEntryStore\r\n }); \r\n\r\n dataGrid = $('#GridContainer').dxDataGrid({\r\n dataSource: timeEntryDataSource,\r\n width: \"97%\",\r\n allowColumnReordering: true,\r\n allowColumnResizing: true,\r\n columnHidingEnabled: true,\r\n columnFixing: {\r\n enabled: true\r\n },\r\n columnChooser: {\r\n enabled: false,\r\n mode: \"select\"\r\n },\r\n rowAlternationEnabled: true,\r\n remoteOperations: false,\r\n searchPanel: {\r\n visible: true,\r\n highlightSearchText: true,\r\n searchVisibleColumnsOnly: true,\r\n width: 300,\r\n placeholder: \"Search grid for ...\"\r\n },\r\n selection: {\r\n mode: \"single\",\r\n showCheckBoxesMode: \"none\",\r\n allowSelectAll: false\r\n },\r\n paging: {\r\n pageSize: 10\r\n },\r\n pager: {\r\n visible: true,\r\n showPageSizeSelector: true,\r\n allowedPageSizes: [\r\n 10,\r\n 50,\r\n 200,\r\n 1000\r\n ]\r\n },\r\n groupPanel: {\r\n visible: true\r\n },\r\n grouping: {\r\n autoExpandAll: true\r\n },\r\n headerFilter: {\r\n visible: true\r\n },\r\n editing: {\r\n mode: \"batch\",\r\n allowAdding: false,\r\n allowUpdating: true,\r\n allowDeleting: false\r\n },\r\n onToolbarPreparing: Areas.addButtonsToToolbar([\"columnChooser\", \"export\" ]),\r\n onSaved:Areas.Dialogs.IdentifyWeeklyOvertime.saved,\r\n columns: [\r\n {\r\n dataField: \"usageDate\",\r\n caption: \"Date\",\r\n format: \"longDate\",\r\n width: 80,\r\n groupIndex: 0,\r\n sortOrder: \"asc\",\r\n sortIndex: 0,\r\n dataType: \"date\"\r\n }, {\r\n dataField: \"accountCode\",\r\n caption: \"Project\",\r\n width: 100\r\n }, {\r\n dataField: \"workOrderCode\",\r\n caption: \"Job Code\",\r\n width: 100\r\n }, {\r\n dataField: \"workOrderLongDescription\",\r\n caption: \"Job Description\",\r\n width: 400\r\n }, {\r\n dataField: \"usageAmount\",\r\n caption: \"Hours\",\r\n width: 100,\r\n dataType: \"number\"\r\n }, {\r\n dataField: \"isStraightHours\",\r\n caption: \"Straight Overtime\",\r\n width: 120,\r\n allowEditing: true,\r\n dataType: \"boolean\"\r\n }, {\r\n dataField: \"isPremiumHours\",\r\n caption: \"Premium Overtime\",\r\n width: 120,\r\n allowEditing: true,\r\n dataType: \"boolean\"\r\n }\r\n ],\r\n summary: {\r\n groupItems: [\r\n {\r\n column: \"usageAmount\",\r\n summaryType: \"sum\",\r\n displayFormat: \"Total Hours: {0}\"\r\n }\r\n ]\r\n }\r\n }).dxDataGrid('instance');\r\n }\r\n })\r\n }\r\n\r\n applyOvertime(that: any) {\r\n var selections = timeEntryStore.createQuery()\r\n .filter([[\"isStraightHours\", \"=\", true], \"or\", [\"isPremiumHours\", \"=\", true]])\r\n .select(\"timeEntryId\", \"isStraightHours\", \"isPremiumHours\")\r\n .toArray();\r\n\r\n console.log(selections); \r\n $.ajax({\r\n url: \"/Dialog/IdentifyWeeklyOvertime/ApplyOvertime\",\r\n method: \"POST\",\r\n data: { timeEntries: selections, weekEndDate: weekEndDate },\r\n success: function (result) {\r\n that.close(DialogResult.Ok, null);\r\n },\r\n error: function (msg: any) {\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 saved(e) {\r\n var data = timeEntryStore.createQuery()\r\n .filter([[\"isStraightHours\", \"=\", true], \"or\", [\"isPremiumHours\", \"=\", true]])\r\n .select(\"usageAmount\", \"isStraightHours\", \"isPremiumHours\")\r\n .toArray()\r\n .map(function (x) { \r\n return { \r\n \"usageAmount\": x.usageAmount,\r\n \"straightHours\": x.isStraightHours ? x.usageAmount : 0,\r\n \"premiumHours\": x.isPremiumHours ? x.usageAmount : 0 \r\n };\r\n });\r\n\r\n var sums = data\r\n .reduce((acc, curr) => {\r\n {\r\n acc[\"totalSelectedHours\"] = acc[\"totalSelectedHours\"] + curr.usageAmount;\r\n acc[\"totalSelectedStraightHours\"] = acc[\"totalSelectedStraightHours\"] + curr.straightHours;\r\n acc[\"totalSelectedPremiumHours\"] = acc[\"totalSelectedPremiumHours\"] + curr.premiumHours;\r\n return acc;\r\n }\r\n },\r\n { \r\n \"totalSelectedHours\": 0,\r\n \"totalSelectedStraightHours\": 0,\r\n \"totalSelectedPremiumHours\": 0\r\n });\r\n\r\n if (sums.totalSelectedHours >= totalHours\r\n && sums.totalSelectedStraightHours >= straightHours\r\n && sums.totalSelectedPremiumHours >= premiumHours) {\r\n enableButton(\"IdentifyWeeklyOvertimeOkDialog\");\r\n } else {\r\n disableButton(\"IdentifyWeeklyOvertimeOkDialog\");\r\n }\r\n\r\n $('#selectedTotal').text(`${sums.totalSelectedHours}; total straight ${sums.totalSelectedStraightHours}; total premium ${sums.totalSelectedPremiumHours}`);\r\n }\r\n\r\n}\r\n","namespace Areas.Dialogs.Jobs {\r\n \"use strict\";\r\n\r\n export class JobsDialog extends Areas.BaseDialog {\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any = null) {\r\n super(\"Jobs\", closeHandler)\r\n }\r\n\r\n protected ok = (e: any) => {\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\r\n}\r\n\r\n","namespace Areas.Dialogs.SelectDefaultJob {\r\n \"use strict\";\r\n\r\n let employeeId: number;\r\n\r\n export class SelectDefaultJobDialog extends Areas.BaseDialog {\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any = null) {\r\n super(\"SelectDefaultJob\", closeHandler, parameters)\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const accountWorkOrdersGrid: DevExpress.ui.dxDataGrid = $(\"#AccountWorkOrdersGrid\").dxDataGrid(\"instance\");\r\n const taskOrdersGrid: DevExpress.ui.dxDataGrid = $(\"#TaskCodesGrid\").dxDataGrid(\"instance\");\r\n\r\n const accountWorkOrder = accountWorkOrdersGrid.getSelectedRowsData()[0];\r\n const taskCode = taskOrdersGrid.getSelectedRowsData()[0];\r\n\r\n if (accountWorkOrder == null || taskCode == null) {\r\n DevExpress.ui.notify(\"You need to select both a work order and a task code!\", \"warning\", 2000);\r\n } else {\r\n const data = {\r\n accountWorkOrder: accountWorkOrder,\r\n taskCode: taskCode\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.SubmitTime {\r\n \"use strict\";\r\n\r\n export class SubmitTimeDialog extends Areas.BaseDialog {\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"SubmitTimeConfirmation\", closeHandler)\r\n }\r\n\r\n protected ok = (e: any) => {\r\n this.close(DialogResult.Ok, null); \r\n }\r\n }\r\n\r\n}","namespace Areas.Dialogs.TimeEntry {\r\n \"use strict\";\r\n\r\n let employeeId: number;\r\n let accountId: number;\r\n let accountWorkOrderId: number;\r\n let overtimeType: string;\r\n let taskCodeLk: string;\r\n let correctiveEntryRefId: number;\r\n let usageDate: Date;\r\n let runQuery: boolean = false;\r\n\r\n export function getEmployeeId() {\r\n return employeeId;\r\n }\r\n\r\n export function getAccountId() {\r\n return accountId;\r\n }\r\n\r\n export function getAccountWorkOrderId() {\r\n return accountWorkOrderId;\r\n }\r\n\r\n export function getOvertimeType() {\r\n return overtimeType;\r\n }\r\n \r\n export function getTaskCodeLk() {\r\n return taskCodeLk;\r\n } \r\n\r\n export function getCorrectiveEntryRefId() {\r\n return correctiveEntryRefId;\r\n }\r\n\r\n export function getUsageDate() {\r\n return moment(usageDate).format('YYYY-MM-DD');\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n\r\n export class TimeEntryDialog extends Areas.BaseDialog {\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any = null) {\r\n super(\"TimeEntry\", closeHandler, parameters, () => {\r\n employeeId = parameters.key.employeeId; \r\n accountId = parameters.key.accountId;\r\n accountWorkOrderId = parameters.key.accountWorkOrderId;\r\n overtimeType = parameters.key.overtimeType;\r\n taskCodeLk = parameters.key.taskCodeLk;\r\n correctiveEntryRefId = parameters.key.correctiveEntryRefId;\r\n usageDate = parameters.usageDate;\r\n const grid = $(\"#TimeEntryGrid\").dxDataGrid(\"instance\");\r\n \r\n runQuery = true;\r\n grid.refresh();\r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n this.close(DialogResult.Ok, null); \r\n }\r\n }\r\n\r\n export function beforeSend(operation, ajaxSettings) {\r\n\r\n if (operation === 'insert') {\r\n let data = JSON.parse(ajaxSettings.data.values);\r\n\r\n data.employeeId = employeeId;\r\n data.accountId = accountId;\r\n data.accountWorkOrderId = accountWorkOrderId;\r\n data.overtimeType = overtimeType;\r\n data.taskCodeLk = taskCodeLk;\r\n data.correctiveEntryRefId = correctiveEntryRefId;\r\n data.usageDate = getUsageDate();\r\n ajaxSettings.data.values = JSON.stringify(data);\r\n }\r\n }\r\n\r\n\r\n}\r\n","namespace Areas.Dialogs.TimeEntryAnalysis {\r\n \"use strict\";\r\n\r\n let employeeId: number;\r\n let isEdit: boolean = false;\r\n let timeEntry: any;\r\n\r\n export function getEmployeeId() {\r\n return employeeId;\r\n }\r\n\r\n \r\n export class TimeEntryAnalysisAddEditDialog extends Areas.BaseDialog {\r\n \r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"TimeEntryAnalysisAddEdit\", closeHandler, parameters, () => {\r\n employeeId = parameters.employeeId;\r\n isEdit = parameters.isEdit;\r\n timeEntry = parameters.timeEntry;\r\n \r\n const form = $(\"#TimeEntryAnalysisAddEditForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n\r\n formData.employeeId = parameters.employeeId;\r\n formData.timeEntryId = 0;\r\n\r\n if (timeEntry != null) {\r\n formData.usageAmount = parameters.timeEntry.usageAmount;\r\n formData.usageDate = parameters.timeEntry.usageDate;\r\n formData.rechargeRate = parameters.timeEntry.rechargeRate;\r\n formData.fundingSourceId = parameters.timeEntry.fundingSourceId;\r\n formData.accountWorkOrderId = parameters.timeEntry.accountWorkOrderId;\r\n formData.taskCodeLk = parameters.timeEntry.taskCodeLk;\r\n formData.overtimeType = parameters.timeEntry.overtimeType;\r\n if (isEdit === true) {\r\n formData.timeEntryId = parameters.timeEntry.timeEntryId;\r\n }\r\n }\r\n\r\n form.option(\"formData\", formData);\r\n })\r\n\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const correctionForm = $(\"#TimeEntryAnalysisAddEditForm\").dxForm(\"instance\");\r\n\r\n const result: any = correctionForm.validate();\r\n\r\n if (result.isValid) {\r\n const formData = correctionForm.option(\"formData\");\r\n\r\n\r\n isEdit = true;\r\n if (formData.timeEntryId === 0) {\r\n isEdit = false;\r\n }\r\n\r\n const data = JSON.stringify({\r\n employeeId: formData.employeeId,\r\n comment: formData.comment,\r\n rechargeRate: formData.rechargeRate,\r\n usageDate: formData.usageDate,\r\n usageAmount: formData.usageAmount,\r\n accountWorkOrderId: formData.accountWorkOrderId,\r\n fundingSourceId: formData.fundingSourceId,\r\n taskCodeLk: formData.taskCodeLk,\r\n timeEntryId: formData.timeEntryId,\r\n overtimeType: formData.overtimeType,\r\n isEdit: isEdit\r\n\r\n });\r\n\r\n const url = \"/Dialog/TimeEntryAnalysisAddEdit/Put\";\r\n sendRequest(url, data, \"PUT\", () => this.close(DialogResult.Ok, null));\r\n }\r\n }\r\n }\r\n\r\n \r\n\r\n export function employeeTemplate(itemData: any, itemIndex: any, itemElement: any) {\r\n itemElement.append(`
${itemData.displayName}${itemData.primaryEMail}
`);\r\n } \r\n\r\n}\r\n","namespace Areas.Dialogs.TimeEntryCorrection {\r\n \"use strict\";\r\n\r\n let employeeId: number;\r\n let runQuery: boolean = false;\r\n let timeEntries: any;\r\n\r\n export class TimeEntryCorrectionDialog extends Areas.BaseDialog {\r\n timeEntries: any;\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"TimeEntryCorrection\", closeHandler, parameters, () => {\r\n employeeId = parameters.employeeId;\r\n timeEntries = parameters.timeEntries;\r\n runQuery = true;\r\n const correctionForm = $(\"#CorrectionForm\").dxForm(\"instance\");\r\n let formData = correctionForm.option(\"formData\");\r\n formData.rechargeRate = \"-1\";\r\n correctionForm.option(\"formData\", formData);\r\n \r\n })\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const correctionForm = $(\"#CorrectionForm\").dxForm(\"instance\");\r\n\r\n const result: any = correctionForm.validate();\r\n\r\n if (result.isValid) {\r\n const formData = correctionForm.option(\"formData\");\r\n if (formData.rechargeRate == -1) {\r\n formData.rechargeRate = null;\r\n }\r\n const data = JSON.stringify({\r\n employeeId: employeeId,\r\n accountWorkOrderId: formData.accountWorkOrderId,\r\n fundingSourceId: formData.fundingSourceId,\r\n rechargeRate: formData.rechargeRate,\r\n taskCodeLk: formData.taskCodeLk,\r\n comment: formData.comment,\r\n timeEntries: timeEntries\r\n });\r\n const url = \"/Dialog/TimeEntryCorrection/Put\";\r\n sendRequest(url, data, \"PUT\", () => this.close(DialogResult.Ok, null));\r\n }\r\n }\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n\r\n export function getEmployeeId() {\r\n return employeeId;\r\n }\r\n \r\n export function jobTemplate(itemData: any, itemIndex: any, itemElement: any) {\r\n itemElement.append(`
${itemData.workOrderCode} -- ${itemData.accountCode}${itemData.workOrderLongDescription}
`);\r\n } \r\n\r\n export function fundingSourceTemplate(itemData: any, itemIndex: any, itemElement: any) {\r\n itemElement.append(`
${itemData.fundingSourceCode}${itemData.fundingSourceName}
`);\r\n } \r\n\r\n export function taskCodeTemplate(itemData: any, itemIndex: any, itemElement: any) {\r\n itemElement.append(`
${itemData.taskCodeLk}${itemData.taskCodeDescription}
`);\r\n } \r\n\r\n}","namespace Areas.Dialogs.TimeEntryReversal {\r\n \"use strict\";\r\n\r\n let employeeId: number;\r\n let timeEntries: any;\r\n\r\n export class TimeEntryReversalDialog extends Areas.BaseDialog {\r\n timeEntries: any;\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"TimeEntryReversal\", closeHandler, parameters, () => {\r\n employeeId = parameters.employeeId;\r\n timeEntries = parameters.timeEntries;\r\n })\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const reversalForm = $(\"#ReversalForm\").dxForm(\"instance\");\r\n\r\n const result: any = reversalForm.validate();\r\n\r\n if (result.isValid) {\r\n const formData = reversalForm.option(\"formData\");\r\n\r\n const data = JSON.stringify({\r\n employeeId: employeeId,\r\n comment: formData.comment,\r\n timeEntries: timeEntries\r\n });\r\n\r\n const url = \"/Dialog/TimeEntryReversal/Put\";\r\n sendRequest(url, data, \"PUT\", () => this.close(DialogResult.Ok, null));\r\n }\r\n }\r\n }\r\n\r\n export function getEmployeeId() {\r\n return employeeId;\r\n }\r\n \r\n}","namespace Areas.Dialogs.WarningHours {\r\n \"use strict\";\r\n\r\n export class WarningHoursDialog extends Areas.BaseDialog {\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"WarningHours\", closeHandler)\r\n }\r\n\r\n protected ok = (e: any) => {\r\n this.close(DialogResult.Ok, null); \r\n }\r\n }\r\n\r\n}","namespace Areas.Employee.Accruals {\r\n \"use strict\";\r\n\r\n export function showAddAccrualDialog() {\r\n const params = {\r\n employeeId : $('#AccrualsGrid').dxDataGrid('instance').option('EmployeeId')\r\n };\r\n\r\n const dialog = new Areas.Dialogs.CreateEmployeeAccrual.CreateEmployeeAccrualDialog(closeDialog, params);\r\n }\r\n\r\n function closeDialog(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) {\r\n return;\r\n } \r\n\r\n Areas.refreshGrid(\"AccrualsGrid\");\r\n }\r\n}","namespace Areas.Employee.Activity {\r\n \"use strict\";\r\n\r\n let startDate: string;\r\n let endDate: string;\r\n\r\n export function timeOffGridInitialized (e: any) {\r\n const form = $('#TimeOffFilterForm').dxForm('instance');\r\n const today = moment(Date.now());\r\n\r\n endDate = today.format(\"YYYY-MM-DD\");\r\n startDate = today.add(-3650, 'day').format(\"YYYY-MM-DD\");\r\n\r\n const data = {\r\n start: startDate,\r\n end: endDate \r\n };\r\n\r\n form.option(\"formData\", data);\r\n }\r\n\r\n export function timeOffFilterFormDataChanged(e: any) {\r\n if (Areas.isEmpty(e.value)) return;\r\n \r\n if (e.dataField == \"start\") {\r\n startDate = moment(e.value).format(\"YYYY-MM-DD\");\r\n } else {\r\n endDate = moment(e.value).format(\"YYYY-MM-DD\");\r\n }\r\n\r\n if (Areas.isNotEmpty(startDate) && Areas.isNotEmpty(endDate)) {\r\n Areas.refreshGrid(\"TimeOffGrid\");\r\n }\r\n }\r\n\r\n export function getStartDate() {\r\n return startDate;\r\n }\r\n\r\n export function getEndDate() {\r\n return endDate;\r\n }\r\n\r\n export function appointmentRendered(e, f) {\r\n if (!e.appointmentData.employeeActivityId) {\r\n e.appointmentElement.addClass('dx-scheduler-red');\r\n }\r\n }\r\n \r\n export function ConvertToFMLA() {\r\n var dataGrid = $('#TimeOffGrid').dxDataGrid('instance');\r\n var selectedRows = dataGrid.getSelectedRowKeys().join(',');\r\n var url = \"/Employee/Activity/ConvertToFMLA/?ids=\" + selectedRows;\r\n\r\n sendRequest(url, \"\", \"POST\", () => { $('#TimeOffGrid').dxDataGrid(\"instance\").refresh(); });\r\n }\r\n\r\n export function newActivity(e) {\r\n e.data.employeeId = $('#ActivityGrid').dxDataGrid('instance').option('EmployeeId');\r\n }\r\n\r\n export function activityGridUpdated(e) {\r\n $('#ActivityScheduler').dxScheduler('instance').repaint();\r\n }\r\n\r\n export function showAddActivities() {\r\n const parameters = { employeeId: $('#ActivityGrid').dxDataGrid('instance').option('EmployeeId') };\r\n\r\n var addEmployeeActivityDialog = new Areas.Dialogs.EmployeeActivity.AddEmployeeActivityDialog(\r\n addEmployeeActivityDialogClosing, parameters);\r\n }\r\n\r\n function addEmployeeActivityDialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) {\r\n return;\r\n } \r\n\r\n $('#ActivityGrid').dxDataGrid('instance').refresh();\r\n $('#ActivityScheduler').dxScheduler('instance').repaint();\r\n }\r\n \r\n}","namespace Areas.Employee.Contact {\r\n \"use strict\";\r\n\r\n var employeeContactFormUpdate: UpdateOperations;\r\n\r\n $(() => { init(); });\r\n\r\n function init() {\r\n if ($(\"#ContactForm\").dxForm(\"instance\")) {\r\n employeeContactFormUpdate = new UpdateOperations(\"ContactForm\", \"/Employee/Contact/Put\");\r\n }\r\n }\r\n\r\n export function updateEmployeeContactRecord(e: any) {\r\n employeeContactFormUpdate.updateRecord();\r\n }\r\n\r\n}","namespace Areas.Employee.CreateEmployee {\r\n \"use strict\";\r\n\r\n export function createEmployee() {\r\n const form = $(\"#CreateEmployeeForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n const newData: any = form.option(\"formData\");\r\n sendRequest('/Employee/CreateEmployee/Post', JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n}","namespace Areas.Employee.Edit {\r\n \"use strict\";\r\n\r\n var formUpdate: UpdateOperations;\r\n\r\n $(() => { init(); });\r\n\r\n function init() {\r\n if ($(\"#EmployeeForm\").dxForm(\"instance\")) {\r\n formUpdate = new UpdateOperations(\"EmployeeForm\", \"/Employee/Edit/Put\");\r\n }\r\n }\r\n\r\n\r\n export function updateRecord(e: any) {\r\n formUpdate.updateRecord();\r\n }\r\n\r\n export function userLookupItem(itemData: any, itemIndex: any, itemElement: any) {\r\n if (itemData.isActive) {\r\n itemElement.append(\r\n `
${itemData.displayName}${itemData.email}
`);\r\n } else\r\n itemElement.append(\r\n `
${itemData.displayName}${\r\n itemData.email} - Inactive
`);\r\n }\r\n\r\n export function typeValueChanged(e) {\r\n \r\n var employeeForm: DevExpress.ui.dxForm = $('#EmployeeForm').dxForm('instance');\r\n\r\n var search = $.map(e.component._dataSource._items, function (user: any) { return user.userId == e.value ? user : null });\r\n\r\n if (search.length > 0) {\r\n var user = search[0];\r\n employeeForm.option(\"formData.UserEmail\", user.email);\r\n employeeForm.option(\"formData.UserName\", user.displayName);\r\n employeeForm.option(\"formData.UserLogin\", user.loginName); \r\n }\r\n }\r\n\r\n\r\n export function supervisorValueChanged(e) {\r\n var employeeForm: DevExpress.ui.dxForm = $(\"#EmployeeForm\").dxForm(\"instance\");\r\n var search = $.map(e.component._dataSource._items, function (employee: any) { return employee.employeeId == e.value ? employee : null });\r\n\r\n if (search.length > 0) {\r\n var employee = search[0];\r\n employeeForm.option(\"formData.SupervisorName\", employee.displayName);\r\n }\r\n }\r\n\r\n\r\n export function BeforeSendMaintenance(operation, ajaxSettings) {\r\n //There is no other way to change the area in the url\r\n ajaxSettings.url = ajaxSettings.url.replace('/Employee', '/Maintenance');\r\n }\r\n}","namespace Areas.Employee.License {\r\n \"use strict\";\r\n\r\n export function newLicense(e) {\r\n e.data.employeeId = $('#LicenseGrid').dxDataGrid('instance').option('EmployeeId');\r\n }\r\n\r\n}\r\n","namespace Areas.Employee {\r\n \"use strict\";\r\n \r\n export function newDefaultJob(e) {\r\n\r\n e.data.employeeId = $('#WorkOrderGrid').dxDataGrid('instance').option('EmployeeId');\r\n e.data.isIncluded = true;\r\n }\r\n\r\n export function newTimeEntryRight(e) {\r\n\r\n e.data.employeeId = $('#TimeEntryRightsGrid').dxDataGrid('instance').option('EmployeeId');\r\n }\r\n\r\n var activityAdd: UpdateOperations;\r\n\r\n var formCrudOps: FormCrudOperations;\r\n\r\n export function addActivityRecord(e: any) {\r\n\r\n activityAdd = new UpdateOperations(\"AddActivityForm\", \"/Employee/Activity/Save\");\r\n activityAdd.updateRecord(() => {\r\n $('#AddActivityPopup').dxPopup('hide');\r\n $('#ActivityGrid').dxDataGrid('instance').refresh();\r\n $('#ActivityScheduler').dxScheduler('instance').repaint();\r\n });\r\n }\r\n\r\n\r\n export function viewLink(cellElement, cellInfo) {\r\n const employeeId = String(cellInfo.data.employeeId);\r\n const startDate = String(cellInfo.data.weekEndingDate);\r\n const linkInfo = `View`;\r\n cellElement.html(linkInfo);\r\n }\r\n\r\n export function viewLinkProject(cellElement, cellInfo) {\r\n const accountCode = String(cellInfo.data.project);\r\n let projectId = cellInfo.data.accountId;\r\n const linkInfo = ` ${accountCode}`;\r\n cellElement.html(linkInfo);\r\n }\r\n\r\n export function viewLinkProjectFromJobs(cellElement, cellInfo) {\r\n const accountCode = String(cellInfo.data.accountCode);\r\n let projectId = cellInfo.data.accountId;\r\n const linkInfo = ` ${accountCode}`;\r\n cellElement.html(linkInfo);\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.Employee {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Employee\", \"Index\", \r\n [\"Edit\", \"UCPath\", \"Contact\", \"Web\", \"Time\", \"TimeEntryNote\", \r\n \"Jobs\", \"Licenses\",\"Activity\", \"Accruals\", \"Attachment\", \"TimeEntryRights\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n}","namespace Areas.Employee.TimeEntryNote {\r\n \"use strict\";\r\n\r\n let employeeId: number = 0;\r\n\r\n $(() => { init(); }); \r\n \r\n function init() {\r\n const $employeeDiv = $(\"#EmployeeId\");\r\n\r\n if ($employeeDiv.length) {\r\n employeeId = Number($employeeDiv.attr(\"data-employee-id\"));\r\n }\r\n\r\n getTimeVerificationInfo();\r\n }\r\n \r\n function getTimeVerificationInfo() {\r\n const template = $(\"#TimeVerificationTemplate\").html();\r\n const $container = $(\"#TimeVerificationContainer\");\r\n\r\n if ($container.length) {\r\n $.get(`/Employee/TimeEntryNote/GetTimeVerificationInfo/${employeeId}?startDate=${getStartDate()}`, function(data) {\r\n if (data === null) {\r\n $container.empty();\r\n $container.append(_.template(template)({}));\r\n } else {\r\n\r\n if (data.submittedDateTime) {\r\n data.submittedDateTime = moment(data.submittedDateTime).format('MM/DD/YYYY, h:mm a');\r\n }\r\n if (data.supervisorApprovalDateTime) {\r\n data.supervisorApprovalDateTime = moment(data.supervisorApprovalDateTime).format('MM/DD/YYYY, h:mm a');\r\n }\r\n $container.empty();\r\n $container.append(_.template(template)(data));\r\n }\r\n });\r\n }\r\n }\r\n \r\n export function getStartDate() {\r\n let startDate = Areas.getQueryStringParameter(location.href, \"start\");\r\n\r\n if (Areas.isEmpty(startDate)) {\r\n return Areas.getPreviousSundayDate().format(\"YYYY-MM-DD\");\r\n }\r\n\r\n return startDate;\r\n }\r\n\r\n export function calendarClick() {\r\n var calendarDialog = \r\n new Areas.Dialogs.Calendar.CalendarDialog(calendarDialogClosing);\r\n }\r\n\r\n function calendarDialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const date = Areas.getPreviousSundayFromDate(data.date);\r\n\r\n window.location.href = `/Employee/TimeEntryNote/Index/${employeeId}?start=${date.format(\"YYYY-MM-DD\")}`;\r\n }\r\n\r\n export function weekClick(url: string) {\r\n return () => {\r\n window.location.href = url;\r\n }\r\n }\r\n\r\n}","namespace Areas.Employee.TimeEntryRights {\r\n \"use strict\";\r\n\r\n export function newTimeEntryRight(e) {\r\n e.data.employeeId = $(\"#TimeEntryRightsGrid\").dxDataGrid(\"instance\").option(\"EmployeeId\");\r\n }\r\n\r\n}","namespace Areas.Employee.Web {\r\n \"use strict\";\r\n\r\n var webFormUpdate: UpdateOperations;\r\n\r\n $(() => { init(); });\r\n\r\n function init() {\r\n if ($(\"#EmployeeWebForm\").dxForm(\"instance\")) {\r\n webFormUpdate = new UpdateOperations(\"EmployeeWebForm\", \"/Employee/Web/Put\");\r\n }\r\n }\r\n\r\n export function updateWebRecord(e: any) {\r\n webFormUpdate.updateRecord();\r\n }\r\n\r\n}","namespace Areas.Maintenance.CustomQuery {\r\n \"use strict\";\r\n\r\n let customQueryId: number;\r\n let runQuery: boolean = false; \r\n\r\n export function getCustomQueryId() {\r\n return customQueryId;\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n } \r\n \r\n export function onCustomQuerySelected(e: any) {\r\n var selectedRows = e.component.getSelectedRowsData();\r\n\r\n if (selectedRows.length === 1) {\r\n runQuery = true;\r\n customQueryId = selectedRows[0].customQueryId;\r\n Areas.refreshGrid(\"CustomQueryFieldGrid\");\r\n Areas.refreshGrid(\"CustomQueryLinkGrid\");\r\n }\r\n } \r\n \r\n export function newCustomQueryField(e: any) {\r\n const dataGrid = e.component;\r\n e.data.customQueryId = getCustomQueryId();\r\n } \r\n \r\n export function newCustomQueryLink(e: any) {\r\n const dataGrid = e.component;\r\n e.data.customQueryId = getCustomQueryId();\r\n } \r\n \r\n var selected: Selected = new Selected();\r\n\r\n export function onUserIDValueChanged(rowData, value) {\r\n return userValueChanged(selected)(rowData, value);\r\n }\r\n\r\n export function userLookupEditTemplate(cellElement, cellInfo) {\r\n return lookupEditTemplate(\"/Maintenance/CustomQuery/Users\", selected)(cellElement, cellInfo);\r\n }\r\n\r\n export function userLookupCellTemplate(cellElement, cellInfo) {\r\n return lookupCellTemplate(cellElement, cellInfo);\r\n } \r\n}","namespace Areas.Maintenance {\r\n \"use strict\";\r\n\r\n var selected: 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 userAuthorizedLookupEditTemplate(cellElement, cellInfo) {\r\n return lookupEditTemplate(\"/Maintenance/AuthorizedUser/Users\", selected)(cellElement, cellInfo);\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 disableColumnEdit(columnName: string) {\r\n return function (e: any) {\r\n if (e.rowType !== \"data\" || !e.row.isEditing)\r\n return;\r\n if (e.column.dataField === columnName && !e.row.isNewRow)\r\n e.cellElement.find('input').prop('readonly', true);\r\n }\r\n } \r\n\r\n}\r\n\r\n\r\n\r\n","namespace Areas.Maintenance.List {\r\n \"use strict\";\r\n\r\n var accountsMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"Account\", \"AccountTeam\", \"AccountWorkOrder\", \"FundingSource\", \"GLFiscalYear\"])\r\n\r\n var employeeMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"Employee\", \"EmployeeAccrualCalc\", \"EmployeeAccrualRate\", \"EmployeeAccrualType\"])\r\n\r\n var personnelMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"Contact\", \"ContactDepartmentUnit\", \"EmployeeAccrualCalc\", \"Holiday\", \"TimeEntryTaskCode\",\r\n \"RechargeRate\"])\r\n\r\n var rechargeMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"RechargeRate\", \"RechargeRateHistory\"])\r\n\r\n var systemMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"AuthorizedUser\", \"SystemConfigSettings\", \"SystemUsers\"])\r\n\r\n\r\n export function accountsMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(accountsMaintenanceTabItems)(params);\r\n }\r\n\r\n export function employeeMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(employeeMaintenanceTabItems)(params);\r\n }\r\n\r\n export function personnelMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(personnelMaintenanceTabItems)(params);\r\n }\r\n\r\n export function rechargeMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(rechargeMaintenanceTabItems)(params);\r\n }\r\n\r\n export function systemMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(systemMaintenanceTabItems)(params);\r\n }\r\n}","namespace Areas.TimeEntry.Correction {\r\n \"user strict\";\r\n \r\n let employeeId: number = 0;\r\n let weekEndingDateProgrammaticallySet: boolean = false;\r\n \r\n export function viewLink(cellElement, cellInfo) {\r\n const employeeId = String(cellInfo.data.employeeId);\r\n const startDate = String(cellInfo.data.weekEndingDateCalc);\r\n const linkInfo = `View`;\r\n cellElement.html(linkInfo);\r\n }\r\n\r\n export function showEmployeeDialog() {\r\n const employeeDialog = new Areas.Dialogs.Employee.EmployeeDialog(employeeDialogClosing);\r\n }\r\n\r\n export function showAccountDialog() {\r\n const accountDialog = new Areas.Dialogs.Account.AccountDialog(accountDialogClosing);\r\n }\r\n\r\n export function showJobsDialog() {\r\n const jobsDialog = new Areas.Dialogs.Jobs.JobsDialog(jobsDialogClosing);\r\n }\r\n\r\n export function setWeekEndingDateFilterValue(e: any) {\r\n const form = e.component;\r\n form.option(\"formData\", { weekEndingDate: Areas.getNextSaturdayDate() });\r\n }\r\n\r\n function accountDialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) {\r\n return;\r\n } \r\n\r\n const form = $(\"#CorrectionGridFilterForm\").dxForm(\"instance\");\r\n const formData = form.option(\"formData\");\r\n\r\n formData.accountId = data.accountId;\r\n formData.accountName = data.projectName; \r\n\r\n form.option(\"formData\", formData);\r\n }\r\n\r\n function jobsDialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) {\r\n return;\r\n } \r\n\r\n const form = $(\"#CorrectionGridFilterForm\").dxForm(\"instance\");\r\n const formData = form.option(\"formData\");\r\n\r\n formData.accountWorkOrderId = data.accountWorkOrderId;\r\n formData.jobName = data.displayName; \r\n\r\n form.option(\"formData\", formData);\r\n \r\n }\r\n\r\n export function clearSelections() {\r\n const form = $(\"#CorrectionGridFilterForm\").dxForm(\"instance\");\r\n const formData = form.option(\"formData\");\r\n\r\n formData.employeeId = 0;\r\n formData.accountId = 0;\r\n formData.accountWorkOrderId = 0;\r\n formData.employeeName = \"\";\r\n formData.accountName = \"\";\r\n formData.jobName = \"\";\r\n\r\n form.option(\"formData\", formData);\r\n }\r\n\r\n function employeeDialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) {\r\n return;\r\n } \r\n\r\n const form = $(\"#CorrectionGridFilterForm\").dxForm(\"instance\");\r\n const formData = form.option(\"formData\");\r\n\r\n formData.employeeId = data.employeeId;\r\n formData.employeeName = data.displayName;\r\n\r\n form.option(\"formData\", formData);\r\n }\r\n\r\n export function showCorrectionDialog() {\r\n if (allSelectedAreValid()) {\r\n var timeEntries = getSelectedTimeEntries();\r\n\r\n const params = { employeeId: employeeId, timeEntries: timeEntries };\r\n const correctionDialog = new Areas.Dialogs.TimeEntryCorrection.TimeEntryCorrectionDialog(\r\n correctionDialogClosing,\r\n params);\r\n }\r\n }\r\n\r\n function allSelectedAreValid() {\r\n const correctionGrid = $(\"#CorrectionGrid\").dxDataGrid(\"instance\");\r\n const selectedRows = correctionGrid.getSelectedRowsData();\r\n //check for cancelled or not extracted\r\n for (var record in selectedRows) {\r\n employeeId = selectedRows[record].employeeId;\r\n if (selectedRows[record].isCancelled === true || selectedRows[record].glEntryCreatedDateTime === null) {\r\n DevExpress.ui.notify(\"Selected Records must be Extracted and not Cancelled\", \"warning\", 2000);\r\n return false;\r\n\r\n }\r\n }\r\n return true;\r\n }\r\n export function showReversalDialog() {\r\n if (allSelectedAreValid()) {\r\n var timeEntries = getSelectedTimeEntries();\r\n\r\n\r\n const params = { employeeId: employeeId, timeEntries: timeEntries };\r\n const reversalDialog = new Areas.Dialogs.TimeEntryReversal.TimeEntryReversalDialog(reversalDialogClosing,\r\n params);\r\n }\r\n }\r\n\r\n function reversalDialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) {\r\n return;\r\n } \r\n\r\n const correctionGrid = $(\"#CorrectionGrid\").dxDataGrid(\"instance\"); \r\n correctionGrid.deselectAll();\r\n \r\n Areas.refreshGrid(\"CorrectionGrid\");\r\n }\r\n\r\n\r\n function getSelectedTimeEntries() {\r\n const correctionGrid = $(\"#CorrectionGrid\").dxDataGrid(\"instance\");\r\n const selectedRows = correctionGrid.getSelectedRowsData();\r\n \r\n return $.map(correctionGrid.getSelectedRowsData(), function (item:any) { return item.timeEntryId });\r\n }\r\n\r\n function correctionDialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) {\r\n return;\r\n } \r\n\r\n const correctionGrid = $(\"#CorrectionGrid\").dxDataGrid(\"instance\"); \r\n correctionGrid.deselectAll();\r\n \r\n Areas.refreshGrid(\"CorrectionGrid\");\r\n }\r\n\r\n export function canExecuteQuery() {\r\n const filterForm = $(\"#CorrectionGridFilterForm\").dxForm(\"instance\");\r\n const data = filterForm.option(\"formData\");\r\n\r\n const useWeekEndingDate = data.useWeekEndingDate;\r\n const weekEndingDate = data.weekEndingDate;\r\n const timePeriod = data.timePeriod; \r\n const startDate = data.startDate;\r\n const endDate = data.endDate;\r\n \r\n const validWeekend = useWeekEndingDate === true && Areas.isNotEmpty(weekEndingDate);\r\n const validTimePeriod = validTimePeriodSelected(timePeriod, startDate, endDate); \r\n return validWeekend || validTimePeriod;\r\n }\r\n \r\n function validTimePeriodSelected(timePeriod, startDate, endDate) {\r\n if (Areas.isNotEmpty(timePeriod)) {\r\n if (timePeriod === \"All\") {\r\n return true;\r\n }\r\n }\r\n\r\n return Areas.isNotEmpty(startDate) && Areas.isNotEmpty(endDate);\r\n }\r\n\r\n export function getEmployeeId() {\r\n return getFormData().employeeId;\r\n }\r\n\r\n export function getAccountId() {\r\n return getFormData().accountId;\r\n }\r\n\r\n export function getAccountWorkOrderId() {\r\n return getFormData().accountWorkOrderId;\r\n }\r\n\r\n export function getWeekEndingDate() {\r\n return moment(getFormData().weekEndingDate).format(\"YYYY-MM-DD\");\r\n }\r\n\r\n export function getUseWeekEndingDate() {\r\n return getFormData().useWeekEndingDate;\r\n }\r\n\r\n export function getExcludeUploaded() {\r\n return getFormData().excludeUploaded;\r\n }\r\n\r\n export function getExcludeReversals() {\r\n return getFormData().excludeReversals;\r\n }\r\n\r\n export function getTimePeriod() {\r\n return getFormData().timePeriod;\r\n }\r\n\r\n export function getStartDate() {\r\n return moment(getFormData().startDate).format(\"YYYY-MM-DD\");\r\n }\r\n\r\n export function getEndDate() {\r\n return moment(getFormData().endDate).format(\"YYYY-MM-DD\");\r\n }\r\n\r\n export function loadTimeEntries() {\r\n Areas.refreshGrid(\"CorrectionGrid\");\r\n }\r\n\r\n export function weekEndingDateChanged(e: any) {\r\n if (weekEndingDateProgrammaticallySet === true) {\r\n weekEndingDateProgrammaticallySet = false;\r\n return;\r\n }\r\n\r\n if (weekEndingDateProgrammaticallySet === false) {\r\n const form = $(\"#CorrectionGridFilterForm\").dxForm(\"instance\");\r\n const data = form.option(\"formData\");\r\n\r\n data.weekEndingDate = Areas.getNextSaturdayFromDate(e.value);\r\n\r\n form.option(\"formData\", data);\r\n weekEndingDateProgrammaticallySet = true;\r\n return;\r\n }\r\n }\r\n\r\n export function timePeriodChanged(e: any) {\r\n if (e.value === null) return;\r\n\r\n $.get(`/TimeEntry/Correction/GetTimePeriod/?timePeriod=${e.value}`, (data) => {\r\n const form = $(\"#CorrectionGridFilterForm\").dxForm(\"instance\");\r\n const formData = form.option(\"formData\");\r\n\r\n formData.startDate = data.startDate;\r\n formData.endDate = data.endDate;\r\n form.option(\"formData\", formData);\r\n })\r\n }\r\n\r\n\r\n export function onTimeEntryGridContentReady(e: any) {\r\n const selectAllCheckBox = e.element.find(\".dx-header-row\").find(\".dx-select-checkbox\");\r\n selectAllCheckBox.dxCheckBox(\"instance\").option(\"disabled\", true);\r\n\r\n const rowCount = $(\"#CorrectionGrid\").dxDataGrid(\"instance\").getVisibleRows().length;\r\n if (rowCount > 0) {\r\n enableButton(\"EditButton\")\r\n }\r\n else disableButton(\"EditButton\")\r\n }\r\n \r\n\r\n function getFormData(): any {\r\n const form = $(\"#CorrectionGridFilterForm\").dxForm(\"instance\");\r\n const data = form.option(\"formData\");\r\n return data;\r\n }\r\n\r\n export function addTimeEntryCorrection() {\r\n\r\n const correctionGrid = $(\"#CorrectionGrid\").dxDataGrid(\"instance\");\r\n const selectedRows = correctionGrid.getSelectedRowsData();\r\n showNewEditDialog(selectedRows[0], false);\r\n\r\n\r\n }\r\n\r\n export function editTimeEntryCorrection() {\r\n\r\n const correctionGrid = $(\"#CorrectionGrid\").dxDataGrid(\"instance\");\r\n const selectedRows = correctionGrid.getSelectedRowsData();\r\n if (selectedRows[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n if (selectedRows[0].glEntryCreatedDateTime != null) {\r\n DevExpress.ui.notify(\"This record has been extracted and may not be edited\", \"warning\", 2000);\r\n } else {\r\n showNewEditDialog(selectedRows[0], true);\r\n }\r\n }\r\n }\r\n\r\n function showNewEditDialog(data: any, isEdit: boolean) {\r\n\r\n employeeId = getEmployeeId(); //leave this in case employee selected in form, but no record selected for Add\r\n if (data != null) {\r\n employeeId = data.employeeId;\r\n }\r\n const params = { employeeId: employeeId, timeEntry: data, isEdit: isEdit };\r\n const timeEntryAnalysisAddEditDialog = new Areas.Dialogs.TimeEntryAnalysis.TimeEntryAnalysisAddEditDialog(newEditDialogClosing,\r\n params);\r\n }\r\n\r\n function newEditDialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) {\r\n return;\r\n }\r\n\r\n const correctionGrid = $(\"#CorrectionGrid\").dxDataGrid(\"instance\");\r\n correctionGrid.deselectAll();\r\n\r\n Areas.refreshGrid(\"CorrectionGrid\");\r\n \r\n }\r\n\r\n}\r\n","namespace Areas.TimeEntry.Review {\r\n \"user strict\";\r\n \r\n export function viewTimesheetLink(cellElement, cellInfo) {\r\n const employeeId = cellInfo.data.employeeId;\r\n const weekEndingDate = moment(cellInfo.data.weekEndingDate).format(\"YYYY-MM-DD\");\r\n const link = `View`;\r\n\r\n cellElement.html(link);\r\n }\r\n\r\n export function onCellPrepared(e: any) {\r\n if (e.rowType !== \"data\") {\r\n return;\r\n }\r\n setLockedByBackground(e);\r\n }\r\n\r\n function setLockedByBackground(e) {\r\n var isApprovedDataCell = e.column.dataField === \"supervisorApprovalBy\";\r\n\r\n if (isApprovedDataCell) {\r\n if (e.data.supervisorApprovalBy == null) {\r\n e.cellElement.css(\"background-color\", \"yellow\");\r\n }\r\n }\r\n }\r\n}","namespace Areas.TimeEntry {\r\n \"use strict\";\r\n\r\n enum GridOperation { None, Insert, Update, Delete }\r\n\r\n let gridOperation: GridOperation = GridOperation.None;\r\n\r\n $(() => { \r\n UpdateTotals(); \r\n });\r\n\r\n export function UpdateTotals() {\r\n \r\n $(\".week-totals\").each(function (i) {\r\n var element = this;\r\n const employeeId = $(\"#EmployeeId\").val();\r\n const usageDate = $(this).data(\"start-date\");\r\n \r\n $.ajax({\r\n url: `/TimeEntry/TimeEntry/WeekTotals/${employeeId}/${usageDate}`,\r\n method: \"GET\",\r\n success: function (result) {\r\n $(element).html(\"Non-Work: \" + result.nonWorkHours + \" Regular Work: \" + result.regularHours\r\n + \"
OverTime: \" + result.totalOvertime + \" Straight: \" + result.straightHours + \" Premium: \" + result.premiumHours\r\n + \"
TotalHours: \" + result.totalHours + \"\");\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 \r\n export function isValidDateFormat(dateString) {\r\n const reg = /^20\\d\\d-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])/;\r\n return reg.test(dateString);\r\n }\r\n\r\n function getDayNumberFromDataField(dataField): number {\r\n const match = /^day_(\\d+)$/.exec(dataField);\r\n\r\n if (match != null) {\r\n return parseInt(match[1]);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n export function customizeColumns(columns) {\r\n var headerTemplate = function (header, info) {\r\n $(\"
\").html(info.column.caption).appendTo(header);\r\n };\r\n\r\n const grid = $(\"#TimeSheetEntryGrid\").dxDataGrid(\"instance\");\r\n const startDate = moment(grid.option(\"startDate\"));\r\n\r\n for (var i = 0; i < columns.length; i++)\r\n {\r\n const dataField = columns[i].dataField;\r\n const day = getDayNumberFromDataField(dataField);\r\n\r\n if (day != null) {\r\n const date = moment(startDate).add(day, \"day\");\r\n\r\n columns[i].caption = date.format(\"DD\") + \"
\" + date.format(\"dd\")[0];\r\n columns[i].alignment = \"right\";\r\n columns[i].headerCellTemplate = headerTemplate;\r\n }\r\n }\r\n }\r\n\r\n export function customizeHoursSummary(data) {\r\n if (data.value > 0) {\r\n return data.value;\r\n }\r\n }\r\n\r\n export function contentReady(e) {\r\n if (!e.component.__summaryIsNotAdded) {\r\n const items = e.component.option(\"summary.totalItems\");\r\n const totalDayColumns = 14;\r\n\r\n for (var i=0; i < totalDayColumns; i++) {\r\n const columnName = \"day_\" + i;\r\n\r\n items.push({\r\n column: columnName,\r\n summaryType: \"sum\",\r\n cssClass: \"\",\r\n customizeText: customizeHoursSummary\r\n });\r\n }\r\n \r\n e.component.option(\"summary.totalItems\", items);\r\n e.component.__summaryIsNotAdded = true;\r\n }\r\n\r\n }\r\n\r\n export function rowPrepared(e) {\r\n if (e.rowType == \"totalFooter\") {\r\n e.rowElement[0].class = \"\";\r\n e.rowElement[0].style.backgroundColor = \"#5aca5e\";\r\n }\r\n }\r\n\r\n export function cellPrepared(e) {\r\n if (e.rowType == \"data\") {\r\n const dataField = e.column.dataField;\r\n const day = getDayNumberFromDataField(dataField);\r\n const row = e.row;\r\n\r\n var weekIsReadOnly = false;\r\n\r\n if (day <= 6 && row.data[\"week_1_Locked\"] === true) {\r\n weekIsReadOnly = true;\r\n } else if (day > 6 && (row.data[\"week_2_Locked\"] === true)) {\r\n weekIsReadOnly = true;\r\n }\r\n\r\n if (day != null && day > 0) {\r\n const columnName = \"day_\" + day + \"_R\";\r\n const disabled = row.data[columnName] || weekIsReadOnly;\r\n const cellClass = disabled ? \"readonly-timeentry\" : \"\";\r\n\r\n e.cellElement.addClass(cellClass);\r\n }\r\n }\r\n }\r\n\r\n export function editCellTemplate($cellElement, cellInfo) {\r\n const dataField = cellInfo.column.dataField;\r\n const day = getDayNumberFromDataField(dataField);\r\n\r\n var weekIsReadOnly = false;\r\n\r\n if (day <= 6 && cellInfo.row.data[\"week_1_Locked\"] === true) {\r\n weekIsReadOnly = true;\r\n } else if (day > 6 && (cellInfo.row.data[\"week_2_Locked\"] === true)) {\r\n weekIsReadOnly = true;\r\n }\r\n\r\n if (day != null) {\r\n const columnName = \"day_\" + day + \"_R\";\r\n const disabled = cellInfo.row.data[columnName] || weekIsReadOnly;\r\n const div = document.createElement(\"div\");\r\n const dataGrid = cellInfo.component;\r\n\r\n $cellElement.append(div);\r\n\r\n var buttons = [];\r\n\r\n if (!weekIsReadOnly) {\r\n var options = {\r\n icon: \"edit\",\r\n onClick(e) {\r\n showTimeEntryDialog(cellInfo.row.key, day);\r\n }\r\n };\r\n\r\n buttons = [{ \r\n location: \"after\",\r\n name: \"edit\",\r\n options: options }];\r\n };\r\n\r\n \r\n $(div).dxNumberBox({\r\n value: cellInfo.value,\r\n buttons: buttons,\r\n step: 0, \r\n onKeyDown: function (e:any) { \r\n if (e.event.keyCode === 38 /* down arrow */ || e.event.keyCode === 40 /* up arrow */) \r\n e.event.stopPropagation(); \r\n }, \r\n onValueChanged(e) {\r\n cellInfo.setValue(e.value);\r\n\r\n if (e.value === null || e.value === 0) {\r\n gridOperation = GridOperation.Delete;\r\n } else if (e.previousValue !== null && e.value !== null) {\r\n gridOperation = GridOperation.Update;\r\n } else {\r\n gridOperation = GridOperation.Insert;\r\n }\r\n\r\n dataGrid.saveEditData();\r\n }\r\n });\r\n\r\n const inputElement = $cellElement.find(\".dx-texteditor-input-container\").find(\"input\");\r\n if (inputElement != null && disabled) {\r\n inputElement.attr(\"disabled\", \"disabled\");\r\n inputElement.attr(\"readonly\", \"readonly\");\r\n inputElement.attr(\"style\", \"color: lightgray;\")\r\n }\r\n }\r\n }\r\n\r\n export function showTimeEntryDialog(key: any, day: number) {\r\n const grid = $(\"#TimeSheetEntryGrid\").dxDataGrid(\"instance\");\r\n const startDate = moment(grid.option(\"startDate\"));\r\n const usageDate = moment(startDate).add(day, \"day\"); \r\n const parameters = { \r\n key: key,\r\n usageDate: usageDate };\r\n\r\n const timeEntryDialog =\r\n new Areas.Dialogs.TimeEntry.TimeEntryDialog(\r\n dialogClosing, parameters);\r\n }\r\n\r\n function dialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n Areas.refreshGrid(\"TimeSheetEntryGrid\");\r\n UpdateTotals();\r\n }\r\n\r\n export function beforeSend(operation, ajaxSettings) {\r\n const grid = $(\"#TimeSheetEntryGrid\").dxDataGrid(\"instance\");\r\n const startDate = moment(grid.option(\"startDate\"));\r\n\r\n if (operation === \"insert\" || operation === \"update\") {\r\n let values = JSON.parse(ajaxSettings.data.values);\r\n\r\n const dayNumberFromJsonString = /day_(\\d+)/.exec(ajaxSettings.data.values);\r\n if (dayNumberFromJsonString != null) {\r\n const day = parseInt(dayNumberFromJsonString[1]);\r\n const dayFieldName = dayNumberFromJsonString[0];\r\n\r\n values.usageDate = moment(startDate).add(day, \"day\").format(\"YYYY-MM-DD\");\r\n values.usageAmount = values[dayFieldName] === null ? 0 : values[dayFieldName];\r\n }\r\n\r\n switch (gridOperation) {\r\n case GridOperation.Insert:\r\n ajaxSettings.url = \"/TimeEntry/TimeEntry/Post\";\r\n ajaxSettings.method = \"POST\"; \r\n const key = JSON.parse(ajaxSettings.data.key);\r\n values = {...key, ...values }; // This merges the properties from both Json objects\r\n break;\r\n\r\n case GridOperation.Update:\r\n ajaxSettings.url = \"/TimeEntry/TimeEntry/Put\";\r\n ajaxSettings.method = \"PUT\"; \r\n break;\r\n\r\n case GridOperation.Delete:\r\n ajaxSettings.url = \"/TimeEntry/TimeEntry/Delete\";\r\n ajaxSettings.method = \"DELETE\"; \r\n break;\r\n\r\n default:\r\n ajaxSettings.url = \"\";\r\n ajaxSettings.method = \"\";\r\n break;\r\n }\r\n\r\n gridOperation = GridOperation.None;\r\n\r\n ajaxSettings.data.values = JSON.stringify(values);\r\n }\r\n }\r\n\r\n export function rowUpdated() {\r\n UpdateTotals();\r\n }\r\n}\r\n","namespace Areas.TimeEntry.Jobs {\r\n \"use strict\";\r\n\r\n let currentWorkOrder: any;\r\n let selectedWorkOrder: any;\r\n let selectedTaskCodeDescription: string;\r\n\r\n export function onInsertingNewEmployeeWorkOrder(e: any) {\r\n e.data.employeeId = e.component.option(\"EmployeeId\");\r\n selectedWorkOrder = \"\";\r\n selectedTaskCodeDescription = \"\";\r\n\r\n currentWorkOrder = e.data;\r\n } \r\n\r\n export function onEditingStart(e: any) {\r\n currentWorkOrder = e.data;\r\n selectedWorkOrder = e.data.displayName;\r\n selectedTaskCodeDescription = e.data.taskCodeDescription;\r\n }\r\n\r\n export function onRowInserted(e: any) {\r\n selectedWorkOrder = null;\r\n selectedTaskCodeDescription = null;\r\n currentWorkOrder = null;\r\n }\r\n\r\n export function selectWorkOrder() {\r\n const grid: any = $(\"#WorkOrderGrid\").dxDataGrid(\"instance\");\r\n\r\n const selectDefaultJobDialog =\r\n new Areas.Dialogs.SelectDefaultJob.SelectDefaultJobDialog(selectDefaultJobDialogClosing);\r\n }\r\n\r\n function selectDefaultJobDialogClosing(dialogResult: DialogResult, data:any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const dataGrid: any = $(\"#WorkOrderGrid\").dxDataGrid(\"instance\");\r\n\r\n var rowIndex = getItemRowIndex(dataGrid);\r\n updateWorkOrdersGridRow(dataGrid, rowIndex, data);\r\n }\r\n\r\n function getItemRowIndex(dataGrid: DevExpress.ui.dxDataGrid): number {\r\n let rowIndex = 0;\r\n\r\n if (currentWorkOrder === undefined || currentWorkOrder === null) {\r\n return rowIndex;\r\n } else if (currentWorkOrder.employeeWorkOrderId) {\r\n rowIndex = dataGrid.getRowIndexByKey(currentWorkOrder.employeeWorkOrderId);\r\n }\r\n\r\n return rowIndex;\r\n }\r\n\r\n function updateWorkOrdersGridRow(dataGrid: DevExpress.ui.dxDataGrid, rowIndex: number, data: any) {\r\n\r\n dataGrid.cellValue(rowIndex, \"projectNumber\", data.accountWorkOrder.projectNumber);\r\n dataGrid.cellValue(rowIndex, \"projectName\", data.accountWorkOrder.projectName);\r\n dataGrid.cellValue(rowIndex, \"accountWorkOrderId\", data.accountWorkOrder.accountWorkOrderId);\r\n dataGrid.cellValue(rowIndex, \"workOrderCode\", data.accountWorkOrder.workOrderCode);\r\n dataGrid.cellValue(rowIndex, \"displayName\", data.accountWorkOrder.displayName);\r\n dataGrid.cellValue(rowIndex, \"taskCodeLk\", data.taskCode.taskCodeLk);\r\n dataGrid.cellValue(rowIndex, \"taskCodeDescription\", data.taskCode.taskCodeDescription);\r\n\r\n selectedWorkOrder = data.accountWorkOrder.displayName;\r\n selectedTaskCodeDescription = data.taskCode.taskCodeDescription;\r\n\r\n dataGrid.repaintRows([rowIndex]);\r\n }\r\n\r\n export function editTaskCodeTemplate(cellElement, cellInfo) {\r\n let htmlString = `${selectedTaskCodeDescription}`;\r\n let html = $.parseHTML(htmlString);\r\n\r\n cellElement.append(html);\r\n }\r\n\r\n export function editWorkOrdersTemplate(cellElement, cellInfo) {\r\n let displayName = !selectedWorkOrder ? \"Select...\" : selectedWorkOrder;\r\n let htmlString = `
${displayName}
`;\r\n let html = $.parseHTML(htmlString);\r\n\r\n cellElement.on(\"click\", selectWorkOrder);\r\n cellElement.append(html);\r\n }\r\n}","namespace Areas.TimeEntry {\r\n \"use strict\";\r\n\r\n var _employeeId: number;\r\n var _weekEnd: Date;\r\n var _submit: boolean;\r\n var _overtimeCalculated: boolean;\r\n\r\n export function submit (employeeId: number, weekEnd: Date) { \r\n return (e:any) => {\r\n\r\n _employeeId = employeeId;\r\n _weekEnd = weekEnd;\r\n\r\n const url = `/TimeEntry/TimeEntry/ValidateTimeSheet/${employeeId}/${weekEnd}`;\r\n\r\n $.ajax({\r\n url: url,\r\n method: \"GET\",\r\n success: (response) => { \r\n $(\"#SubmitTimeSheetValidationError\").text(\"\"); \r\n checkHours(employeeId, weekEnd);\r\n },\r\n error: (response) => { $(\"#SubmitTimeSheetValidationError\").text(response.responseText); }\r\n });\r\n\r\n }\r\n }\r\n\r\n\r\n export function approve(timeVerificationId: number) {\r\n return (e:any) => {\r\n\r\n const url = `/TimeEntry/TimeEntry/Approve/${timeVerificationId}`;\r\n\r\n $.ajax({\r\n url: url,\r\n method: \"POST\",\r\n success: (response) => { \r\n Areas.reloadPage();\r\n },\r\n error: (response) => { $(\"#SubmitTimeSheetValidationError\").text(response.responseText); }\r\n });\r\n }\r\n }\r\n\r\n\r\n export function returnTimeSheet(timeVerificationId: number) {\r\n return (e: any) => {\r\n\r\n const url = `/TimeEntry/TimeEntry/ReturnTimeSheet/${timeVerificationId}`;\r\n\r\n $.ajax({\r\n url: url,\r\n method: \"POST\",\r\n success: (response) => {\r\n Areas.reloadPage();\r\n },\r\n error: (response) => { $(\"#SubmitTimeSheetValidationError\").text(response.responseText); }\r\n });\r\n }\r\n }\r\n\r\n\r\n function checkHours(employeeId, weekEnd) {\r\n $.ajax({\r\n url: `/TimeEntry/TimeEntry/WeekTotals/${employeeId}/${weekEnd}`,\r\n method: \"GET\",\r\n success: function (result) {\r\n if (result.isExempt || result.isFlexSchedule) {\r\n var submitTimeDialog = new Areas.Dialogs.SubmitTime.SubmitTimeDialog(submitTimeDialogClosing);\r\n }\r\n else if (result.totalHours > 40 || result.totalHours < 40) {\r\n var warningHoursDialog = new Areas.Dialogs.WarningHours.WarningHoursDialog(warningHoursDialogClosing);\r\n } else {\r\n var submitTimeDialog = new Areas.Dialogs.SubmitTime.SubmitTimeDialog(submitTimeDialogClosing);\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 function warningHoursDialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n var submitTimeDialog = new Areas.Dialogs.SubmitTime.SubmitTimeDialog(submitTimeDialogClosing);\r\n }\r\n\r\n function submitTimeDialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n submitConfirm();\r\n }\r\n\r\n function submitConfirm() {\r\n \r\n $.ajax({\r\n url: \"/TimeEntry/TimeEntry/Submit\",\r\n method: \"POST\",\r\n data: { employeeId: _employeeId, weekEnd: _weekEnd },\r\n success: function (result) {\r\n\r\n if (result.hasOvertime && result.overTimeMethod.toUpperCase() != \"NONE\") {\r\n\r\n _submit = true;\r\n\r\n const parameters = {\r\n straightHours: result.straightHours,\r\n premiumHours: result.premiumHours,\r\n employeeId: _employeeId,\r\n weekEndDate: _weekEnd\r\n }\r\n\r\n var identifyWeeklyOvertimeDialog = new Areas.Dialogs.IdentifyWeeklyOvertime.IdentifyWeeklyOvertimeDialog(\r\n identifyWeeklyOvertimeDialogClosing, parameters);\r\n \r\n } else {\r\n Areas.reloadPage();\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 export function addDefaultJob(employeeId: number) {\r\n return (e: any) => {\r\n const parameters = {\r\n employeeId: employeeId\r\n }\r\n\r\n var addDefaultJobDialog = new Areas.Dialogs.AddDefaultJob.AddDefaultJobDialog(\r\n addDefaultJobDialogClosing, parameters);\r\n }\r\n }\r\n\r\n function addDefaultJobDialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) {\r\n return;\r\n }\r\n\r\n Areas.refreshGrid(\"TimeSheetEntryGrid\");\r\n }\r\n\r\n export function removeJob() {\r\n const grid = $(\"#TimeSheetEntryGrid\").dxDataGrid(\"instance\");\r\n const selectedKey = grid.getSelectedRowKeys()[0];\r\n\r\n if (selectedKey != null) {\r\n const verifyDelete = window.confirm(\"Are you sure you would like to delete this record?\");\r\n\r\n if (!verifyDelete) {\r\n return;\r\n }\r\n\r\n const values = {\r\n\r\n employeeId: selectedKey.employeeId,\r\n accountWorkOrderId: selectedKey.accountWorkOrderId,\r\n taskCodeLk: selectedKey.taskCodeLk\r\n };\r\n\r\n var url = \"/TimeEntry/Jobs/DeleteJob\";\r\n Areas.sendRequest(url, JSON.stringify(values), \"DELETE\").done(() => Areas.refreshGrid(\"TimeSheetEntryGrid\"));\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 function identifyWeeklyOvertimeDialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) {\r\n _submit = false;\r\n _overtimeCalculated = false;\r\n\r\n const url = `/TimeEntry/TimeEntry/ClearOverTime/${_employeeId}/${_weekEnd}`;\r\n Areas.sendRequest(url, null, \"POST\");\r\n return;\r\n } \r\n\r\n if (_submit) {\r\n submitConfirm();\r\n }\r\n else {\r\n _overtimeCalculated = true;\r\n getEmployeeOvertimeInformation(_employeeId, _weekEnd);\r\n }\r\n }\r\n \r\n export function getEmployeeOvertimeInformation(employeeId: number, weekEnd: Date) {\r\n\r\n _employeeId = employeeId;\r\n _weekEnd = weekEnd;\r\n\r\n $.ajax({\r\n url: \"/TimeEntry/TimeEntry/GetEmployeeOvertimeInformation\",\r\n method: \"POST\",\r\n data: { employeeId: _employeeId, weekEnd: _weekEnd },\r\n success: function (result) {\r\n\r\n if (result.hasOvertime === false) {\r\n const toastrOptions = { timeOut: 4000, positionClass: \"toast-top-full-width\", showMethod: \"show\" };\r\n toastr.info(\"All overtime hours have been calculated\", \"Info\", toastrOptions);\r\n\r\n if (_overtimeCalculated) {\r\n Areas.reloadPage();\r\n }\r\n }\r\n else {\r\n _submit = false;\r\n\r\n const parameters = {\r\n straightHours: result.straightHours,\r\n premiumHours: result.premiumHours,\r\n employeeId: _employeeId,\r\n weekEndDate: _weekEnd\r\n }\r\n\r\n var identifyWeeklyOvertimeDialog = new Areas.Dialogs.IdentifyWeeklyOvertime.IdentifyWeeklyOvertimeDialog(\r\n identifyWeeklyOvertimeDialogClosing, parameters);\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 export function weekClick(url: string) {\r\n return () => {\r\n window.location.href = url;\r\n }\r\n }\r\n\r\n export function calendarClick() {\r\n var calendarDialog = \r\n new Areas.Dialogs.Calendar.CalendarDialog(calendarDialogClosing);\r\n }\r\n\r\n function calendarDialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const date = Areas.getPreviousSundayFromDate(data.date);\r\n\r\n window.location.href = \"/Employee/Time/Index/\" + $('#EmployeeId').val() + \"?start=\" + date.format(\"YYYY-MM-DD\");\r\n }\r\n\r\n\r\n\r\n}\r\n"]}