Created
May 26, 2018 13:36
-
-
Save niniyzni/89afdcc7d77147141beb48c086f0f863 to your computer and use it in GitHub Desktop.
time.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core'; | |
import { SPORTSService } from '../../services/playeru.service'; | |
import { ProgressCircle } from '../shared/progress/progress-circle'; | |
import { Router } from '@angular/router'; | |
import { NetworkCarousel } from '../shared/content/network-carousel'; | |
import { KendoGridComponent } from '../grid/grid.component'; | |
import { markkConflictGridPopup } from './markk-conflict-popup'; | |
import { IMultiSelectSettings } from '../common/multiselect-dropdown'; | |
import { schedulingCablesService } from "./scheduling-cables-service"; | |
@Component({ | |
selector: 'markkBulkUpdate', | |
templateUrl: "./markk-bulk-update.html", | |
}) | |
export class markkBulkUpdate { | |
private selectedNetworkArr: any = { networkNo: -1, }; | |
private networkTempArray; | |
private networkObj = { "Label": "Networks", isHintShow: false }; | |
private markkBulkUpdateVal: any = { | |
networkNo: 237, | |
startDate: new Date(), | |
weekCount: 1, | |
endDate: '', | |
programName: '', | |
titleName: '', | |
markk: '', | |
action: "GO", | |
addOns: [ | |
'DOWNLINK_NETWORKS' | |
], | |
markkStartTime: '', | |
markkEndTime: '', | |
markkDuration: '' | |
} | |
private markkBulkUpdateLovs: any = { | |
markkNetworks: '' | |
} | |
public count1: number = 0; | |
private createPreferencesPopUpWindow; | |
private dynamicPropertyName: string; | |
private notThreeDotDisable = false; | |
private markkCheckBox: any = true; | |
public saveEnable = true; | |
private checkedRowsUID = []; | |
public multipleOf3 = false; | |
private totalAiringsCount = 0; | |
private isDisplayEdit = false; | |
private contextTitleBtn = false; | |
public contextDisableAllOpt = false; | |
public columnEditableOpt = false; | |
/*for Preferences */ | |
private tempset; | |
private metaAggregateCopy; | |
private preferenceData: any = []; | |
private preferenceName; | |
private disablePrefAddEdit = false; | |
private disablePrefSave = true; | |
private prefSelectedName: any = ''; | |
private gridDataAll: any = []; | |
private disablePrefAdd: any = false; | |
private disablePrefEdit: any = true; | |
private disablePrefClear: any = true; | |
private schedItemNo; | |
private scheduleName; | |
private allowEdit = false; | |
private isEditable = true; | |
public goBtnDataLossPopup = false; | |
private commonCastStaffData = {}; | |
private selectedRowsUID = []; | |
private selectAll: boolean; | |
private count: boolean = true; | |
private footerDisplay: boolean = false; | |
private isGoDisable: boolean = false; | |
private isValidDates: boolean = true; | |
private isValidTimes: boolean = true; | |
private startDateMandatoryClass: boolean = false; | |
private endDateMandatoryClass: boolean = false; | |
private goBtnEnableDisable: boolean = false; | |
private bulkKeys = []; | |
private ccRadioFlags = { | |
"locked": "editable", | |
"startDate": "editable", | |
"startTime": "editable", | |
"blockDuration": "editable", | |
"endTime": "editable", | |
"programName": "editable", | |
"programType": "editable", | |
"markkStartTime": "editable", | |
"actualEndTime": "editable", | |
"actualDuration": "editable", | |
"masterSeries": "editable", | |
"version": "editable", | |
"schedulingType": "editable", | |
"format": "editable", | |
"notes": "editable" | |
}; | |
private dataSourceVal = []; | |
private kendocommand = { | |
edit: { createAt: "bottom" }, | |
group: true, | |
reorder: true, | |
resize: true, | |
sort: true, | |
filter: { mode: "row,menu" }, | |
autoBind: false, | |
pager: { messages: { display: "Showing {0} to {1} of {2} entries" } }, | |
model: {}, | |
columns: [], | |
pagesize: 50, | |
//getComponentUrl:"admin/v1/lockedItems", | |
saveStatus: false, | |
excelfileUidName: "DownlinkUpdateExport", | |
contextMenuId: "context-SchedulesListEvents", | |
excelFileName: { | |
fileName: "ScheduleListExport", | |
allPages: true | |
}, | |
aggregate: [], | |
change: function (e) { | |
$('tr').find('[type=checkbox]').prop('checked', false); | |
$('tr.k-state-selected').find('[type=checkbox]').prop('checked', true); | |
}, | |
// getComponentUrl: "scheduling-Cables", | |
searchFields: [] | |
}; | |
private markkDataAPI: any = []; | |
private originalDataSource: any = []; | |
private colHeaderMenuArr = { | |
"columnMenu": { | |
"gridId": "", | |
"menu": { | |
"scheduleName": "Schedule Name", | |
"schedItemNo": "Schedule Item", | |
"startDate": "Schedule Item #", | |
"dayOfWeek": "Start Date", | |
"startTime": "Start Time", | |
"endTime": "End Time", | |
"feedName": "Feed Name", | |
"programName": "Program Name", | |
"actualStartTime": "Title #", | |
"actualEndTime": "Title Name", | |
"actualDuration": "Material ID", | |
"masterSeries": "Version Network", | |
"episode": "Downlink Flag", | |
"season": "Downlink Date", | |
"markkStartTime": "Downlink Start Time", | |
"markkDuration": "Downlink Duration", | |
"markkEndTime": "Downlink End Time", | |
"markkSource": "Downlink Source/Provider", | |
"notes": "Downlink Notes", | |
"hd": "HD", | |
"record": "Record", | |
"bug": "Bug", | |
"ticker": "Ticker", | |
"addedUser": "User Added", | |
"dateAdded": "Date Added", | |
"updatedUser": "User Updated", | |
"dateUpdated": "Date Updated" | |
} | |
} | |
}; | |
private timeInterval = 15; | |
private markkCombinedVal: any = { | |
networkNo: -1, | |
feeds: [], | |
scheduleIds: [], | |
masterSeries: '', | |
programName: '', | |
programTypeObj: { baseType: 'E' }, | |
startDate: new Date(), | |
weekCount: 1, | |
endDate: '', | |
startTime: '', | |
blockDuration: '', | |
endTime: '', | |
days: [0, 1, 2, 3, 4, 5, 6], | |
closedCaptioning: false, | |
des: false, | |
marketBlackOut: false, | |
actualStartTime: '', | |
actualDuration: '', | |
actualEndTime: '', | |
scheduleType: '', | |
tveStatus: '', | |
markkStartTime: '', | |
markkEndTime: '', | |
markkDuration: '', | |
markkDate: '', | |
markkSource: '', | |
markk: false, | |
bug: '', | |
ticker: '', | |
desNetworkObj: '', | |
sdDelivery: '', | |
HdDelivery: '', | |
Dbs: '', | |
action: "GO", | |
unlockSchedules: [], | |
networkStartSeconds: "" | |
} | |
private multiSettings: IMultiSelectSettings = { | |
checkedStyle: 'glyphicon', | |
showCheckAll: true, | |
showUncheckAll: true, | |
dynamicTitleMaxItems: 1000, | |
isAll: false | |
}; | |
private scheduleSelect = { | |
data: [], | |
texts: { defaultTitle: '' }, | |
selectSettings: this.multiSettings | |
}; | |
private getGridColumn: any = { | |
selectedRowId: null, | |
selectedRowIndex: null, | |
getColumns: [], | |
selectedRow: null | |
}; | |
private bulkCreateValDownlink: any = { | |
networkNo: 240, | |
preferenceType: "DLBulkUpdate", | |
startDate: new Date(), | |
endDate: '', | |
addOns: [ | |
'DOWNLINK_NETWORKS' | |
], | |
defaultHDOnDownlink: 'N', | |
unlockSchedules: [] | |
} | |
private bulkGridData; | |
private saveBtnEnableDisable = true; | |
private totalUpdates = 0; | |
private totalDeletes = 0; | |
private disableNoAirings = true; | |
private resetPreferenceContext; | |
public setInstance(gridHeaderMenu?: any) { | |
} | |
private goBtnReqPayload: any; | |
@ViewChild(KendoGridComponent) private gridkendo: KendoGridComponent; | |
@ViewChild(ProgressCircle) private progress: ProgressCircle; | |
@ViewChild(NetworkCarousel) private networkCarousel: NetworkCarousel; | |
@ViewChild(markkConflictGridPopup) private markkConflictGridPopup: markkConflictGridPopup; | |
columns: any = []; | |
isSaveDisableGrid: boolean; | |
isDisableApplyToAll: boolean; | |
isCancelDisableGrid: boolean; | |
constructor(private elementRef: ElementRef, private router: Router, private playeruService: SPORTSService, private scheduleCablesService: schedulingCablesService) { | |
this.isSaveDisableGrid = true; | |
this.isCancelDisableGrid = true; | |
this.isDisableApplyToAll = true; | |
this.columnsData.forEach((v) => { | |
this.columns.push(v); | |
}) | |
} | |
public columnsData = [ | |
{ airingProperty: "Context Row", airingPropertyParms: "contextRow", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "gridCheck", airingPropertyParms: "gridCheck", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "gridType", airingPropertyParms: "gridType", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "Schedule Name", airingPropertyParms: "scheduleName", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "Schedule Item #", airingPropertyParms: "schedItemNo", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "Start Date", airingPropertyParms: "scheduleStartDate", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "Start Time", airingPropertyParms: "scheduleStartTime", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "End Time", airingPropertyParms: "scheduleEndTime", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "Feed Name", airingPropertyParms: "feedName", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "Program Name", airingPropertyParms: "programName", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "Title #", airingPropertyParms: "titleNo", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "Title Name", airingPropertyParms: "titleName", readOnly: true, editable: false, editableDisabled: true, default: false, visible: true }, | |
{ airingProperty: "Material ID", airingPropertyParms: "matId", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "Version Network", airingPropertyParms: "versionNetwork", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "Downlink Flag", airingPropertyParms: "markk", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "DownLink Date", airingPropertyParms: "markkDate", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "Downlink Start Time", airingPropertyParms: "markkStartTime", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "Downlink Duration", airingPropertyParms: "markkDuration", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "Downlink End Time", airingPropertyParms: "markkEndTime", readOnly: true, editable: false, editableDisabled: true, default: false, visible: true }, | |
{ airingProperty: "Downlink Source/Provider", airingPropertyParms: "markkSource", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "Downlink Notes", airingPropertyParms: "markkNotes", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "HD", airingPropertyParms: "hd", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "Record", airingPropertyParms: "record", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "Bug", airingPropertyParms: "bug", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "Ticker", airingPropertyParms: "ticker", readOnly: false, editable: true, editableDisabled: false, default: false, visible: true }, | |
{ airingProperty: "User Added", airingPropertyParms: "addedUser", readOnly: true, editable: false, editableDisabled: true, default: false, visible: true }, | |
{ airingProperty: "Date Added", airingPropertyParms: "dateAdded", readOnly: true, editable: false, editableDisabled: true, default: false, visible: true }, | |
{ airingProperty: "User Updated", airingPropertyParms: "updatedUser", readOnly: true, editable: false, editableDisabled: true, default: false, visible: true }, | |
{ airingProperty: "Date Updated", airingPropertyParms: "dateUpdated", readOnly: true, editable: false, editableDisabled: true, default: false, visible: true } | |
]; | |
ngOnInit() { | |
this.disablePrefAdd = true; | |
let that = this; | |
$('body').css({ "padding-bottom": "80px" }); | |
this.loadView(); | |
this.resetPreferenceContext = jQuery.extend(true, {}, this.columns); | |
this.bulkContextMenu(); | |
if (window.sessionStorage.getItem('markkSessionSearch')) { | |
window.sessionStorage.getItem('markkSessionSearch'); | |
} | |
/*---Load Default Aggregators----*/ | |
this.loadAggregators(this.selectedNetworkArr.networkNo); | |
$('<div class="gridScrollIconsBox"><i class="fa fa-chevron-left previousGridColumns"></i><i class="fa fa-chevron-right nextGridColumns" ></i></div>').insertBefore('#titleSearchResults .k-grid-header'); | |
// search advanced toggle | |
let navHeaderHeight = $('.navHeaderBox').outerHeight(); | |
$('.breadCrumbBox').css('top', navHeaderHeight + 'px'); | |
$(document).ready(function () { | |
let curDocHeight = $(document).outerHeight(); | |
let navHeaderHeight = $('.navHeaderBox').outerHeight(true); | |
let breadCrumbHeight = $('.breadCrumbBox').outerHeight(true); | |
let showHideTopPos = breadCrumbHeight + navHeaderHeight; | |
$('.leftSlider').css({ 'top': (showHideTopPos + 6) + 'px' }); | |
$(".showHideIcon").click(function () { | |
$(".showHideInputBox").slideToggle(); | |
$('.showHideIcon').toggleClass('toggleShow'); | |
$('.leftSlider .leftSliderBox').css({ 'min-height': '' }); | |
setTimeout(function () { | |
let shrinkBoxHeight = $('.slideShrinkBox').outerHeight(true); | |
let kGridFooterHeight = $('.k-pager-wrap').outerHeight(true); | |
}, 500); | |
}); | |
$(".showHideLeftSliderBtn").click(function () { | |
let showHideTopPos = $('.breadCrumbBox').outerHeight() + $('.navHeaderBox').outerHeight(); | |
$('.leftSlider').css({ 'top': (showHideTopPos + 6) + 'px' }); | |
let winWidth = $(window).innerWidth(); | |
if (winWidth < 1025) { | |
$('.leftSlider').toggleClass('toggleShow'); | |
} else { | |
$('.leftSlider').toggleClass('shoHideMenuActive'); | |
} | |
$('.slideShrinkBox').toggleClass('active'); | |
}); | |
$(".leftSlider .panel-body > ul > li").click(function () { | |
$(".leftSlider .panel-body > ul > li").removeClass('active'); | |
$(this).addClass('active'); | |
}); | |
setTimeout(() => { }, 100); | |
}); | |
that.bulkKeys = ["scheduleName", "schedItemNo", "startDate", "dayOfWeek", "startTime", "blockDuration", "endTime", "programName", "programType", "actualStartTime", "actualEndTime", "actualDuration", "masterSeries", "titleName", "episode", "season", "version", "schedulingType", "format", "notes", "hd", "record", "scheduleItem", "title", "addedUser", "dateAdded", "updatedUser", "dateUpdated"]; | |
$('kendo-grid-template').on('change', '.unlockCheckbox', function () { | |
let rowStat = $(this).prop('checked'); | |
if (rowStat) { | |
that.selectedRowsUID.push($(this).closest('tr').attr('data-uid')); | |
// $(this).closest('tr').addClass("k-state-selected"); | |
$(this).closest('tr').attr('checked', "true"); | |
} else { | |
//$(this).closest('tr').removeClass("k-state-selected"); | |
$(this).closest('tr').attr('checked', "false"); | |
let currentUid = that.selectedRowsUID.indexOf($(this).closest('tr').attr('data-uid')); | |
that.selectedRowsUID.splice(currentUid, 1); | |
} | |
}); | |
$("#KendoGridView").on('change', '#unlockCheck', function () { | |
that.selectAll = $('#unlockCheck').prop('checked'); | |
var checkboxes: any = document.getElementsByClassName('gridCheckBox'); | |
let grid = that.gridkendo.getGrid(); | |
var gridData = grid.dataSource.data(); | |
if (that.selectAll) { | |
for (var i = 0; i < gridData.length; i++) { | |
gridData[i].gridCheck = true; | |
} | |
for (var i = 0; i < checkboxes.length; i++) { | |
checkboxes[i].checked = true; | |
} | |
$('.unlockCheckbox').prop('checked', 'checked'); | |
let grid = that.gridkendo.getGrid(); | |
let gridlen = grid.dataSource.data(); | |
that.totalAiringsCount = gridlen.length; | |
for (let i = 0; i < gridlen.length; i++) { | |
that.selectedRowsUID.push(gridlen[i].uid); | |
} | |
that.selectedRowsUID.length != 0; | |
} else { | |
for (var i = 0; i < gridData.length; i++) { | |
gridData[i].gridCheck = false; | |
} | |
for (var i = 0; i < checkboxes.length; i++) { | |
checkboxes[i].checked = false; | |
} | |
that.totalAiringsCount = 0; | |
$('.unlockCheckbox').removeAttr('checked'); | |
$('tr').removeClass("k-state-selected"); | |
that.selectAll = false; | |
that.selectedRowsUID = []; | |
} | |
}); | |
$("#markkStartTime").kendoTimePicker({ | |
format: "h:mm:ss tt", | |
interval: that.timeInterval, | |
parseFormats: ["HH:mm:ss"], | |
min: new Date(2000, 0, 1, 5, 0, 0), | |
max: new Date(2000, 0, 1, 5, 0, 0), | |
open: function () { | |
that.onTimeWidth('markkStartTime', that.timeInterval); | |
}, | |
change: function () { | |
} | |
}); | |
$("#kgrid").on("mousedown", ".k-grid-content tbody tr[role='row']:not(.rowDisabled)", function (e: any) { | |
e.stopPropagation(); | |
if (e.which === 3) { | |
let cellIndex = e.target.cellIndex; | |
if (cellIndex == undefined) { | |
cellIndex = $('#KendoGridView .k-grid-content td#KendoGridView_active_cell').index(); | |
} | |
let gview = that.gridkendo.getGrid(); | |
$("tr").removeClass("k-state-selected"); | |
$(this).addClass("k-state-selected"); | |
let selectedRow = gview.dataItem($(this)); | |
let selectRow = gview.select(); | |
let gridrow = gview.dataItem(selectRow); | |
if (e.target.id == "markkFlagCheck") { | |
cellIndex = 14; | |
} | |
if (e.target.id == "hdFlagCheck") { | |
cellIndex = 21; | |
} | |
if (e.target.id == "recordFlagCheck") { | |
cellIndex = 22; | |
} | |
if (e.target.id == "markkBugDropdown") { | |
cellIndex = 23; | |
} | |
if (e.target.id == "markkTickerDropdown") { | |
cellIndex = 24; | |
} | |
if (e.target.id == "markkSourceProvideDropdown") { | |
cellIndex = 19; | |
} | |
that.getGridColumn.getColumns = gview.columns; | |
that.getGridColumn.selectedRowIndex = cellIndex; | |
that.getGridColumn.selectedRow = selectedRow; | |
that.getGridColumn.selectedRowId = gridrow; | |
} | |
}); | |
// row col context menu | |
$("#context-menu").kendoContextMenu({ | |
target: "#KendoGridView", | |
filter: ".k-grid-content tbody tr[role='row']", | |
select: function (e) { | |
// handle event | |
let selectedMenuItem = $(e.item).children(".k-link").text(); | |
if (selectedMenuItem == "Apply Episodes") { | |
//that.openEpisode(that.getGridColumn.selectedRowId); | |
} else if (selectedMenuItem == "Apply Versions") { | |
//that.bulkApplyVersion(that.getGridColumn.selectedRowId); | |
} else if (selectedMenuItem == "Add New") { | |
// that.addNewRows(that.getGridColumn.selectedRowId); | |
} else if (selectedMenuItem == "Remove") { | |
// that.removeRows("Remove"); | |
} else if (selectedMenuItem == "Unscheduled Title") { | |
//that.unScheduleTitle("Unscheduled Title"); | |
} else if (selectedMenuItem == "Open Title") { | |
//that.openTitle(that.getGridColumn.selectedRowId); | |
} else { | |
let selectedColumn = that.getGridColumn.getColumns[that.getGridColumn.selectedRowIndex]; | |
let field = selectedColumn.field; | |
let value = that.getGridColumn.selectedRow[selectedColumn.field]; | |
that.applyValueToAllRow(field, value); | |
} | |
}, | |
activate: function (e) { }, | |
open: function (e) { | |
//setTimeout(function(){ | |
if (that.getGridColumn.getColumns.length && that.getGridColumn.getColumns[that.getGridColumn.selectedRowIndex] && that.getGridColumn.getColumns[that.getGridColumn.selectedRowIndex].title) { | |
that.dynamicPropertyName = that.getGridColumn.getColumns[that.getGridColumn.selectedRowIndex].title; | |
let columnField = that.getGridColumn.getColumns[that.getGridColumn.selectedRowIndex].field; | |
if (columnField == 'userAddedName') { | |
columnField = 'userAdded' | |
} | |
if (columnField == 'userUpdatedName') { | |
columnField = 'userUpdated' | |
} | |
let grid = that.gridkendo.getGrid(); | |
let editable = grid.dataSource.options.schema.model.fields[columnField].editable; | |
if (editable == true) { | |
that.columnEditableOpt = false; | |
} else { | |
that.columnEditableOpt = true; | |
} | |
} else { | |
that.dynamicPropertyName = ''; | |
that.contextDisableAllOpt = true; | |
} | |
if (that.getGridColumn.selectedRowId != undefined && (that.getGridColumn.selectedRowId.titleNo == null || that.getGridColumn.selectedRowId.titleNo == "")) { | |
that.contextTitleBtn = true; | |
} else { | |
that.contextTitleBtn = false; | |
} | |
that.hideContext(); | |
$(".context-menu").parent().css({ 'width': 'auto !important' }) | |
// },100); | |
} | |
}); | |
$("#KendoGridView tr.rowDisabled").on("mousedown contextmenu", function (e) { | |
e.stopPropagation(); | |
var contextMenu1 = $("#context-menu").data("kendoContextMenu"); | |
if (contextMenu1) { | |
contextMenu1.close($("#context-menu")); | |
} | |
return true; | |
}); | |
// row col context menu | |
setTimeout(function () { | |
$('#startTime_timeview li,#endTime_timeview li,#actualStartTime_timeview li,#actualEndTime_timeview li,#markkStartTime_timeview li,#markkEndTime_timeview li').css({ "float": "left", "width": 76, "font-size": "12px" }); | |
/*if(that.timeInterval==30){ | |
$('#startTime_timeview,#endTime_timeview,#actualStartTime_timeview,#actualEndTime_timeview,#markkStartTime_timeview,#markkEndTime_timeview').parent().css({"width":200}); | |
} else if(that.timeInterval==15){ | |
$('#startTime_timeview,#endTime_timeview,#actualStartTime_timeview,#actualEndTime_timeview,#markkStartTime_timeview,#markkEndTime_timeview').parent().css({"width":386}); | |
}else{ | |
}*/ | |
}, 100) | |
$("#KendoGridView tr.rowDisabled").on("mousedown contextmenu", function (e) { | |
e.stopPropagation(); | |
var contextMenu1 = $("#context-menu").data("kendoContextMenu"); | |
if (contextMenu1) { | |
contextMenu1.close($("#context-menu")); | |
} | |
return true; | |
}); | |
//; | |
$('#kgrid').on('click', '#markkFlagCheck', function () { | |
that.isSaveDisableGrid = false; | |
var checked = $(this).is(':checked'); | |
// $('#editIconDownlink').addClass("gridUpdateIcon"); | |
let grid = that.gridkendo.getGrid(); | |
var dataItem = grid.dataItem($(this).closest('tr')); | |
dataItem.dirty = true; | |
dataItem.set("dirty", true); | |
dataItem.set('checkedOutUserId', ""); | |
dataItem.operationType = "Update"; | |
if (checked) { | |
dataItem.isDataUpdated = true; | |
dataItem.markk = "Y"; | |
} | |
else { | |
dataItem.isDataUpdated = false; | |
dataItem.markk = "N"; | |
} | |
if (!(dataItem.updateflag != undefined && dataItem.updateflag == true)) { | |
dataItem.updateflag = true; | |
//that.totalUpdates++; | |
} | |
that.countingUpdates(); | |
}); | |
$('#kgrid').on('click', '#hdFlagCheck', function () { | |
that.isSaveDisableGrid = false; | |
var checked = $(this).is(':checked'); | |
let grid = that.gridkendo.getGrid(); | |
var dataItem = grid.dataItem($(this).closest('tr')); | |
dataItem.dirty = true; | |
dataItem.set("dirty", true); | |
dataItem.set('checkedOutUserId', ""); | |
dataItem.operationType = "Update"; | |
if (checked) { | |
dataItem.isDataUpdated = true; | |
dataItem.hd = "Y"; | |
} | |
else { | |
dataItem.isDataUpdated = false; | |
dataItem.hd = "N"; | |
} | |
if (!(dataItem.updateflag != undefined && dataItem.updateflag == true)) { | |
dataItem.updateflag = true; | |
//that.totalUpdates++; | |
} | |
that.countingUpdates(); | |
}); | |
$('#kgrid').on('click', '#recordFlagCheck', function () { | |
that.isSaveDisableGrid = false; | |
var checked = $(this).is(':checked'); | |
let grid = that.gridkendo.getGrid(); | |
var dataItem = grid.dataItem($(this).closest('tr')); | |
dataItem.dirty = true; | |
dataItem.set("dirty", true); | |
dataItem.set('checkedOutUserId', ""); | |
dataItem.operationType = "Update"; | |
if (checked) { | |
dataItem.isDataUpdated = true; | |
dataItem.record = "Y"; | |
} | |
else { | |
dataItem.isDataUpdated = false; | |
dataItem.record = "N"; | |
} | |
if (!(dataItem.updateflag != undefined && dataItem.updateflag == true)) { | |
dataItem.updateflag = true; | |
//that.totalUpdates++; | |
} | |
that.countingUpdates(); | |
}); | |
this.markkBulkUpdateVal.markk = ""; | |
this.multipleOf3 = true; | |
this.count1 = 0; | |
} | |
// loadAggregators(networkNo) { | |
// let data = {}; | |
// this.progress.requestStart(); | |
// this.playeruService.getResponse('schedules/v1/markkbulkupdate/', 'get', data) | |
// .subscribe(response => { | |
// this.markkBulkUpdateLovs = response.data | |
// this.setNetworks(response.data); | |
// this.checkboxDownlinkFlag(response.data); | |
// this.progress.requestEnd(); | |
// }, | |
// err => { | |
// this.progress.requestEnd(); | |
// }); | |
// } | |
loadAggregators(networkNo) { | |
let data = {}; | |
this.progress.requestStart(); | |
this.playeruService.getResponse('schedules/v1/markkbulkupdate/', 'get', data) | |
.subscribe(response => { | |
this.markkBulkUpdateLovs = response.data | |
//this.setNetworks(response.data); | |
this.checkboxDownlinkFlag(response.data); | |
var markkSessionStorageValue = JSON.parse(window.sessionStorage.getItem('markkSessionSearch')); | |
if (window.sessionStorage.getItem('markkSessionSearch')) { | |
this.setNetworksSession(markkSessionStorageValue.networkNo, response.data); | |
this.markkDataLoad(markkSessionStorageValue); | |
$("#startDate").val(markkSessionStorageValue.startDate); | |
$("#endDate").val(markkSessionStorageValue.endDate); | |
$("#weekNumber").val(markkSessionStorageValue.weekCount); | |
this.markkBulkUpdateVal.programName = markkSessionStorageValue.programName; | |
this.markkBulkUpdateVal.titleName = markkSessionStorageValue.titleName; | |
this.markkBulkUpdateVal.markk = markkSessionStorageValue.markk; | |
this.bulkCreateValDownlink.networkNo = markkSessionStorageValue.networkNo; | |
window.sessionStorage.getItem('markkSessionSearch'); | |
// if (this.scheduleCablesService.bulkCreateMetaVal) { | |
//this.bulkCreateVal = this.scheduleCablesService.bulkCreateMetaVal; | |
//this.scheduleCablesService.bulkCreateMetaVal = ''; | |
// this.goBtnServiceCall(); | |
} | |
else { | |
this.setNetworks(response.data); | |
} | |
this.progress.requestEnd(); | |
}, | |
err => { | |
this.progress.requestEnd(); | |
}); | |
} | |
clearBtnClick() { | |
this.loadAggregators(-1); | |
this.markkBulkUpdateVal.programName = ''; | |
this.markkBulkUpdateVal.titleName = ''; | |
this.markkBulkUpdateVal.weekCount = 1; | |
this.loadView(); | |
} | |
goBtnPayload() { | |
let reqPayload; | |
reqPayload = jQuery.extend(true, {}, this.markkBulkUpdateVal); | |
reqPayload.startDate = kendo.toString(reqPayload.startDate, 'MM/dd/yyyy'); | |
reqPayload.endDate = kendo.toString(reqPayload.endDate, 'MM/dd/yyyy'); | |
this.goBtnReqPayload = jQuery.extend(true, {}, reqPayload); | |
return reqPayload; | |
} | |
goBtnClick() { | |
this.goBtnServiceCall(); | |
} | |
ObjectKeyChange(key1: any, key2: any, object: any): any { | |
return object != null ? object.map(function (obj) { | |
obj["id"] = obj[key1]; | |
obj["name"] = obj[key2]; | |
delete obj[key1]; | |
delete obj[key2]; | |
return obj; | |
}) : []; | |
} | |
getDeafultSchedule(schedules) { | |
let filterSchedules = schedules.filter(scheduleObj => scheduleObj.default === true); | |
let mapSchedules = filterSchedules.map((schedule) => { | |
return schedule.scheduleNo; | |
}) | |
this.scheduleSelect.data = this.ObjectKeyChange("schedItemNo", "scheduleName", schedules); | |
this.markkCombinedVal.scheduleIds = mapSchedules; | |
} | |
goBtnServiceCall() { | |
//this.disabled = | |
this.totalUpdates = 0; | |
if ($('.preferenceName').val() == "") { | |
$('.okPreferences').attr('disabled', 'disabled'); | |
} | |
this.disablePrefAdd = false; | |
this.isCancelDisableGrid = false; | |
let weekcount = this.markkBulkUpdateVal.weekCount; | |
if (weekcount === undefined || weekcount === '' || true === isNaN(weekcount) || weekcount == 0 || weekcount === null) { | |
$("#weekNumber").val(1); | |
this.markkBulkUpdateVal.weekCount = 1; | |
} | |
let that = this; | |
this.progress.requestStart(); | |
let reqPayload = this.goBtnPayload(); | |
this.playeruService.getResponse("schedules/v1/markkbulkupdate/", "post", reqPayload).subscribe(response => { | |
this.bulkCreateValDownlink.unlockSchedules = jQuery.extend(true, [], this.markkCombinedVal.scheduleIds); | |
this.markkDataAPI = response.data.markks; | |
this.originalDataSource = response.data.markks; | |
this.gridDataLoad(); | |
this.lockedScheduleMsgShow(response.data.markkProps); | |
this.originalValueMethod(response.data.markks); | |
that.prefSelectedName = ''; | |
this.gridkendo.setscroll(); | |
this.progress.requestEnd(); | |
}, err => { this.progress.requestEnd(); }); | |
} | |
markkDataLoad(reqPayload) { | |
let that = this; | |
this.progress.requestStart(); | |
this.playeruService.getResponse("schedules/v1/markkbulkupdate/", "post", reqPayload).subscribe(response => { | |
this.bulkCreateValDownlink.unlockSchedules = jQuery.extend(true, [], this.markkCombinedVal.scheduleIds); | |
this.markkDataAPI = response.data.markks; | |
this.originalDataSource = response.data.markks; | |
this.gridDataLoad(); | |
this.lockedScheduleMsgShow(response.data.markkProps); | |
this.originalValueMethod(response.data.markks); | |
this.prefSelectedName = ''; | |
//this.gridkendo.setscroll(); | |
this.progress.requestEnd(); | |
this.isCancelDisableGrid = false; | |
}, err => { this.progress.requestEnd(); }); | |
} | |
originalValueMethod(data) { | |
return data; | |
} | |
saveGrid() { | |
this.isSaveDisableGrid = false; | |
let that = this; | |
this.progress.requestStart(); | |
let grid = that.gridkendo.getGrid(); | |
let tempData = grid.dataSource.data(); | |
let updatedData = tempData.filter((item) => { | |
return item.dirty; | |
}); | |
// console.log(updatedData); | |
let gridData = { | |
"networkNo": this.bulkCreateValDownlink.networkNo, | |
"updates": updatedData, | |
"originals": this.originalDataSource | |
}; | |
this.playeruService.getResponse("schedules/v1/markkbulkupdate/", "put", gridData).subscribe(response => { | |
this.saveResponseNotify(response.data); | |
this.progress.requestEnd(); | |
}, err => { | |
this.progress.requestEnd(); | |
}); | |
} | |
gridDataLoad() { | |
let that = this; | |
that.checkedRowsUID = []; | |
let grid = this.gridkendo.getGrid(); | |
grid.setOptions({ | |
dataBound: function (e) { | |
var gridData = e.sender.dataSource.data(); | |
that.onDataBound(e); | |
}, | |
columnReorder: function (e) { | |
if ($.trim(that.preferenceName) != undefined && $.trim(that.preferenceName) != "") { | |
that.disablePrefSave = false; | |
} | |
else { | |
that.disablePrefSave = true; | |
} | |
} | |
}); | |
this.gridkendo.reloadDataSource(this.markkDataAPI); | |
this.gridkendo.setContextMenu(); | |
that.totalAiringsCount = grid.dataSource.data().length | |
that.bulkContextMenu(); | |
that.bulkKeys = ["scheduleName", "schedItemNo", "startDate", "day", "startTime", "blockDuration", "endTime", "programName", "programType", "actualStartTime", "actualEndTime", "actualDuration", "seriesName", "titleName", "episodeNote", "seasonName", "versionName", "schedulingType", "formatName", "notes", "scheduleItem", "record", "hd", "title", "markkStartTime", "addedUser", "dateAdded", "updatedUser", "dateUpdated"]; | |
} | |
getGridLength(type) { | |
let that = this; | |
var totalRecords = 0; | |
var gridrecords = that.gridkendo.getGrid(); | |
var gridData = gridrecords.dataSource.data(); | |
if (type == 'Added') { | |
$.each(gridData, function (i, item) { | |
if (item.action == "Added") { | |
totalRecords = totalRecords + 1; | |
} | |
}); | |
} else { | |
$.each(gridData, function (i, item) { | |
if (item.action == "Delete") { | |
totalRecords = totalRecords + 1; | |
} | |
}); | |
} | |
return totalRecords; | |
} | |
private gridCancel() { | |
let that = this; | |
let grid = that.gridkendo.getGrid(); | |
let tempData = grid.dataSource.data(); | |
for (let i = 0; i < tempData.length; i++) { | |
if (tempData[i].dirty === true) { | |
let strMessage = 'Do you want to continue and lose existing changes?'; | |
$('#commonPopup .kPopUpTitle').text('COMPASS'); | |
$("#commonPopup .kendoContent").text(strMessage); | |
let dialogConfirm = $("#commonPopup").data("kendoWindow").center().open(); | |
$("#popupOK").unbind().click(function () { | |
that.isSaveDisableGrid = true; | |
that.isCancelDisableGrid = true; | |
let grid = that.gridkendo.getGrid(); | |
that.bulkGridData = []; | |
grid.dataSource.data([]); | |
that.totalAiringsCount = 0; | |
that.totalDeletes = 0; | |
that.totalUpdates = 0; | |
dialogConfirm.close(); | |
}); | |
$("#popupCancel").unbind().click(function () { | |
that.totalUpdates = 0; | |
dialogConfirm.close(); | |
}); | |
} | |
else { | |
let grid = that.gridkendo.getGrid(); | |
that.bulkGridData = []; | |
grid.dataSource.data([]); | |
that.isCancelDisableGrid = true; | |
} | |
} | |
} | |
loadPreference(networkNo) { | |
let data = {}; | |
this.progress.requestStart(); | |
let viewLoadPref = "DLBulkUpdate"; | |
this.playeruService.getResponse('authorization/v1/loadPreferences?networkNo=' + this.bulkCreateValDownlink.networkNo + "&preferenceType=" + viewLoadPref, 'get', data).subscribe(data => { | |
this.preferenceData = data; | |
this.progress.requestEnd(); | |
}, | |
err => { this.progress.requestEnd(); }); | |
} | |
ngAfterContentInit() { | |
$('.triggerGridScrollFunctions').trigger('click'); | |
//create preferences Popup | |
function onClosePop() { | |
$("html, body").css("overflow", ""); | |
} | |
this.createDialog("#createPreferencesPopup"); | |
this.createDialog("#commonPopup"); | |
this.lockedSchedulePopup("#lockedSchedulePopup"); | |
} | |
loadView() { | |
let that = this; | |
this.isSaveDisableGrid = true; | |
that.markkBulkUpdateVal.startDate = new Date(); | |
$("#overlaps0").prop("checked", true); | |
let navHeaderHeight = $('.navHeaderBox').outerHeight(); | |
$('.breadCrumbBox').css('top', navHeaderHeight + 'px'); | |
this.markkBulkUpdateVal.endDate = that.calculateEndDate(this.markkBulkUpdateVal.startDate, this.markkBulkUpdateVal.weekCount); | |
// start datepicker | |
$("#startDate").kendoDatePicker({ | |
min: new Date(1000, 0, 1), | |
max: new Date(3000, 11, 31), | |
formatName: "MM/dd/yyyy", | |
parseformatNames: ["MM/dd/yyyy"], | |
value: that.markkBulkUpdateVal.startDate, | |
open: function (e) { }, | |
change: function () { | |
let dateEntered = $("#startDate").val(); | |
if (this.value() !== null && dateEntered.length > 0) { | |
that.markkBulkUpdateVal.startDate = this.value(); | |
that.markkBulkUpdateVal.endDate = that.calculateEndDate(this.value(), that.markkBulkUpdateVal.weekCount); | |
let endDatePicker = $("#endDate").data("kendoDatePicker"); | |
endDatePicker.value(that.markkBulkUpdateVal.endDate); | |
} | |
that.markkvalidateSearch(); | |
} | |
}).on("keyup", function (e) { | |
that.startDateMandatoryClass = false; | |
that.goBtnEnableDisable = false; | |
if (!that.scheduleCablesService.isValidDate($(this).val())) { | |
that.startDateMandatoryClass = true; | |
that.goBtnEnableDisable = true; | |
that.markkvalidateSearch(); | |
} | |
}).on("focusout", function (e) { | |
if (that.scheduleCablesService.isValidDate($(this).val())) { | |
let tempDate = that.scheduleCablesService.setDate($(this).val()) | |
if (Date.parse(that.markkCombinedVal.startDate) !== Date.parse(tempDate)) { | |
let startDatePicker = $("#startDate").data("kendoDatePicker"); | |
that.markkCombinedVal.startDate = tempDate; | |
startDatePicker.value(tempDate); | |
// that.feedChange(); | |
that.markkvalidateSearch(); | |
} | |
} | |
}); | |
// end datepicker | |
$("#endDate").kendoDatePicker({ | |
min: new Date(1000, 0, 1), | |
max: new Date(3000, 11, 31), | |
formatName: "MM/dd/yyyy", | |
parseformatNames: ["MM/dd/yyyy"], | |
value: that.markkBulkUpdateVal.endDate, | |
change: function () { | |
let dateEntered = $("#endDate").val(); | |
if (this.value() !== null && dateEntered.length > 0) { | |
that.markkBulkUpdateVal.endDate = this.value(); | |
} | |
let end; | |
let start = $("#startDate").data("kendoDatePicker").value(); | |
end = this.value() ? this.value() : new Date(); | |
start = start ? start : new Date(); | |
let startDate = new Date(start); | |
let endDate = new Date(end); | |
startDate.setHours(0, 0, 0); | |
endDate.setHours(0, 0, 0); | |
if (endDate === undefined && (startDate.toString() === endDate.toString()) || (startDate < endDate)) { | |
let timeDiff = Math.abs(end.getTime() - start.getTime()); | |
let diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)); | |
let weekDiff = Math.floor(diffDays / 7) + 1; | |
that.markkBulkUpdateVal.weekCount = weekDiff; | |
} | |
that.markkvalidateSearch(); | |
} | |
}).on("keyup", function (e) { | |
that.endDateMandatoryClass = false; | |
that.goBtnEnableDisable = false; | |
if (!that.scheduleCablesService.isValidDate($(this).val())) { | |
that.endDateMandatoryClass = true; | |
that.goBtnEnableDisable = true; | |
that.markkvalidateSearch(); | |
} | |
}).on("focusout", function (e) { | |
if (that.scheduleCablesService.isValidDate($(this).val())) { | |
let tempDate = that.scheduleCablesService.setDate($(this).val()) | |
if (Date.parse(that.markkCombinedVal.endDate) !== Date.parse(tempDate)) { | |
let eDatePicker = $("#endDate").data("kendoDatePicker"); | |
that.markkCombinedVal.endDate = tempDate; | |
eDatePicker.value(tempDate); | |
//that.feedChange(); | |
that.markkvalidateSearch(); | |
} | |
} | |
}); | |
//; | |
$('#startDate').on('dblclick', function () { | |
let currentDate = new Date(); | |
$("#startDate").data("kendoDatePicker").value(currentDate); | |
$("#startDate").data("kendoDatePicker").trigger("change"); | |
}); | |
$('#endDate').on('dblclick', function () { | |
let currentDate = new Date(); | |
$("#endDate").data("kendoDatePicker").value(currentDate); | |
$("#endDate").data("kendoDatePicker").trigger("change"); | |
}); | |
$('#kgrid').on('click', '.checkBox', function () { | |
var checked = $(this).is(':checked'); | |
var grid = that.gridkendo.getGrid(); | |
var sel = grid.select(); | |
var cellIndex = $('#KendoGridView .k-grid-content td#KendoGridView_active_cell').index(); | |
var selItem = grid.columns[cellIndex + 1]; | |
var item = grid.dataItem(sel); | |
if (selItem.field == 'markk') { | |
//if(selItem.field=='markkFlag'){ | |
if (checked) { | |
item["markk"] = checked; | |
item["hd"] = checked; | |
item.set("record", checked); | |
} else { | |
item["markk"] = ''; | |
if (that.bulkCreateValDownlink.defaultHDOnDownlink == 'N') { | |
//if (that.bulkCreateLovs.defaultHDOnDownlink == 'N') { | |
item["hd"] = ''; | |
} | |
item.set("record", ''); | |
} | |
that.changeDownlinkAndScheduleType(item); | |
} | |
else { | |
if (checked) { | |
item.set(selItem.field, checked); | |
} else { | |
item.set(selItem.field, ''); | |
} | |
} | |
}); | |
this.markkBulkUpdateVal.markk = ""; | |
this.multipleOf3 = true; | |
this.count1 = 0; | |
this.kendocommand.model = { | |
id: "isSelected", | |
fields: { | |
contextRow: { editable: false }, | |
gridCheck: { type: "boolean", editable: false, filterable: false }, | |
gridType: { type: "boolean", editable: false, filterable: false }, | |
scheduleName: { type: "string", editable: false }, | |
schedItemNo: { type: "string", editable: false }, | |
scheduleStartDate: { type: "string", filterable: true, editable: false, }, | |
scheduleStartTime: { type: "string", editable: false }, | |
scheduleEndTime: { type: "string", editable: false }, | |
feedName: { type: "string", editable: false }, | |
programName: { type: "string", editable: false }, | |
titleNo: { type: "string", editable: false }, | |
titleName: { type: "string", editable: false }, | |
matId: { type: "string", editable: false }, | |
versionNetwork: { type: "string", editable: false }, | |
markk: { type: "string", editable: true }, | |
markkDate: { type: "string", editable: true }, | |
markkStartTime: { type: "dateTime", editable: true }, | |
markkDuration: { editable: true }, | |
markkEndTime: { type: "string", editable: true }, | |
markkSource: { type: "string", editable: true }, | |
markkNotes: { type: "string", editable: true }, | |
bug: { type: "string", editable: true }, | |
ticker: { type: "string", editable: true }, | |
hd: { type: "string", editable: true }, | |
record: { type: "string", editable: true }, | |
addedUser: { type: "string", editable: false }, | |
dateAdded: { type: "string", editable: false }, | |
updatedUser: { type: "string", editable: false }, | |
dateUpdated: { type: "string", editable: false } | |
} | |
}; | |
this.kendocommand.aggregate = [ | |
// { field: "networkName", aggregate: "count" }, | |
// { field: "name", aggregate: "count" }, | |
// { field: "feedName", aggregate: "count" }, | |
// { field: "statusName", aggregate: "count" }, | |
// { field: "description", aggregate: "count" }, | |
// { field: "detailsName", aggregate: "count" }, | |
{ field: "scheduleName", aggregate: "count" } | |
]; | |
this.kendocommand.columns = [ | |
{ | |
field: "contextRow", | |
template: "<span></span>", | |
//locked:true, | |
//template: "<span class='contextMenuRow'></span>", | |
width: 25, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
// {field:"contextRow",groupable:false,locked: true, editable:true, lockable: false, resizable:false, template: '<span class="contextMenuRow"></span>', width: 25 } | |
{ | |
filterable: false, | |
width: 30, | |
//<input type="checkbox" checked="checked" class="checkBox" /> | |
headerTemplate: '<span class="displayBlock"><input type="checkbox" checked="checked" id="unlockCheck" (click) = "masterCheckboxClick($event)" /></span>', | |
resizable: false, | |
sortable: false, | |
field: "gridCheck", | |
editable: false, | |
title: "Is Selected ", | |
//template:function(container){ return that.checkboxchecker(container,"isSelected")}, | |
//gridLockIcon | |
template: "<input type='checkbox' class='gridCheckBox'>", | |
attributes: { | |
style: "padding: 0 8px 0 12px;", | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, { | |
filterable: false, | |
width: 25, | |
resizable: false, | |
sortable: false, | |
field: "", | |
editable: false, | |
title: ' ', | |
template: "# if (dirty) { # <span class='eventType newEvent text-succcess'><span class='displayBlock gridUpdateIcon'></span></span> # }# #if(checkedOutUserId){# <span class='eventType newEvent text-succcess'><span class='displayBlock gridLockIcon'></span></span> # } #", | |
attributes: { | |
class: "pad0Imp #: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
// template: "# if (checkedOutUserId) { # <span class='eventType newEvent text-succcess'><span class='displayBlock gridLockIcon'></span></span> # } #", | |
// attributes: { | |
// class: "#: dirty ? 'displayBlock gridUpdateIcon' : ''#" | |
// }, | |
}, | |
// { | |
// field: "scheduleName", | |
// title: "Schedule Name", | |
// width: 200, | |
// editable: false, | |
// filterable: that.gridkendo.getAutoFilter("contains"), | |
// headerAttributes: { | |
// class: "multiCheckboxFilterEnabled" | |
// } | |
// // aggregates: ["count"], | |
// // groupHeaderTemplate: "Schedule Name: #= value # (#= count# item(s))", | |
// // filterable: that.gridkendo.getAutoFilterName("contains", "scheduleName"), | |
// // headerAttributes: { | |
// // class: "multiCheckboxFilterEnabled" | |
// // } | |
// } | |
{ | |
field: "scheduleName", title: "Schedule Name", width: 200, aggregates: ["count"], groupHeaderTemplate: "Schedule Name: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains") | |
, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "schedItemNo", title: "Schedule Item No.", aggregates: ["count"], groupHeaderTemplate: "Schedule Item: #= value # (#= count# item(s))", resizable: false, filterable: that.gridkendo.getAutoFilter("eq"), width: 170 | |
, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "scheduleStartDate", title: "Start Date", width: 120, aggregates: ["count"], groupHeaderTemplate: "Start Date: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains"), | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "scheduleStartTime", title: "Start Time", width: 115, aggregates: ["count"], groupHeaderTemplate: "Start Time: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains") | |
, | |
attributes: { | |
class: "textAlignRight #: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "scheduleEndTime", title: "End Time", width: 105, aggregates: ["count"], groupHeaderTemplate: "End Time: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains") | |
, | |
attributes: { | |
class: "textAlignRight #: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "feedName", title: "Feed Name", width: 115, aggregates: ["count"], groupHeaderTemplate: "Feed Name: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains") | |
, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "programName", title: "Program Name", width: 160, aggregates: ["count"], groupHeaderTemplate: "Program Name: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains") | |
, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "titleNo", title: "Title #", aggregates: ["count"], groupHeaderTemplate: "Title: #= value # (#= count# item(s))", resizable: false, filterable: that.gridkendo.getAutoFilter("eq"), width: 90 | |
, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "titleName", title: "Title Name", width: 200, aggregates: ["count"], groupHeaderTemplate: "Title Name: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains") | |
, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "matId", title: "Material ID", width: 120, aggregates: ["count"], groupHeaderTemplate: "Material ID: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains") | |
, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "versionNetwork", title: "Version Network", width: 165, aggregates: ["count"], groupHeaderTemplate: "Version Network: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains") | |
, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "markk", | |
title: "Downlink Flag", | |
width: 145, aggregates: ["count"], | |
groupHeaderTemplate: "Downlink Flag: #= value # (#= count# item(s))", | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
editable: true, | |
template: function downLinkFunc(markk) { | |
return that.downLinkCheckBox(markk, that); | |
} | |
, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
// { | |
// field: "markk", | |
// title: "Downlink Flag", | |
// filterable: that.gridkendo.getAutoFilter("contains"), | |
// //filterable: false, | |
// width: 160, | |
// resizable: false, | |
// //sortable: false, | |
// editable: true, | |
// template: function downLinkFunc(markk) { | |
// return that.downLinkCheckBox(markk, that); | |
// }, | |
// attributes: { | |
// class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
// } | |
// }, | |
{ | |
field: "markkDate", title: "Downlink Date", width: 145, aggregates: ["count"], groupHeaderTemplate: "Downlink Date: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains"), | |
template: function datefunction(markkDate) { | |
return that.markkDateTemplate(markkDate, that); | |
}, | |
editor: function (container, options) { | |
that.markkDateEditor(container, options, that); | |
}, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "markkStartTime", title: "Downlink Start Time", width: 185, aggregates: ["count"], groupHeaderTemplate: "Downlink Start Time: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains"), | |
template: function markkStartTime(markkStartTime) { | |
return that.markkStartTimeTemplate(markkStartTime, that); | |
}, | |
editor: function (container, options) { | |
return that.markkTimeEditor(container, options, that, "markkStartTime"); | |
}, | |
attributes: { | |
class: "textAlignRight #: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "markkDuration", title: "Downlink Duration", width: 175, aggregates: ["count"], groupHeaderTemplate: "Downlink Duration: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains"), | |
template: function markkDuration(markkDuration) { | |
return that.markkDurationTemplate(markkDuration, that); | |
}, | |
editor: function (container, options) { | |
return that.markkDurationEditor(container, options, that); | |
}, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "markkEndTime", title: "Downlink End Time", width: 172, aggregates: ["count"], groupHeaderTemplate: "Downlink End Time: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains"), | |
template: function markkEndTime(markkEndTime) { | |
return that.markkEndTimeTemplate(markkEndTime, that); | |
}, | |
// editor: function (container, options) { | |
// return that.markkTimeEditor(container, options, that, "markkEndTime"); | |
// }, | |
editor: function (container, options) { | |
that.gridkendo.getGrid().closeCell(container); | |
}, | |
attributes: { | |
class: "textAlignRight #: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "markkSource", title: "Downlink Source/Provider", width: 230, aggregates: ["count"], groupHeaderTemplate: "Downlink Source/Provider: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains"), | |
template: function sourcefunction(markkSource) { | |
return that.markkSourceTemplate(markkSource, that); | |
}, | |
editor: function (container, options) { | |
return that.markkSourceEditor(container, options, that); | |
}, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "markkNotes", title: "Downlink Notes", width: 200, aggregates: ["count"], groupHeaderTemplate: "Downlink Notes: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains"), | |
template: function inputFunc(markkNotes) { | |
return that.textboxTemplate(markkNotes, that, "markkNotes"); | |
}, | |
editor: function (container, options) { | |
return that.textboxEditor(container, options, that, "markkNotes"); | |
}, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "hd", title: "HD", editable: true, width: 65, aggregates: ["count"], groupHeaderTemplate: "HD: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains"), template: function hdFunc(hd) { | |
return that.hdCheckBox(hd, that); | |
}, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "record", title: "Record", editable: true, width: 97, aggregates: ["count"], groupHeaderTemplate: "Record: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains"), template: function recordFunc(record) { | |
return that.recordCheckBox(record, that); | |
}, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "bug", title: "Bug", width: 115, aggregates: ["count"], groupHeaderTemplate: "Bug: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains"), | |
template: function bugfunction(bug) { | |
return that.bugTemplate(bug, that); | |
}, | |
editor: function (container, options) { | |
return that.bugEditor(container, options, that); | |
}, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "ticker", title: "Ticker", width: 120, aggregates: ["count"], groupHeaderTemplate: "Ticker: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains"), | |
template: function tickerfunction(ticker) { | |
return that.tickerTemplate(ticker, that); | |
}, | |
editor: function (container, options) { | |
return that.tickerEditor(container, options, that); | |
}, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "addedUser", title: "User Added", width: 125, aggregates: ["count"], groupHeaderTemplate: "User Added: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains") | |
, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "dateAdded", title: "Date Added", width: 148, aggregates: ["count"], groupHeaderTemplate: "Date Added: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains") | |
, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "updatedUser", title: "User Updated", width: 137, aggregates: ["count"], groupHeaderTemplate: "User Updated: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains") | |
, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
} | |
}, | |
{ | |
field: "dateUpdated", title: "Date Updated", width: 180, aggregates: ["count"], groupHeaderTemplate: "Date Updated: #= value # (#= count# item(s))", filterable: that.gridkendo.getAutoFilter("contains") | |
, | |
attributes: { | |
class: "#: (checkedOutUserId !== undefined && checkedOutUserId !== null && checkedOutUserId !== '') ? 'rowDisabled' : ''#" | |
}, | |
template: function dateUpdatedFunction(dateUpdated) { | |
return that.dateUpdatedField(dateUpdated, that); | |
} | |
} | |
]; | |
} | |
changeDownlinkAndScheduleType(item) { | |
let that = this; | |
if (item["markkFlag"] && (item["schedProgTypeNo"] != null && item["schedProgTypeNo"] != '')) { | |
item["markkDate"] = item["startDate"]; | |
item["markkStartTime"] = item["startTime"]; | |
item["markkDuration"] = item["blockDuration"]; | |
item["markkEndTime"] = item["endTime"]; | |
item.set("markkDate", item["startDate"]); | |
$('#KendoGridView').data('kendoGrid').refresh(); | |
} | |
} | |
scheduleNameTemplate(scheduleName: any, that: any) { | |
let schName: any; | |
if (scheduleName.scheduleName != null && scheduleName.scheduleName != undefined) { | |
if (scheduleName.scheduleName == "") { | |
schName = "<i></i>"; | |
} else { | |
schName = "<i>" + scheduleName.scheduleName + "</i>"; | |
} | |
} else { | |
schName = "<i></i>"; | |
} | |
return schName; | |
} | |
scheduleNameEditor(container: any, options: any, that: any) { | |
let activeRow = that.gridkendo.selectedDotRow; | |
// let activeRow = that.gridkendo.getGridselectedRow(); | |
if (options.model.archiveFlag === "Y" || activeRow.statusName === "Approved") { | |
$("<label>" + options.model.scheduleName + "</label>").appendTo(container); | |
} else { | |
let input = $("<input name='name' class='scheduleNameField k-dirty-cell' maxLength='100' id='name'/>"); | |
input.appendTo(container); | |
$(".scheduleNameField").bind("input", function (e) { | |
let scheduleInputName = $(this).val(); | |
if (scheduleInputName != "") { | |
that.scheduleGridEmptyValidation(); | |
} else { | |
// $("ul.topBredcrumMenu > li:last-child > a").addClass("disabled"); | |
that.disableSavebutton = true; | |
} | |
//that.disableSavebutton = false; | |
that.disableOpenbutton = true; | |
$('#openButton').addClass('disabled'); | |
}); | |
} | |
} | |
getDefault(data: any) { | |
for (var i = 0; i < data.length; i++) { | |
if (data[i].hasOwnProperty("isDefault")) { | |
if (data[i].isDefault) | |
return data[i]; | |
break; | |
} | |
} | |
} | |
private dateUpdatedField(type: any, that: any) { | |
return type.dateUpdated.replace(/\.\d*/, ''); | |
} | |
/* Downlink checkbox template */ | |
private downLinkCheckBox(type: any, that: any) { | |
let value; | |
if (type.markk == "N" || type.markk == null || type.markk == undefined || type.markk == " " || type.markk == "") { | |
value = '<input type="checkbox" id = "markkFlagCheck" class="checkBox" />'; | |
} else if (type.markk == "Y") { | |
value = '<input type="checkbox" id = "markkFlagCheck" checked="checked" class="checkBox" />'; | |
} | |
return value; | |
} | |
private isDataUpdated(type: any, that: any) { | |
let value; | |
if (type.isDataUpdated != null) { | |
value = '<span id="editIconDownlink" class="displayBlock gridUpdateIcon"></span>'; | |
} | |
return value; | |
} | |
/* hd checkbox template */ | |
private hdCheckBox(type: any, that: any) { | |
let value; | |
if (type.hd == "N" || type.hd == null || type.hd == undefined || type.hd == " " || type.hd == "") { | |
value = '<input type="checkbox" id ="hdFlagCheck" class="checkBox" />'; | |
} else if (type.hd == "Y") { | |
value = '<input type="checkbox" id ="hdFlagCheck" checked="checked" class="checkBox" />'; | |
} | |
return value; | |
} | |
/* record checkbox template */ | |
private recordCheckBox(type: any, that: any) { | |
let value; | |
if (type.record == "N" || type.record == null || type.record == undefined || type.record == " " || type.record == "") { | |
value = '<input type="checkbox" id ="recordFlagCheck" class="checkBox" />'; | |
} else if (type.record == "Y") { | |
value = '<input type="checkbox" id ="recordFlagCheck" checked="checked" class="checkBox" />'; | |
} | |
return value; | |
} | |
private masterCheckboxClick(event: any) { | |
if (event.target.checked) { | |
} | |
} | |
/* notes template column */ | |
private textboxTemplate(note: any, that: any, field: any): any { | |
if (field == 'markkNotes') { | |
if (note.markkNotes == undefined || note.markkNotes == null || note.markkNotes == "") { | |
note.markkNotes = ""; | |
return note.markkNotes; | |
} else { | |
return note.markkNotes; | |
} | |
} | |
} | |
/* notes template editor column */ | |
private textboxEditor(container, options, that, field): any { | |
this.isSaveDisableGrid = false; | |
let grid = that.gridkendo.getGrid(); | |
let selectRow = grid.select(); | |
let gridrow = grid.dataItem(selectRow); | |
gridrow.dirty = true; | |
gridrow.set("dirty", true); | |
gridrow.set('checkedOutUserId', ""); | |
//that.totalUpdates++; | |
this.rowDotMenuClick("true"); | |
//let grid = this.gridkendo.getGrid(); | |
if (options.field == 'userAddedName') { options.field = 'userAdded'; } | |
if (options.field == 'userUpdatedName') { options.field = 'userUpdated'; } | |
let editable = grid.dataSource.options.schema.model.fields[options.field].editable; | |
if (field == 'markkNotes') { | |
if (editable == false) { | |
$('<span>' + options.model.markkNotes + '</span>' + '</span>').appendTo(container); | |
} else { | |
var input = $('<input type="text" class="commentText" data-bind="value:' + options.field + '"/>'); | |
input.appendTo(container); | |
} | |
} | |
that.countingUpdates(); | |
} | |
checkboxDownlinkFlag(data: any) { | |
let that = this; | |
} | |
setNetworks(data: any) { | |
let that = this; | |
let tempObj = {}; | |
let defauktNetworkNOData = data.markkNetworks.find((elem) => { return elem.isDefault; }); | |
tempObj['networkNo'] = defauktNetworkNOData.networkNo; | |
tempObj['networkName'] = defauktNetworkNOData.networkName; | |
this.networkTempArray = []; | |
this.networkTempArray.push(tempObj); | |
let networksdata = data.markkNetworks; | |
let networksDataList = this.networkTempArray; | |
this.markkBulkUpdateVal.networkNo = defauktNetworkNOData.networkNo; | |
let selectedNetwork = networksdata.find(elem => elem.networkNo == defauktNetworkNOData.networkNo); | |
this.selectedNetworkArr = selectedNetwork; | |
this.networkCarousel.setNetworkData(networksdata, networksDataList, defauktNetworkNOData.networkNo); | |
$("#networkCarouselLabel .networkHint").css("display", "none"); | |
setTimeout(function () { | |
$("#unSelectedNetworksLogoBox1 .currentNwLogo").bind("click", function (e) { | |
e.stopPropagation(); | |
that.singleSelection(data, e); | |
}); | |
}, 100); | |
} | |
setNetworksSession(networkNo: any, data: any) { | |
let that = this; | |
let tempObj = {}; | |
let defauktNetworkNOData; | |
if (networkNo) { | |
defauktNetworkNOData = data.markkNetworks.find((elem) => { return elem.networkNo === +networkNo; }); | |
} else { | |
defauktNetworkNOData = data.markkNetworks.find((elem) => { return elem.isDefault; }); | |
} | |
tempObj['networkNo'] = defauktNetworkNOData.networkNo; | |
tempObj['networkName'] = defauktNetworkNOData.networkName; | |
this.networkTempArray = []; | |
this.networkTempArray.push(tempObj); | |
let networksdata = data.markkNetworks; | |
let networksDataList = this.networkTempArray; | |
this.markkBulkUpdateVal.networkNo = defauktNetworkNOData.networkNo; | |
let selectedNetwork = networksdata.find(elem => elem.networkNo == defauktNetworkNOData.networkNo); | |
this.selectedNetworkArr = selectedNetwork; | |
this.networkCarousel.setNetworkData(networksdata, networksDataList, defauktNetworkNOData.networkNo); | |
$("#networkCarouselLabel .networkHint").css("display", "none"); | |
setTimeout(function () { | |
$("#unSelectedNetworksLogoBox1 .currentNwLogo").bind("click", function (e) { | |
e.stopPropagation(); | |
that.singleSelection(data, e); | |
}); | |
}, 100); | |
} | |
networksEvent(data: any) { | |
let network = this.networkCarousel.getselectedNetworkID(); | |
let selectedNetworkId = data.networkData; | |
} | |
singleSelection(data, e: any) { | |
this.networkCarousel.getClearNetworks(); | |
this.networkCarousel.networkLogoClick(e); | |
var getSelect = this.networkCarousel.getselectedNetwork(); | |
let networksdata = data.markkNetworks; | |
let selectedNetwork = networksdata.find(elem => elem.networkNo == getSelect[0].networkNo); | |
this.markkBulkUpdateVal.networkNo = getSelect[0].networkNo; | |
this.selectedNetworkArr = selectedNetwork; | |
} | |
markkvalidateSearch() { | |
let that = this; | |
let isValidDate = true; | |
let isValidTime = true; | |
this.isValidDates = false; | |
let startDate = $('#startDate').data("kendoDatePicker").value(); | |
let endDate = $('#endDate').data("kendoDatePicker").value(); | |
if (!startDate || !endDate) { | |
this.isValidDates = false; | |
} | |
else { | |
startDate.setHours(0, 0, 0); | |
endDate.setHours(0, 0, 0); | |
if (startDate.toString() == endDate.toString()) { | |
this.isValidDates = true; | |
$('#endDate').closest('.formRow').removeClass('mandatoryField'); | |
$('#endDate').closest('.formRow').attr({ "title": "" }); | |
//that.scheduleService.datevalidate(false); | |
} | |
else { | |
if (startDate < endDate) { | |
this.isValidDates = true; | |
$('#endDate').closest('.formRow').removeClass('mandatoryField'); | |
$('#endDate').closest('.formRow').attr({ "title": "" }); | |
//that.scheduleService.datevalidate(false); | |
} | |
else { | |
$('#endDate').closest('.formRow').addClass('mandatoryField'); | |
$('#endDate').closest('.formRow').attr({ "title": "Start date can't be grater than end date " }); | |
//that.scheduleService.datevalidate(true); | |
this.isValidDates = false; | |
} | |
} | |
} | |
if (isValidDate && isValidTime && this.markkCombinedVal.days.length > 0) { | |
return this.goBtnEnableDisable = false; | |
} else { return this.goBtnEnableDisable = true; } | |
// this.goBtnEnableDisable(); | |
} | |
setDate(date: any) { | |
let setDate = ""; | |
let numberOnly = /^[0-9]*$/; | |
if (numberOnly.test(date) && date.length == 8) { | |
let dateSplit = date.split(""); | |
let dateFormat = "" | |
for (var i = 0; i < dateSplit.length; i++) { | |
if (i == 2 || i == 4) | |
dateFormat = dateFormat + '/'; | |
dateFormat = dateFormat + dateSplit[i]; | |
} | |
var parsedDate = Date.parse(dateFormat); | |
if (!isNaN(parsedDate)) { | |
setDate = kendo.toString(new Date(parsedDate), "MM/dd/yyyy"); | |
} | |
else { | |
setDate = kendo.toString(new Date(), "MM/dd/yyyy"); | |
} | |
} | |
else if (date.length != 0) { | |
setDate = kendo.toString(new Date(), "MM/dd/yyyy"); | |
} | |
return setDate; | |
} | |
checkboxchecker(container, fieldName: any): any { | |
if ((this.selectedRowsUID.indexOf(container.uid) != -1) || this.selectAll) { | |
container.isSelected = true; | |
return '<input type="checkbox" checked="checked" style="display:block;" class="textAligncenter unlockCheckbox" #= fieldName ? \'checked="checked"\' : "false" #= fieldName/>'; | |
} else { | |
this.count = true; | |
container.isSelected = false; | |
return '<input type="checkbox" style="display:block;" class="textAligncenter unlockCheckbox" #= fieldName ? \'checked="checked"\' : "false" #= fieldName/>'; | |
} | |
} | |
checkboxcheckerLocker(container, fieldName: any): any { | |
if ((this.selectedRowsUID.indexOf(container.uid) != -1) || this.selectAll) { | |
container.isSelected = true; | |
return '<input type="checkbox" checked="checked" style="display:block;" class="textAligncenter lockCheckbox" #= ' + fieldName + ' ? \'checked="checked"\' : "false" #= ' + fieldName + '/>'; | |
} else { | |
this.count = true; | |
container.isSelected = false; | |
return '<input type="checkbox" style="display:block;" class="textAligncenter lockCheckbox" #= ' + fieldName + ' ? \'checked="checked"\' : "false" #= ' + fieldName + '/>'; | |
} | |
} | |
private gridPageSize(value): void { | |
this.gridkendo.gridPageSizeChange(value); | |
} | |
private gridTemplate(options: any, fieldName: any, mandatory: any) { | |
let value = options[fieldName]; | |
if (options[fieldName] == null || options[fieldName] == undefined) { | |
value = ""; | |
options[fieldName] = " "; | |
} | |
options[fieldName + "FilterRowId"] = value; | |
return value; | |
} | |
/*==================================================================== | |
=================== kendo grid template editor======================== | |
======================================================================*/ | |
/* From Date Template */ | |
private fromDateTemplate(fromDate: any, that: any): any { | |
let dateValue = ""; | |
fromDate.currentTab = "airFormatList"; | |
fromDate.categoryDescription = "Format"; | |
if (fromDate.startDate == undefined || fromDate.startDate == null || fromDate.startDate == "") { | |
//dateValue = "<i></i>" | |
dateValue = "" | |
return dateValue; | |
} | |
if (fromDate.startDate != null && fromDate.startDate != undefined && fromDate.startDate != "") { | |
let myDate = new Date(fromDate.startDate); | |
dateValue = (myDate.getMonth() + 1) + "/" + myDate.getDate() + "/" + myDate.getFullYear(); | |
return dateValue; | |
} | |
} | |
/*Set Value*/ | |
setValue(event, options, netName): void { | |
let value = event; | |
let selGrid = this.gridkendo.getGridselectedRow(); | |
if (!value) { | |
selGrid.set("dirty", true); | |
} | |
selGrid.set(netName, value); | |
} | |
/* Downlink Date Template */ | |
private markkDateTemplate(type: any, that: any): any { | |
let dateValue = ""; | |
if (type.markkDate == undefined || type.markkDate == null || type.markkDate == "") { | |
type.markkDate = "" | |
return type.markkDate; | |
} else { | |
let myDate = new Date(type.markkDate); | |
dateValue = (myDate.getMonth() + 1) + "/" + myDate.getDate() + "/" + myDate.getFullYear(); | |
return dateValue; | |
} | |
} | |
/* Downlink date Editor */ | |
private markkDateEditor(container, options, that): any { | |
this.isSaveDisableGrid = false; | |
let grid = that.gridkendo.getGrid(); | |
let selectRow = grid.select(); | |
let gridrow = grid.dataItem(selectRow); | |
gridrow.dirty = true; | |
gridrow.set("dirty", true); | |
gridrow.set('checkedOutUserId', ""); | |
// let grid = that.gridkendo.getGrid(); | |
// var dataItem = grid.dataItem($(this).closest('tr')); | |
// dataItem["dirty"] = true; | |
// //dataItem.dirty = true; | |
// dataItem.operationType = "Update"; | |
gridrow.dirty = true; | |
//let grid = this.gridkendo.getGrid(); | |
let editable = grid.dataSource.options.schema.model.fields[options.field].editable; | |
if (editable == false) { | |
// dataItem.isDataUpdated = false; | |
$('<span>' + options.model.markkDate + '</span>').appendTo(container); | |
} else { | |
// dataItem.isDataUpdated = true; | |
var input = $('<input data-bind="value:' + options.field + '"/>'); | |
input.appendTo(container) | |
.kendoDatePicker({ | |
formatName: "MM/dd/yyyy", | |
parseformatNames: "MM/dd/yyyy", | |
open: function (e) { | |
}, | |
change: function (e) { | |
//let that = this; | |
let grid = that.gridkendo.getGrid(); | |
let selectRow = grid.select(); | |
let gridrow = grid.dataItem(selectRow); | |
let setDate = ""; | |
if (options.model.markkDate) { | |
setDate = kendo.toString(new Date(options.model.markkDate), "MM/dd/yyyy"); | |
} | |
that.setValue(setDate, "", options.field); | |
if (!(gridrow.updateflag != undefined && gridrow.updateflag == true)) { | |
gridrow.updateflag = true; | |
//that.totalUpdates++; | |
} | |
that.countingUpdates(); | |
// that.validateOverlap(setDate, selectRow, 'markkDate'); | |
} | |
}); | |
var datePicker = input.data("kendoDatePicker"); | |
} | |
} | |
/* Date Editor for grid */ | |
dateEditor(container, options, that): any { | |
this.isDisplayEdit = true; | |
if (options.model.archiveFlag == "Y") { | |
switch (options.field) { | |
case "startDate": | |
$('<label>' + options.model.startDate + '</label>').appendTo(container); | |
break; | |
case "to": | |
$('<label>' + options.model.to + '</label>').appendTo(container); | |
break; | |
} | |
} else { | |
var input = $('<input data-bind="value:' + options.field + '"/>'); | |
input.appendTo(container) | |
.kendoDatePicker({ | |
format: "MM/dd/yyyy", | |
parseFormats: "MM/dd/yyyy", | |
open: function (e) { | |
switch (options.field) { | |
case "startDate": | |
if (options.model.to) { | |
datePicker.max(options.model.to); | |
} | |
break; | |
case "to": | |
if (options.model.startDate) { | |
datePicker.min(options.model.startDate); | |
} | |
break; | |
} | |
}, | |
change: function (e) { | |
let grid = that.gridkendo.getGrid(); | |
let gridrow = grid.dataItem(grid.select()); | |
let setDate = ""; | |
switch (options.field) { | |
case "startDate": | |
if (options.model.startDate) { | |
setDate = kendo.toString(new Date(options.model.startDate), "MM/dd/yyyy"); | |
if (options.model.to) { | |
if (new Date(options.model.startDate) > new Date(options.model.to)) { | |
setDate = ""; | |
} | |
} | |
} | |
break; | |
case "to": | |
if (options.model.to) { | |
setDate = kendo.toString(new Date(options.model.to), "MM/dd/yyyy"); | |
if (options.model.startDate) { | |
if (new Date(options.model.startDate) > new Date(options.model.to)) { | |
setDate = ""; | |
} | |
} | |
} | |
break; | |
} | |
that.setValue(setDate, "", options.field); | |
that.enableSave(); | |
} | |
}); | |
var datePicker = input.data("kendoDatePicker"); | |
} | |
} | |
/* kendo grid for start date: Adding Date and Time pickers methods */ | |
private startTimeTemplate(time: any, that: any): any { | |
if (time.startTime == undefined || time.startTime == null || time.startTime == "") { | |
time.startTime = ""; | |
return time.startTime; | |
} | |
else { | |
console.log("gridDataAll bugTemplate--->", that.gridDataAll); | |
} | |
} | |
/* Start Time Editor */ | |
private startTimeEditor(container, options, that) { | |
let grid = that.gridkendo.getGrid(); | |
let selectRow = grid.select(); | |
let gridrow = grid.dataItem(selectRow); | |
gridrow.dirty = true; | |
if (options.model.archiveFlag == "Y") { | |
$('<label>' + options.model.startTime + '</label>').appendTo(container); | |
} else { | |
$('<input name="' + options.field + '"/>').appendTo(container).kendoTimePicker({ | |
format: "hh:mm:ss tt", parseFormats: ["hh:mm:ss tt"], value: new Date(), | |
change: function (e) { | |
let grid = that.gridkendo.getGrid(); | |
let gridrow = grid.dataItem(grid.select());//that.gridkendo.getGridselectedRow(); | |
let setTime = ""; | |
if (this.value() != null) { | |
setTime = kendo.toString(new Date(this.value()), "hh:mm:ss tt"); | |
} | |
gridrow.set("startTime", setTime); | |
gridrow.trigger("change"); | |
that.enableSave(); | |
} | |
}); | |
} | |
} | |
/* kendo grid for end date: Adding Date and Time pickers methods */ | |
private endTimeTemplate(time: any, that: any): any { | |
if (time.endTime == undefined || time.endTime == null || time.endTime == "") { | |
time.endTime = "05:00:00 AM"; | |
return "05:00:00 AM"; | |
} else { | |
return time.endTime; | |
} | |
} | |
/* End Time Editor */ | |
private endTimeEditor(container, options, that) { | |
let grid = that.gridkendo.getGrid(); | |
let selectRow = grid.select(); | |
let gridrow = grid.dataItem(selectRow); | |
gridrow.dirty = true; | |
if (options.model.archiveFlag == "Y") { | |
$('<label>' + options.model.endTime + '</label>').appendTo(container); | |
} else { | |
$('<input name="' + options.field + '"/>').appendTo(container).kendoTimePicker({ | |
format: "hh:mm:ss tt", parseFormats: ["hh:mm:ss tt"], value: new Date(2011, 0, 1, 5, 0, 0, 0), | |
change: function (e) { | |
let grid = that.gridkendo.getGrid(); | |
let gridrow = grid.dataItem(grid.select()); | |
let setTime = ""; | |
if (this.value() != null) { | |
setTime = kendo.toString(new Date(this.value()), "hh:mm:ss tt"); | |
} | |
gridrow.set("endTime", setTime); | |
gridrow.trigger("change"); | |
that.enableSave(); | |
} | |
}); | |
} | |
} | |
/* Downlink duration template */ | |
private markkDurationTemplate(type: any, that: any): any { | |
if (type.markkDuration == undefined || type.markkDuration == null || type.markkDuration == "" || type.markkDuration == "-1") { | |
type.markkDuration = ""; | |
return "00:00"; | |
} | |
else { | |
return type.markkDuration; | |
} | |
} | |
/* Downlink end time template*/ | |
private markkEndTimeTemplate(type: any, that: any): any { | |
if (type.markkEndTime == undefined || type.markkEndTime == null || type.markkEndTime == "") { | |
type.markkEndTime = ""; | |
return ""; | |
} | |
else { | |
return type.markkEndTime; | |
} | |
} | |
/* Downlink Duration Editor*/ | |
private markkDurationEditor(container, options, that) { | |
this.isSaveDisableGrid = false; | |
let grid = that.gridkendo.getGrid(); | |
let selectRow = grid.select(); | |
let gridrow = grid.dataItem(selectRow); | |
gridrow.dirty = true; | |
gridrow.set("dirty", true); | |
gridrow.set('checkedOutUserId', ""); | |
//let grid = this.gridkendo.getGrid(); | |
let editable = grid.dataSource.options.schema.model.fields[options.field].editable; | |
if (editable == false) { | |
$('<span>' + options.model.markkDuration + '</span>').appendTo(container); | |
} else { | |
$('<input name="' + options.field + '"/>').appendTo(container).kendoMaskedTextBox({ | |
mask: "00:00", | |
promptChar: "0", | |
value: options.model.markkDuration, | |
change: function (e) { | |
} | |
}).on("keyup", function (e) { | |
let grid = that.gridkendo.getGrid(); | |
let gridrow = grid.dataItem(grid.select()); | |
let markkEndTimeInx: number = 0; | |
grid.columns.find(function (v, i) { | |
if (grid.columns[i].field == 'markkDuration') { | |
markkEndTimeInx = i - 1; | |
} | |
}); | |
if (!that.validateDurationError($(this).val())) { | |
grid.tbody.find("tr[data-uid='" + gridrow.uid + "']").find("td:eq( " + markkEndTimeInx + " )").removeClass('mandatoryField'); | |
let markkstartTime = that.convertTo24Hour(gridrow.markkStartTime); | |
let endTimeDuration = that.addTimes(markkstartTime, $(this).val()); | |
gridrow.set("markkEndTime", endTimeDuration); | |
if ($(this).val() == "") { | |
gridrow.set("markkDuration", "00:00"); | |
} | |
} else { | |
grid.tbody.find("tr[data-uid='" + gridrow.uid + "']").find("td:eq( " + markkEndTimeInx + " )").addClass('mandatoryField'); | |
} | |
gridrow.trigger("change"); | |
if (!(gridrow.updateflag != undefined && gridrow.updateflag == true)) { | |
gridrow.updateflag = true; | |
//that.totalUpdates++; | |
} | |
that.countingUpdates(); | |
}); | |
} | |
} | |
validateDurationError(value) { | |
if ("00:00" !== value) { | |
let checkVal = value.split(":"); | |
let chkVal = 23; | |
let isError = (parseInt(checkVal[0]) > chkVal) ? true : (parseInt(checkVal[1]) > 59) ? true : false; | |
if (isError) { | |
console.log("add error class"); | |
} | |
return isError; | |
} | |
} | |
/* product template method:For displaying and editing days field */ | |
private productTemplate(proType: any, that: any): any { | |
if (that.programList) { | |
for (let i = 0; i < that.programList.length; i++) { | |
if (proType.programType == undefined || proType.programType == null || proType.programType == "") { | |
proType.programType = "product1"; | |
return "product1"; | |
} else if (that.programList[i].program == proType.programType) { | |
let data = that.programList[i].name; | |
let value = "<i>" + data + "</i>"; | |
return value; | |
} | |
} | |
} | |
} | |
/* productEditor method:For displaying and editing product field */ | |
private productEditor(container, options, that) { | |
this.rowDotMenuClick("true"); | |
if (options.model.archiveFlag == "Y") { | |
$('<label>' + options.model.programType + '</label>').appendTo(container); | |
} else { | |
let input = $('<input name="' + options.field + '" class="k-input" />').appendTo(container); | |
input.kendoComboBox(that.kendoComboBoxOptionProgramEditor).appendTo(container); | |
$('.k-input-readonly').prop('readonly', true); | |
} | |
} | |
//markkSourceTemplate | |
/* Bug template */ | |
private markkSourceTemplate(type: any, that: any): any { | |
if (type.markkSource == undefined || type.markkSource == null || type.markkSource == "") { | |
type.markkSource = ""; | |
return type.markkSource; | |
} else { | |
var sType = that.gridDataAll.DOWNLINK_SOURCE == undefined ? [] : that.gridDataAll.DOWNLINK_SOURCE; | |
var sValue = ''; | |
var sTypeBug = sType.find(elem => elem.propertyListValueID == type.markkSource); | |
if (sTypeBug) { | |
return sValue = sTypeBug.propertyListValue; | |
} | |
} | |
} | |
// /* Bug template editor */ | |
private markkSourceEditor(container, options, that) { | |
this.isSaveDisableGrid = false; | |
let grid = that.gridkendo.getGrid(); | |
let selectRow = grid.select(); | |
let gridrow = grid.dataItem(selectRow); | |
gridrow.dirty = true; | |
gridrow.set("dirty", true); | |
gridrow.set('checkedOutUserId', ""); | |
this.rowDotMenuClick("true"); | |
let editable = true; | |
if (!editable) { | |
$('<span id="markkSourceProvideDropdown">' + options.model.markkSource + '</span>').appendTo(container); | |
} else { | |
if (!(gridrow.updateflag != undefined && gridrow.updateflag == true)) { | |
gridrow.updateflag = true; | |
//that.totalUpdates++; | |
} | |
that.countingUpdates(); | |
var sType = that.gridDataAll.DOWNLINK_SOURCE == undefined ? [] : that.gridDataAll.DOWNLINK_SOURCE; | |
var input = $('<input data-text-field="propertyListValue" data-value-field="propertyListValueID" data-bind="value:' + options.field + '"/>'); | |
input.appendTo(container) | |
.kendoComboBox({ | |
dataSource: sType, | |
dataTextField: "propertyListValue", | |
dataValueField: "propertyListValueID", | |
valuePrimitive: true | |
}); | |
} | |
} | |
/* Bug template */ | |
private bugTemplate(type: any, that: any): any { | |
if (type.bug == undefined || type.bug == null || type.bug == "") { | |
type.bug = ""; | |
return type.bug; | |
} else { | |
var sType = that.gridDataAll.BUG == undefined ? [] : that.gridDataAll.BUG; | |
var sValue = ''; | |
var sTypeBug = sType.find(elem => elem.propertyListValueID == type.bug); | |
if (sTypeBug) { | |
return sValue = sTypeBug.propertyListValue; | |
} | |
} | |
} | |
/* Bug template editor */ | |
private bugEditor(container, options, that) { | |
this.isSaveDisableGrid = false; | |
let grid = that.gridkendo.getGrid(); | |
let selectRow = grid.select(); | |
let gridrow = grid.dataItem(selectRow); | |
gridrow.dirty = true; | |
gridrow.set("dirty", true); | |
gridrow.set('checkedOutUserId', ""); | |
this.rowDotMenuClick("true"); | |
let editable = true; | |
if (!editable) { | |
$('<span id="markkBugDropdown">' + options.model.bug + '</span>').appendTo(container); | |
} else { | |
if (!(gridrow.updateflag != undefined && gridrow.updateflag == true)) { | |
gridrow.updateflag = true; | |
//that.totalUpdates++; | |
} | |
that.countingUpdates(); | |
var sType = that.gridDataAll.BUG; | |
var input = $('<input data-text-field="propertyListValue" data-value-field="propertyListValueID" data-bind="value:' + options.field + '"/>'); | |
input.appendTo(container) | |
.kendoComboBox({ | |
dataSource: sType, | |
dataTextField: "propertyListValue", | |
dataValueField: "propertyListValueID", | |
valuePrimitive: true | |
}); | |
} | |
} | |
/* ticker template */ | |
private tickerTemplate(type: any, that: any): any { | |
if (type.ticker == undefined || type.ticker == null || type.ticker == "") { | |
type.ticker = ""; | |
return type.ticker; | |
} else { | |
var sType = that.gridDataAll.TICKER == undefined ? [] : that.gridDataAll.TICKER; | |
var sValue = ''; | |
var sTypeTicker = sType.find(elem => elem.propertyListValueID == type.ticker); | |
if (sTypeTicker) { | |
return sValue = sTypeTicker.propertyListValue; | |
} | |
} | |
} | |
/* ticker template editor */ | |
private tickerEditor(container, options, that) { | |
this.isSaveDisableGrid = false; | |
let grid = that.gridkendo.getGrid(); | |
let selectRow = grid.select(); | |
let gridrow = grid.dataItem(selectRow); | |
gridrow.dirty = true; | |
gridrow.set("dirty", true); | |
gridrow.set('checkedOutUserId', ""); | |
this.rowDotMenuClick("true"); | |
let editable = true; | |
if (!editable) { | |
$('<span id="markkTickerDropdown">' + options.model.ticker + '</span>').appendTo(container); | |
} else { | |
if (!(gridrow.updateflag != undefined && gridrow.updateflag == true)) { | |
gridrow.updateflag = true; | |
//that.totalUpdates++; | |
} | |
that.countingUpdates(); | |
var sType = that.gridDataAll.TICKER; | |
var input = $('<input data-text-field="propertyListValue" data-value-field="propertyListValueID" data-bind="value:' + options.field + '"/>'); | |
input.appendTo(container) | |
.kendoComboBox({ | |
dataSource: sType, | |
dataTextField: "propertyListValue", | |
dataValueField: "propertyListValueID" | |
}); | |
} | |
} | |
/* For displaying and editing days field */ | |
private dayTemplate(day: any, that: any): any { | |
if (that.dayList) { | |
for (let i = 0; i < that.dayList.length; i++) { | |
if (day.dayOfWeek == undefined || day.dayOfWeek == null || day.dayOfWeek == "") { | |
day.dayOfWeek = "Monday"; | |
return "Monday"; | |
} | |
else if (that.dayList[i].day == day.dayOfWeek) { | |
let data = that.dayList[i].name; | |
let value = "<i>" + data + "</i>"; | |
return value; | |
} | |
} | |
} | |
} | |
/* dayEditor method:For displaying and editing days field */ | |
private dayEditor(container, options, that) { | |
this.rowDotMenuClick("true"); | |
if (options.model.archiveFlag == "Y") { | |
$('<label>' + options.model.dayOfWeek + '</label>').appendTo(container); | |
} else { | |
let input = $('<input name="' + options.field + '" class="k-input" />').appendTo(container); | |
input.kendoComboBox(that.kendoComboBoxOptionDayEditor).appendTo(container); | |
$('.k-input-readonly').prop('readonly', true); | |
//that.enableSave(); | |
} | |
} | |
/* Downlink start time template */ | |
private markkStartTimeTemplate(type: any, that: any): any { | |
if (type.markkStartTime == undefined || type.markkStartTime == null || type.markkStartTime == "") { | |
type.markkStartTime = ""; | |
return ""; | |
} | |
else { | |
return type.markkStartTime; | |
} | |
} | |
private markkTimeEditor(container, options, that, timeType) { | |
this.isSaveDisableGrid = false; | |
let grid = that.gridkendo.getGrid(); | |
let selectRow = grid.select(); | |
let gridrow = grid.dataItem(selectRow); | |
gridrow.dirty = true; | |
gridrow.set("dirty", true); | |
gridrow.set('checkedOutUserId', ""); | |
// let grid = that.gridkendo.getGrid(); | |
// var dataItem = grid.dataItem($(this).closest('tr')); | |
// dataItem.dirty = true; | |
// dataItem.operationType = "Update"; | |
//let grid = this.gridkendo.getGrid(); | |
let editable = grid.dataSource.options.schema.model.fields[options.field].editable; | |
if (editable == false) { | |
//dataItem.isDataUpdated = false; | |
if (timeType == "markkStartTime") { | |
$('<span>' + options.model.markkStartTime + '</span>').appendTo(container); | |
} else { | |
$('<span>' + options.model.markkEndTime + '</span>').appendTo(container); | |
} | |
} else { | |
//dataItem.isDataUpdated = true; | |
if (timeType == "markkStartTime") { | |
var defaultVal = options.model.markkStartTime; | |
} else { | |
var defaultVal = options.model.markkEndTime; | |
} | |
var blockSnapTimeInterval = that.blockSnapTimeInterval; | |
$('<input name="' + options.field + '"/>').appendTo(container).kendoTimePicker({ | |
format: "hh:mm tt", parseFormats: ["hh:mm tt"], value: defaultVal, min: new Date(2000, 0, 1, 6, 0, 0), | |
max: new Date(2000, 0, 1, 6, 0, 0), interval: blockSnapTimeInterval, | |
change: function (e) { | |
let grid = that.gridkendo.getGrid(); | |
let gridrow = grid.dataItem(grid.select()); | |
let setTime = ""; | |
let markkEndTimeInx: number = 0; | |
grid.columns.find(function (v, i) { | |
if (grid.columns[i].field == 'markkEndTime') { | |
markkEndTimeInx = i - 1; | |
} | |
}); | |
if (this.value() != null) { | |
setTime = kendo.toString(new Date(this.value()), "hh:mm tt"); | |
} | |
if (timeType == "markkStartTime") { | |
let markkDuration = ""; | |
if (gridrow.markkDuration == "") { | |
markkDuration = gridrow.blockDuration; | |
gridrow.set("markkDuration", gridrow.blockDuration); | |
} | |
gridrow.set("markkStartTime", setTime); | |
let markkStartTime = that.convertTo24Hour(setTime); | |
let endTime = that.addTimes(markkStartTime, gridrow.markkDuration); | |
gridrow.set("markkEndTime", endTime); | |
// if (that.validateStartEndTime(setTime, endTime)) { | |
// gridrow.set("markkStartTime", setTime); | |
// gridrow.set("markkEndTime", endTime); | |
// } else { | |
// gridrow.set(timeType, this.options.value); | |
// that.gridkendo.setdialog("Cannot span across", "ok", null); | |
// return; | |
// } | |
} /* else { | |
gridrow.set("markkEndTime", setTime); | |
let startval = that.convertTo24Hour(gridrow.markkStartTime); | |
let endval = that.convertTo24Hour(gridrow.markkEndTime); | |
let differ = that.TimeDifference(endval, startval); | |
if (parseInt(startval) < parseInt(endval)) { | |
grid.tbody.find("tr[data-uid='" + gridrow.uid + "']").find("td:eq( " + markkEndTimeInx + " )").removeClass('mandatoryField'); | |
gridrow.set("markkDuration", differ); | |
} else { | |
grid.tbody.find("tr[data-uid='" + gridrow.uid + "']").find("td:eq( " + markkEndTimeInx + " )").addClass('mandatoryField'); | |
} | |
} */ | |
gridrow.trigger("change"); | |
if (!(gridrow.updateflag != undefined && gridrow.updateflag == true)) { | |
gridrow.updateflag = true; | |
//that.totalUpdates++; | |
} | |
that.countingUpdates(); | |
} | |
}); | |
} | |
} | |
scheduleNotesEditor(container: any, options: any, that: any) { | |
let activeRow = that.gridkendo.selectedDotRow; | |
if (options.model.archiveFlag === "Y" || activeRow.statusName === "Approved") { | |
$("<label class='notesToolTip'><span title='" + options.model.description + "'>" + options.model.description + "</span></label>").appendTo(container); | |
} else { | |
$('<input name="' + options.field + '" class="k-input-readonly"/>').appendTo(container); | |
$("#notesDialogFeed").kendoWindow({ | |
title: false, | |
width: "650px", | |
visible: false, | |
resizable: false, | |
draggable: false, | |
actions: false, | |
modal: true, | |
open: function (e) { $("html, body").css("overflow", "hidden"); }, | |
close: function (e) { $("html, body").css("overflow", ""); }, | |
activate: function () { | |
$('#notesData').focus(); | |
} | |
}); | |
let dialog = $("#notesDialogFeed").data("kendoWindow").center().open(); | |
let notes = options.model.description; | |
if (options.model.description != null) { | |
notes = options.model.description | |
} else { | |
notes = ""; | |
} | |
$(".notesDatacls").val(notes); | |
$(".notestOkCls").unbind().click(function () { | |
dialog.close(); | |
let grid = that.gridkendo.getGrid(); | |
let selectedRow = that.gridkendo.getGridselectedRow(); | |
let notesVal = $(".notesDatacls").val() | |
if (selectedRow) { | |
let currentcell = grid.tbody.find(".k-edit-cell"); | |
selectedRow.set("description", $.trim(notesVal)); | |
grid.editCell(currentcell.next()); | |
grid.closeCell(currentcell); | |
if (selectedRow.dirty == true) { | |
that.enableSave(); | |
that.disableSavebutton = false; | |
that.disableOpenbutton = true; | |
} | |
} | |
$(".notesToolTip").kendoTooltip({ filter: "span[title]" }); | |
}); | |
$("#notesCancel").unbind().click(function () { | |
dialog.close(); | |
let grid = that.gridkendo.getGrid(); | |
let currentcell = grid.tbody.find(".k-edit-cell"); | |
grid.editCell(currentcell.next()); | |
grid.closeCell(currentcell); | |
$(".notesToolTip").kendoTooltip({ filter: "span[title]" }); | |
//that.enableSave(); | |
}); | |
} | |
} | |
rowDotMenuClick(values: any): void { | |
let that = this; | |
if (values.selectedMenuItem == 'Delete') { | |
let strMessage = 'Are you sure you want to delete the selected schedule?'; | |
this.gridkendo.gridDeleteRow(values.Selectedrow, strMessage); | |
} | |
} | |
onTimeWidth(id, interval) { | |
setTimeout(function () { | |
let split = 1; | |
if (interval == 30) { | |
split = 2; | |
} else if (interval == 15) { | |
split = 4; | |
} | |
$('.k-animation-container').find('.k-list-container ul#' + id + '_timeview').parent().addClass('timeSplit' + split); | |
$('.k-animation-container').find('.k-list-container ul#' + id + '_timeview').parent().parent().addClass('timeSplit' + split); | |
$('#' + id + '_timeview li').css({ "float": "left", "width": 76, "font-size": "12px" }); | |
}, 200); | |
} | |
/* Calculates week count based on start and end date */ | |
calculateEndDate(givenDate, weekCount) { | |
let weekDaysCount = parseInt(weekCount) * 7; | |
weekDaysCount = weekDaysCount - 1; | |
let newDate = new Date(givenDate.getFullYear(), givenDate.getMonth(), givenDate.getDate() + weekDaysCount); | |
return newDate; | |
} | |
// handleWeek(newValue) { | |
// if (newValue) { | |
// let SelectedStartDate = this.markkBulkUpdateVal.startDate; | |
// if (SelectedStartDate === undefined || SelectedStartDate === null) { | |
// SelectedStartDate = new Date(); | |
// } | |
// this.markkBulkUpdateVal.endDate = this.calculateEndDate(SelectedStartDate, this.markkBulkUpdateVal.weekCount); | |
// $("#endDate").data("kendoDatePicker").value(this.markkBulkUpdateVal.endDate); | |
// this.validateSearch(); | |
// } | |
// } | |
handleWeek(e) { | |
let newValue: any = $("#weekNumber").val(); | |
if (newValue == null || newValue === undefined || true === isNaN(newValue) || newValue.trim() === "") { | |
$("#weekNumber").val(1); | |
newValue = 1; | |
this.markkBulkUpdateVal.weekCount = 1; | |
console.log("this.markkBulkUpdateVal.weekCount---->" + this.markkBulkUpdateVal.weekCount); | |
} | |
let SelectedStartDate = this.markkBulkUpdateVal.startDate; | |
if (SelectedStartDate === undefined || SelectedStartDate === null) { | |
SelectedStartDate = new Date(); | |
} | |
this.markkBulkUpdateVal.endDate = this.calculateEndDate(SelectedStartDate, this.markkBulkUpdateVal.weekCount); | |
$("#endDate").data("kendoDatePicker").value(this.markkBulkUpdateVal.endDate); | |
// this.validateSearch(); | |
} | |
updateEditOrReadonly(changeEditOrRead: any): void { | |
let that = this; | |
this.ccRadioFlags = { | |
"locked": changeEditOrRead.locked, | |
"startDate": changeEditOrRead.startDate, | |
"startTime": changeEditOrRead.startTime, | |
"blockDuration": changeEditOrRead.blockDuration, | |
"endTime": changeEditOrRead.endTime, | |
"programName": "false", | |
"programType": changeEditOrRead.programType, | |
"markkStartTime": "false", | |
"actualEndTime": changeEditOrRead.actualEndTime, | |
"actualDuration": changeEditOrRead.actualDuration, | |
"masterSeries": changeEditOrRead.masterSeries, | |
"version": changeEditOrRead.version, | |
"schedulingType": changeEditOrRead.schedulingType, | |
"format": changeEditOrRead.format, | |
"notes": changeEditOrRead.notes | |
}; | |
let grid = that.gridkendo.getGrid(); | |
let data = grid.dataSource.at(0); | |
data.fields["startDate"].editable = this.ccRadioFlags.startDate == "editable" ? true : false; | |
data.fields["startTime"].editable = this.ccRadioFlags.startTime == "editable" ? true : false; | |
data.fields["blockDuration"].editable = this.ccRadioFlags.blockDuration == "editable" ? true : false; | |
data.fields["endTime"].editable = this.ccRadioFlags.endTime == "editable" ? true : false; | |
data.fields["programName"].editable = this.ccRadioFlags.programName == "editable" ? true : false; | |
data.fields["programType"].editable = this.ccRadioFlags.programType == "editable" ? true : false; | |
data.fields["markkStartTime"].editable = this.ccRadioFlags.markkStartTime == "editable" ? true : false; | |
data.fields["actualEndTime"].editable = this.ccRadioFlags.actualEndTime == "editable" ? true : false; | |
data.fields["actualDuration"].editable = this.ccRadioFlags.actualDuration == "editable" ? true : false; | |
data.fields["masterSeries"].editable = this.ccRadioFlags.masterSeries == "editable" ? true : false; | |
data.fields["version"].editable = this.ccRadioFlags.version == "editable" ? true : false; | |
data.fields["schedulingType"].editable = this.ccRadioFlags.schedulingType == "editable" ? true : false; | |
data.fields["format"].editable = this.ccRadioFlags.format == "editable" ? true : false; | |
data.fields["notes"].editable = this.ccRadioFlags.notes == "editable" ? true : false; | |
} | |
private generateUUID(): any { | |
let d = new Date().getTime(); | |
let uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { | |
let r = (d + Math.random() * 16) % 16 | 0; | |
d = Math.floor(d / 16); | |
return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16); | |
}); | |
return uuid; | |
}; | |
private exportFile(): void { | |
let fileNameUID = this.kendocommand.excelfileUidName + "_" + this.generateUUID() + ".xls"; | |
let gridData = this.gridkendo._dataSource._data; | |
let gridColumns = this.gridkendo.getGrid().columns; | |
let showExcelColums: string[] = []; | |
for (let i = 3; i < gridColumns.length; i++) { | |
if (gridColumns[i].hidden != true) { | |
showExcelColums.push(gridColumns[i].field); | |
} | |
} | |
let columns = [ | |
{ autoWidth: true }, | |
{ autoWidth: true }, | |
{ autoWidth: true }, | |
{ autoWidth: true }, | |
{ autoWidth: true }, | |
{ autoWidth: true }, | |
{ autoWidth: true }, | |
{ autoWidth: true }, | |
{ autoWidth: true }, | |
{ autoWidth: true }, | |
{ autoWidth: true }, | |
{ autoWidth: true }, | |
{ autoWidth: true }, | |
{ autoWidth: true }, | |
{ autoWidth: true } | |
]; | |
let cells: any[] = []; | |
let rows: any[] = []; | |
for (let i = 0; i < showExcelColums.length; i++) { | |
cells.push( | |
{ value: showExcelColums[i], hAlign: "left", color: "#FFFFFF", background: "#808080" } | |
); | |
} | |
rows.push({ cells: cells }); | |
let gridDataValue = this.gridkendo._dataSource._data; | |
let gridDataLength = this.gridkendo._dataSource._data.length; | |
for (let i = 0; i < gridDataLength; i++) { | |
let gridDataLevel2Value = gridDataValue[i].licenseDTO; | |
if ((gridDataLevel2Value == null) || (gridDataLevel2Value.length == 0)) { | |
cells = []; | |
for (let k = 0; k < showExcelColums.length; k++) { | |
cells.push( | |
{ value: gridDataValue[i][showExcelColums[k]], hAlign: "left", color: "", background: "" } | |
); | |
} | |
rows.push({ cells: cells }); | |
} | |
else { | |
let gridDataLevel2Length = gridDataValue[i].licenseDTO.length; | |
for (let j = 0; j < gridDataLevel2Length; j++) { | |
let gridDataLevel3Value = gridDataLevel2Value[j].amortizationDTO; | |
let gridDataLevel3Length = gridDataLevel2Value[j].amortizationDTO.length; | |
for (let k = 0; k < gridDataLevel3Length; k++) { | |
let tempa = (gridDataLevel2Value[j].licenseFeeType == "License Fee") ? gridDataLevel3Value[k].amortizationTemplate : ""; | |
let tempameth = (gridDataLevel2Value[j].licenseFeeType === "License Fee") ? "" : gridDataLevel3Value[k].amortizationMethod; | |
let efDate = (parseFloat(gridDataLevel2Value[j].licenseFee) != 0) ? gridDataLevel3Value[k].effectiveDate : ""; | |
rows.push({ | |
cells: [ | |
{ value: this.scheduleName, hAlign: "left", color: "", background: "" }, | |
{ value: this.schedItemNo, hAlign: "left", color: "", background: "" }, | |
{ value: gridDataValue[i].titleName, hAlign: "left", color: "", background: "" }, | |
{ value: gridDataValue[i].titleId, hAlign: "left", color: "", background: "" }, | |
{ value: gridDataValue[i].titleType, hAlign: "left", color: "", background: "" }, | |
{ value: gridDataLevel2Value[j].licenseFee, hAlign: "left", color: "", background: "" }, | |
{ value: gridDataLevel2Value[j].licenseFeeType, hAlign: "left", color: "", background: "" }, | |
{ value: gridDataLevel2Value[j].notes, hAlign: "left", color: "", background: "" }, | |
{ value: gridDataLevel2Value[j].licenseFeeNo, hAlign: "left", color: "", background: "" }, | |
{ value: gridDataLevel3Value[k].network, hAlign: "left", color: "", background: "" }, | |
{ value: gridDataLevel3Value[k].allocation, hAlign: "left", color: "", background: "" }, | |
{ value: tempameth, hAlign: "left", color: "", background: "" },//gridDataLevel3Value[k].amortizationMethod | |
{ value: (tempa == null) ? "" : tempa, hAlign: "left", color: "", background: "" }, | |
{ value: gridDataLevel3Value[k].notes, hAlign: "left", color: "", background: "" }, | |
{ value: gridDataLevel3Value[k].effectiveDate, hAlign: "left", color: "", background: "" } | |
] | |
}) | |
} | |
} | |
} | |
} | |
let workbook = new kendo.ooxml.Workbook({ | |
sheets: [ | |
{ | |
freezePane: { | |
rowSplit: 1 | |
}, | |
columns: columns, | |
rows: rows | |
} | |
] | |
}); | |
kendo.saveAs({ dataURI: workbook.toDataURL(), fileName: fileNameUID }); | |
//this.progress.requestEnd(); | |
} | |
private gridValidate() { | |
let that = this; | |
var rowData = []; | |
var grid = that.gridkendo.getGrid(); | |
var gridData = grid.dataSource.data(); | |
$.each(gridData, function (k, v) { | |
if (gridData[k].duplicateRow == true) { | |
rowData.push(gridData[k]); | |
} | |
}); | |
if (rowData.length == 0) { | |
that.enableSave(false); | |
this.gridkendo.setdialog('No validation errors or warnings', "ok", null); | |
} | |
else { | |
that.enableSave(true); | |
} | |
} | |
public threeState(event) { | |
if (event.target.checked) { | |
this.markkBulkUpdateVal.markk = true; | |
} else { | |
this.markkBulkUpdateVal.markk = false; | |
} | |
this.count1 = this.count1 + 1; | |
if (this.count1 % 3 == 0) { | |
this.markkBulkUpdateVal.markk = ""; | |
this.multipleOf3 = true; | |
} else { | |
this.multipleOf3 = false; | |
} | |
} | |
changePreference(event) { | |
let that = this; | |
let value = event.target.value; | |
let grid = this.gridkendo.getGrid(); | |
if (value != '') { | |
that.preferenceName = value; | |
that.disablePrefAdd = true; | |
that.disablePrefEdit = false; | |
that.disablePrefClear = false; | |
//that.disablePrefSave = false; | |
/* selected pref details */ | |
let prefData = that.preferenceData; | |
/* end */ | |
let getPrefList = prefData.find(elem => elem.preferenceName == value); | |
if (getPrefList) { | |
that.preferenceSetting(getPrefList.preferenceList); | |
} | |
} else { | |
that.disablePrefAdd = false; | |
that.disablePrefEdit = true; | |
that.disablePrefClear = true; | |
that.resetColumns(grid); | |
that.columns = Object.keys(this.resetPreferenceContext).map(i => this.resetPreferenceContext[i]); | |
//this.metaAggregateCopy.changeColumns = Object.keys(this.resetPreferenceContext).map(i => this.resetPreferenceContext[i]); | |
this.gridCustomization(); | |
} | |
} | |
resetColumns(grid) { | |
let columnData = this.columns; | |
for (var i = 0; i < grid.options.columns.length; i++) { | |
var field = grid.options.columns[i].field; | |
if (i >= 3) { | |
columnData[i].visible = true; | |
grid.options.columns[i].visible = true; | |
grid.options.columns[i].hidden = false; | |
grid.showColumn(columnData[i].airingPropertyParms); | |
} | |
for (var j = 0; j < grid.columns.length; j++) { | |
//grid.columns[j].visible = true; | |
if (grid.columns[j].field == field) { | |
grid.reorderColumn(i, grid.columns[j]); | |
} | |
break; | |
} | |
} | |
} | |
gridCustomization() { | |
let that = this; | |
let columnData = that.columns; | |
//let columnData = this.metaAggregateCopy.changeColumns; | |
that.changeColsProperty(); | |
let grid = this.gridkendo.getGrid(); | |
let gridLen = grid.dataSource.data().length | |
let colLen = columnData.length; | |
for (let j = 3; j < grid.columns.length; j++) { | |
if (grid.columns[j].field != undefined) { | |
grid.hideColumn(grid.columns[j].field); | |
} | |
} | |
// show and hide | |
for (var i = 0; i < colLen; i++) { | |
/* if(columnData[i].airingPropertyParms=='programType'){ | |
columnData[i].airingPropertyParms='programTypeNo'; | |
} | |
if(columnData[i].airingPropertyParms=='scheduleTypeNo'){ | |
columnData[i].airingPropertyParms='schedProgTypeNo'; | |
} | |
if(columnData[i].airingPropertyParms=='userAdded'){ | |
columnData[i].airingPropertyParms='userAddedName'; | |
} | |
if(columnData[i].airingPropertyParms=='userUpdated'){ | |
columnData[i].airingPropertyParms='userUpdatedName'; | |
} | |
console.log('cols => '+columnData[i].airingPropertyParms);*/ | |
//Default ->true AND Visible -> true | |
//show in grid and hide in right click | |
if (columnData[i].default == true && columnData[i].visible == true) { | |
grid.showColumn(columnData[i].airingPropertyParms); | |
} | |
//Default ->true AND Visible -> False | |
//hide both grid and right click | |
if (columnData[i].default == true && columnData[i].visible == false) { | |
grid.hideColumn(columnData[i].airingPropertyParms); | |
} | |
//Default ->false AND Visible -> true | |
//show in grid and show in right click with checked items | |
if (columnData[i].default == false && columnData[i].visible == true) { | |
grid.showColumn(columnData[i].airingPropertyParms); | |
} | |
//Default ->false AND Visible -> False | |
//hide in grid, show in right click with unchecked items | |
if (columnData[i].default == false && columnData[i].visible == false) { | |
grid.hideColumn(columnData[i].airingPropertyParms); | |
} | |
var index = -1; | |
var filteredObj = columnData.find(function (item, k) { | |
if (item.airingPropertyParms === columnData[i].airingPropertyParms) { | |
index = k; | |
return k; | |
} | |
}); | |
let gridCol = grid.columns.find(function (m, n) { return grid.columns[n].field == columnData[i].airingPropertyParms; }); | |
if (gridCol != undefined) { | |
//26 + 3 = 29 | |
//max 8 | |
// grid.reorderColumn((index), gridCol); | |
grid.reorderColumn((index), gridCol); | |
} | |
} | |
} | |
changeColsProperty() { | |
let props = this.tempset; | |
let grid = this.gridkendo.getGrid(); | |
if (props) { | |
for (var i = 0; i < props.length; i++) { | |
var fName = props[i].airingPropertyParms; | |
if (grid.dataSource.options.schema.model.fields[fName]) { | |
grid.dataSource.options.schema.model.fields[fName].editable = props[i].editable; | |
} | |
} | |
} | |
} | |
private preferenceSetting(list) { | |
let gridCol; | |
let grid = this.gridkendo.getGrid(); | |
for (let j = 0; j < grid.columns.length; j++) { | |
//if(){} | |
if (grid.columns[j].field != undefined) { | |
grid.hideColumn(grid.columns[j].field); | |
} | |
} | |
for (let i = 0; i < list.length; i++) { | |
let position = parseInt(list[i].visiblePosition + ""); | |
if (list[i].visibleState) { | |
grid.showColumn(list[i].columnName); | |
} | |
gridCol = grid.columns.find(function (m, n) { return grid.columns[n].field == list[i].columnName; }); | |
grid.reorderColumn(position, gridCol); | |
} | |
} | |
createPreferences() { | |
let that = this; | |
$('#createPreferencesPopup .kPopUpTitle').text('Add Preferences'); | |
$('.preferenceName').val(''); | |
if ($('.preferenceName').val() == "") { | |
$('.okPreferences').attr('disabled', 'disabled'); | |
} | |
let dialogConfirm = $("#createPreferencesPopup").data("kendoWindow").center().open(); | |
$("#okPreferences").unbind().click(function () { | |
that.createUpdatePreference('create'); | |
dialogConfirm.close(); | |
}); | |
$("#cancelPreferences").unbind().click(function () { | |
dialogConfirm.close(); | |
}); | |
} | |
editPreferences() { | |
let that = this; | |
$('#createPreferencesPopup .kPopUpTitle').text('Edit Preferences'); | |
//let dialogConfirm = $("#createPreferencesPopUpWindow").data("kendoWindow").center().open(); | |
let dialogConfirm = $("#createPreferencesPopup").data("kendoWindow").center().open(); | |
$('.preferenceName').val(that.preferenceName); | |
//$('.okPreferences').attr('disabled', 'disabled'); | |
// $('#okPreferences').removeAttr('disabled'); | |
$("#okPreferences").unbind().click(function () { | |
that.createUpdatePreference('update'); | |
dialogConfirm.close(); | |
}); | |
$("#cancelPreferences").unbind().click(function () { | |
dialogConfirm.close(); | |
}); | |
} | |
checkPrefName(event) { | |
let that = this; | |
let value = event.target.value; | |
if ($.trim(value) != '') { | |
$('.okPreferences').removeAttr('disabled'); | |
} else { | |
$('.okPreferences').attr('disabled', 'disabled'); | |
} | |
} | |
createUpdatePreference(type) { | |
let that = this; | |
let prefValue = $('.preferenceName').val(); | |
if ($.trim(prefValue) != '') { | |
let len = that.preferenceData.length; | |
let checkExist = false; | |
for (let i = 0; i < len; i++) { | |
if ($.trim(that.preferenceData[i].preferenceName.toLowerCase()) == $.trim(prefValue.toLowerCase())) { | |
checkExist = true; | |
break; | |
} | |
} | |
if (checkExist && type == 'create') { | |
let strMessage = 'Preferences name already exist.'; | |
that.gridkendo.setdialog(strMessage, "ok", null); | |
} else { | |
if (type == 'create') { | |
//let preferenceData = this.getPreference(); | |
let createPref: any = { | |
"networkNo": this.bulkCreateValDownlink.networkNo, | |
"operationType": "Create", | |
"preferenceName": $.trim(prefValue), | |
"preferenceNo": "", | |
"preferenceList": "" | |
//, | |
//"preferenceList": preferenceData | |
}; | |
that.preferenceData.push(createPref); | |
that.preferenceName = prefValue; | |
that.prefSelectedName = prefValue; | |
that.disablePrefAdd = true; | |
that.disablePrefSave = false; | |
} else { | |
let updatePref = that.preferenceData.find(elem => elem.preferenceName == that.preferenceName); | |
if (updatePref != undefined) { | |
updatePref.preferenceName = prefValue; | |
that.prefSelectedName = prefValue; | |
that.preferenceName = prefValue; | |
updatePref.operationType = 'update'; | |
that.disablePrefSave = false; | |
that.disablePrefClear = true; | |
} | |
} | |
} | |
} | |
} | |
clearPreferences() { | |
let that = this; | |
that.disablePrefClear = true; | |
that.disablePrefAdd = false; | |
let prefValue = $('.preferenceName').val(); | |
let len = that.preferenceData.length; | |
let checkExist = that.preferenceData.includes(prefValue); | |
let strMessage = 'Are you sure you want to delete the selected preferences?'; | |
let getPrefNo; | |
$('#commonPopup .kPopUpTitle').text('COMPASS'); | |
$("#commonPopup .kendoContent").text(strMessage); | |
let dialogConfirm = $("#commonPopup").data("kendoWindow").center().open(); | |
$("#popupOK").unbind().click(function () { | |
// that.progress.requestStart(); | |
for (let i = 0; i < len; i++) { | |
if (that.preferenceData[i].preferenceName == that.preferenceName) { | |
getPrefNo = that.preferenceData[i].preferenceNo; | |
that.preferenceData.splice(i, 1); | |
break; | |
} | |
} | |
that.playeruService.getResponse('authorization/v1/deletePreferences?preferenceNo=' + getPrefNo, 'delete', {}).subscribe(data => { | |
that.disablePrefSave = true; | |
that.disablePrefAddEdit = false; | |
that.disablePrefEdit = true; | |
// that.progress.requestEnd(); | |
// that.disablePrefClear = true; | |
// that.disablePrefAdd = false; | |
that.prefSelectedName = ''; | |
let grid = that.gridkendo.getGrid(); | |
that.resetColumns(grid); | |
that.gridCustomization(); | |
that.progress.requestEnd(); | |
}, err => { | |
that.progress.requestEnd(); | |
}); | |
dialogConfirm.close(); | |
}); | |
$("#popupCancel").unbind().click(function () { | |
dialogConfirm.close(); | |
}); | |
} | |
cancelPreferences() { | |
$("#createPreferencesPopup").data("kendoWindow").close(); | |
} | |
private savePreferences() { | |
let that = this; | |
let preferenceData = this.getPreference(); | |
let data = { | |
"networkNo": this.bulkCreateValDownlink.networkNo, | |
"operationType": "Create", | |
"preferenceName": $.trim(this.preferenceName), | |
"preferenceNo": "", | |
"preferenceList": preferenceData, | |
"preferenceType": "DLBulkUpdate" | |
}; | |
for (var i = 0; i < this.preferenceData.length; i++) { | |
if (that.preferenceData[i].preferenceName == that.preferenceName) { | |
that.preferenceData[i].preferenceList = []; | |
that.preferenceData[i].preferenceList = preferenceData; | |
break; | |
} | |
} | |
// this.preferenceData.push(data); | |
this.progress.requestStart(); | |
this.playeruService.getResponse('authorization/v1/savePreferences', 'post', data).subscribe( | |
data => { | |
this.disablePrefSave = true; | |
that.disablePrefAdd = true; | |
that.disablePrefEdit = false; | |
that.disablePrefClear = false; | |
this.progress.requestEnd(); | |
}, | |
err => { | |
this.progress.requestEnd(); | |
}); | |
} | |
private getPreference(): any { | |
let savePreference = []; | |
let that = this; | |
let columns = that.columns; | |
//let columns = this.metaAggregateCopy.changeColumns; | |
let grid = this.gridkendo.getGrid(); | |
for (let i = 0; i < grid.columns.length; i++) { | |
let visibleState = false; | |
if (grid.columns[i].hidden) { | |
visibleState = false | |
} else { | |
visibleState = true; | |
} | |
let preferenceValue = { | |
"columnName": grid.columns[i].field, | |
"visiblePosition": i, | |
"visibleState": visibleState | |
} | |
savePreference.push(preferenceValue); | |
} | |
return savePreference; | |
} | |
lockedScheduleMsgShow(responseData) { | |
let that = this; | |
that.callGridLoadData(responseData); | |
//let lockedScheduleMsg = responseData.msg; | |
// let lockedScheduleMsg = ["Schedule April 2018 old 2.13.18 (packet) for USA N…cked out by Thirukumaran Palani (SSO: 206492110)."] | |
// let getMessageDetail = ""; | |
// for (let k = 0; k < lockedScheduleMsg.length; k++) { | |
// getMessageDetail = getMessageDetail + ("<div style='margin: 15px 0px;'>" + lockedScheduleMsg[k] + "</div>"); | |
// } | |
// $('#lockedSchedulePopup .kPopUpTitle').text('Scheduling'); | |
// $("#lockedSchedulePopup .kendoContent").html(getMessageDetail); | |
// let confirm = $("#lockedSchedulePopup").data("kendoWindow").center().open(); | |
// $("#lockedSchedulePopupOK").unbind().click(function () { | |
// confirm.close(); | |
// // that.callGridLoadData(responseData); | |
// }); | |
// $("#lockedSchedulePopupCancel").unbind().click(function () { | |
// confirm.close(); | |
// }); | |
} | |
callGridLoadData(responseData) { | |
let that = this; | |
//if (responseData.schedItems.length > 0) { | |
// if (responseData > 0) { | |
// response.data.properties | |
this.bulkGridData = responseData; | |
this.gridDataAll = responseData; | |
this.gridDataLoad(); | |
//bulkCreateValDownlink | |
//this.loadPreference(this.markkCombinedVal.networkNo); | |
this.loadPreference(this.bulkCreateValDownlink.networkNo); | |
//} | |
} | |
showSchedulesDaterangePopup(responseData) { | |
let that = this; | |
$("#airingsDatarangePopup .kendoContent").html("Airings are created only for the selected schedule(s) date range"); | |
let warningMsg = $("#airingsDatarangePopup").data("kendoWindow").center().open(); | |
$("#airingsDatarangePopupOk").unbind().click(function () { | |
warningMsg.close(); | |
if (responseData.msg.length > 0) { | |
that.lockedScheduleMsgShow(responseData); | |
} else { | |
that.callGridLoadData(responseData); | |
} | |
}); | |
} | |
lockedSchedulePopup(dialogId) { | |
$(dialogId).kendoWindow({ | |
title: false, | |
width: "700px", | |
visible: false, | |
resizable: false, | |
draggable: false, | |
modal: true, | |
actions: {}, | |
open: function (e) { $("html, body").css("overflow", "hidden"); }, | |
close: function (e) { $("html, body").css("overflow", ""); } | |
}); | |
} | |
reloadGridDataSource() { | |
this.gridkendo.reloadDataSource(this.bulkGridData); | |
} | |
hideContext() { | |
var contextMenu1 = $("#context-menu").data("kendoContextMenu"); | |
if (contextMenu1) | |
// contextMenu1.close(); | |
var contextMenu2 = $("#bulk-context-menu").data("kendoContextMenu"); | |
if (contextMenu2) | |
// contextMenu2.close(); | |
return true; | |
} | |
saveResponseNotify(savedResponse) { | |
let that = this; | |
this.createDialog("#saveWarningPopup"); | |
let dialogConfirm = $("#saveWarningPopup").data("kendoWindow").center().open(); | |
$("#saveWarningPopupOk").unbind().click(function () { | |
dialogConfirm.close(); | |
if (savedResponse.conflicts.length > 0) { | |
// that.markkConflictGridPopup.conflictGridOpen(savedResponse); | |
//that.bulkcreateConflictGridPopup.conflictGridOpen(savedResponse.conflicts); | |
that.markkConflictGridPopup.conflictGridOpen(savedResponse.conflicts); | |
that.isSaveDisableGrid = true; | |
that.isCancelDisableGrid = true; | |
that.totalUpdates = 0; | |
} | |
else { | |
that.bulkGridData = []; | |
that.reloadGridDataSource(); | |
that.enableSave(true); | |
} | |
}); | |
} | |
closeConflictGrid() { | |
this.bulkGridData = []; | |
this.gridkendo.reloadDataSource(this.bulkGridData); | |
this.enableSave(true); | |
} | |
enableSave(action) { | |
let that = this; | |
that.saveBtnEnableDisable = action; | |
} | |
createDialog(dialogId) { | |
$(dialogId).kendoWindow({ | |
title: false, | |
width: "350px", | |
visible: false, | |
resizable: false, | |
draggable: false, | |
modal: true, | |
actions: {}, | |
open: function (e) { $("html, body").css("overflow", "hidden"); }, | |
close: function (e) { $("html, body").css("overflow", ""); } | |
}); | |
} | |
onDataBound(e) { | |
let that = this; | |
let grid = that.gridkendo.getGrid(); | |
var gridData = e.sender.dataSource.data(); | |
that.totalAiringsCount = gridData.length; | |
for (var i = 0; i < gridData.length; i++) { | |
//if (gridData[i].gridCheck == true) { | |
gridData[i].gridCheck = true | |
e.sender.tbody.find("tr[data-uid='" + gridData[i].uid + "'] td .gridCheckBox").attr('checked', true); | |
//else { | |
// e.sender.tbody.find("tr[data-uid='" + gridData[i].uid + "'] td .gridCheckBox").removeAttr('checked'); | |
// } | |
if (gridData[i].duplicateRow == true) { | |
$('.bulkCreateGrid .k-grid-content tbody').find("tr[data-uid='" + gridData[i].uid + "']").addClass('duplicateRows'); | |
} | |
// if (that.showOverlap == false) { | |
// if (gridData[i].action == 'Delete') { | |
// e.sender.tbody.find("tr[data-uid='" + gridData[i].uid + "']").hide(); | |
// $('.bulkCreateGrid .k-grid-content-locked tbody').find("tr[data-uid='" + gridData[i].uid + "']").hide(); | |
// } | |
// } else { | |
// if (gridData[i].action == 'Delete') { | |
// e.sender.tbody.find("tr[data-uid='" + gridData[i].uid + "']").show(); | |
// $('.bulkCreateGrid .k-grid-content-locked tbody').find("tr[data-uid='" + gridData[i].uid + "']").show(); | |
// e.sender.tbody.find("tr[data-uid='" + gridData[i].uid + "']").addClass("rowDisabled"); | |
// $('.bulkCreateGrid .k-grid-content-locked tbody').find("tr[data-uid='" + gridData[i].uid + "']").addClass("rowDisabled"); | |
// } | |
// } | |
} | |
$(".gridCheckBox").unbind().bind("click", function (e) { | |
var myItem = grid.dataItem($(this).closest("tr")); | |
myItem.gridCheck = (myItem.gridCheck) ? false : true; | |
if (myItem.gridCheck == false) { | |
that.totalAiringsCount -= 1; | |
$('#unlockCheck').prop('checked', false); | |
} else { | |
that.totalAiringsCount += 1; | |
} | |
if (that.totalAiringsCount == 0) { | |
that.disableNoAirings = true; | |
} else { | |
that.disableNoAirings = false; | |
} | |
}); | |
} | |
bulkContextMenu() { | |
let that = this; | |
//var contextMenu = $("#bulk-context-menu").kendoContextMenu().data("kendoContextMenu"); | |
setTimeout(function () { | |
$("#bulk-context-menu").kendoContextMenu({ | |
target: "#KendoGridView .k-grid-header thead tr:nth-child(1)", | |
animation: { | |
open: { | |
effects: "fadeIn" | |
}, | |
closeOnClick: false | |
}, | |
open: function (e) { | |
that.bulkKeys = []; | |
let contextRow = ''; | |
var columns = that.columns; | |
//var columns = that.metaAggregateCopy.changeColumns; | |
$('.bulkSpan').html(''); | |
var windowHeight = $(window).height(); | |
let cols = []; | |
let grid = $("#KendoGridView").data("kendoGrid"); | |
var gridColumns = grid.columns; | |
if (gridColumns.length > 0) { | |
for (var i = 3; i < gridColumns.length; i++) { | |
var colx = gridColumns[i]; | |
if (colx.field != undefined) { | |
var index = -1; | |
var val = colx.field; | |
var filteredObj = columns.find(function (item, k) { | |
if (item.airingPropertyParms === val) { | |
index = k; | |
return k; | |
} | |
}); | |
var col = columns[index]; | |
if (col != undefined) { | |
//Default ->true AND Visible -> true | |
//show in grid and hide in right click | |
if (col.default == true && col.visible == true) { | |
contextRow += ''; | |
} | |
//Default ->true AND Visible -> False | |
//hide both grid and right click | |
if (col.default == true && col.visible == false) { | |
contextRow += ''; | |
} | |
//Default ->false AND Visible -> true | |
//show in grid and show in right click with checked items | |
if (col.default == false && col.visible == true) { | |
if (grid.columns[i].hidden) { | |
contextRow += '<li><label><input type="checkbox" id="' + col.airingPropertyParms + '" class="hideShowColumn"> ' + col.airingProperty + '</label></li>' | |
} else { | |
contextRow += '<li><label><input type="checkbox" checked="checked" id="' + col.airingPropertyParms + '" class="hideShowColumn"> ' + col.airingProperty + '</label></li>' | |
} | |
} | |
//Default ->false AND Visible -> False | |
//hide in grid, show in right click with unchecked items | |
if (col.default == false && col.visible == false) { | |
if (grid.columns[i].hidden) { | |
contextRow += '<li><label><input type="checkbox" id="' + col.airingPropertyParms + '" class="hideShowColumn" > ' + col.airingProperty + '</label></li>' | |
} else { | |
contextRow += '<li><label><input type="checkbox" id="' + col.airingPropertyParms + '" class="hideShowColumn" > ' + col.airingProperty + '</label></li>' | |
} | |
} | |
} | |
} | |
} | |
} | |
var gridStates = that.getPreference(); | |
$('.bulkSpan').append(contextRow); | |
$('.bulkSpan').parent().parent().css({ "max-height": (windowHeight - 100), "overflow": "auto", "width": "auto !important" }) | |
$('.bulkSpan').parent().css({ "max-height": (windowHeight - 100), "overflow": "auto", "width": "auto !important" }) | |
} | |
}); | |
}, 10); | |
$('#bulk-context-menu').on('mousedown', function (e) { | |
e.stopImmediatePropagation(); | |
}); | |
$('#bulk-context-menu').on('change', '.hideShowColumn', function (e) { | |
if (that.prefSelectedName != undefined && that.prefSelectedName != "") { | |
that.disablePrefSave = false; | |
} | |
else { | |
that.disablePrefSave = true; | |
} | |
e.stopImmediatePropagation(); | |
let grid = that.gridkendo.getGrid(); | |
let gridColumns = that.gridkendo.getGrid().columns; | |
let val = $(this).attr("id"); | |
let columns = that.columns; | |
//let columns = that.metaAggregateCopy.changeColumns; | |
var index = -1; | |
var filteredObj = columns.find(function (item, k) { | |
if (item.airingPropertyParms === 'userAdded') { | |
item.airingPropertyParms = 'userAddedName'; | |
} | |
if (item.airingPropertyParms === 'userUpdated') { | |
item.airingPropertyParms = 'userUpdateName' | |
} | |
if (item.airingPropertyParms === val) { | |
index = k; | |
return k; | |
} | |
}); | |
let dataVal = index; | |
that.columns[dataVal].visible = (that.columns[dataVal].visible == true) ? false : true; | |
// that.metaAggregateCopy.changeColumns[dataVal].visible = (that.metaAggregateCopy.changeColumns[dataVal].visible == true) ? false : true; | |
var colIndex = -1; | |
var filteredObj = gridColumns.find(function (item, m) { | |
if (item.field === val) { | |
index = m; | |
return m; | |
} | |
}); | |
colIndex = index; | |
if ($(this).is(':checked')) { | |
grid.columns[colIndex].hidden = false; | |
// grid.showColumn(that.metaAggregateCopy.changeColumns[dataVal].airingPropertyParms); | |
grid.showColumn(that.columns[dataVal].airingPropertyParms); | |
//$("#KendoGridView table th:nth-child(" + colIndex + "),td:nth-child(" + (colIndex) + "),col:nth-child(" + (colIndex-1) + ")").show(); | |
$("#KendoGridView table th:nth-child(" + (colIndex + 1) + "),td:nth-child(" + (colIndex + 1) + "),col:nth-child(" + (colIndex + 1) + ")").show(); | |
} | |
else { | |
grid.columns[colIndex].hidden = true; | |
// setTimeout(function(){ | |
grid.hideColumn(that.columns[dataVal].airingPropertyParms); | |
//grid.hideColumn(that.metaAggregateCopy.changeColumns[dataVal].airingPropertyParms); | |
// $("#KendoGridView table th:nth-child(" + colIndex + "),td:nth-child(" + (colIndex) + "),col:nth-child(" + (colIndex-1) + ")").hide(); | |
$("#KendoGridView table th:nth-child(" + (colIndex + 1) + "),td:nth-child(" + (colIndex + 1) + "),col:nth-child(" + (colIndex + 1) + ")").hide(); | |
// },100) | |
} | |
}); | |
} | |
convertTo24Hour(time) { | |
var hours = parseInt(time.substr(0, 2)); | |
if (time.indexOf('AM') != -1 && hours == 12) { | |
time = time.replace('12', '0'); | |
} | |
if (time.indexOf('PM') != -1 && hours < 12) { | |
time = time.replace(hours, (hours + 12)); | |
} | |
return time.replace(/(AM|PM)/, ''); | |
} | |
addTimes(start: any, end: any) { | |
if (start && end) { | |
let times = []; | |
let times1 = start.split(':'); | |
let times2 = end.split(':'); | |
let timeCondition = "PM"; | |
for (let i = 0; i < 3; i++) { | |
times1[i] = (isNaN(parseInt(times1[i]))) ? 0 : parseInt(times1[i]) | |
times2[i] = (isNaN(parseInt(times2[i]))) ? 0 : parseInt(times2[i]) | |
times[i] = times1[i] + times2[i]; | |
} | |
let seconds = times[2]; | |
let minutes = times[1]; | |
let hours = times[0]; | |
if (seconds % 60 === 0) { | |
hours += seconds / 60; | |
} | |
if (minutes % 60 === 0) { | |
let res = minutes / 60; | |
hours += res; | |
minutes = minutes - (60 * res); | |
} | |
if (minutes > 60) { | |
minutes = minutes - 60; | |
hours = hours + 1; | |
} | |
if (hours >= 12 && hours < 25) { | |
hours = hours - 12; | |
if (start.indexOf('AM') != -1) { | |
timeCondition = "PM"; | |
} | |
} else if (hours > 24) { | |
hours = hours - 24; | |
if (start.indexOf('AM') == -1) { | |
timeCondition = "PM"; | |
} | |
} | |
if (hours == 0) { | |
hours = 12; | |
} | |
if (end == "00:00") { | |
if (start.indexOf('AM') == -1) { | |
timeCondition = "PM"; | |
} else { | |
timeCondition = "AM"; | |
} | |
} | |
hours = hours < 10 ? "0" + hours : hours; | |
minutes = minutes < 10 ? "0" + minutes : minutes; | |
return hours + ':' + minutes + ' ' + timeCondition; | |
} | |
} | |
validateStartEndTime(sTime, eTime) { | |
let isValidTime = false; | |
// if (eTime == "" || eTime == undefined) { | |
// return isValidTime; | |
// } | |
// if (sTime == "" || sTime == undefined) { | |
// return isValidTime; | |
// } | |
if (eTime == undefined) { | |
return isValidTime; | |
} | |
if (sTime == undefined) { | |
return isValidTime; | |
} | |
eTime = "7:00 AM "; | |
sTime = "6:00 PM"; | |
// if(eTime != null || eTime !="" ){ | |
// eTime = kendo.parseDate(eTime).getTime(); | |
// } | |
// if(sTime != null || sTime !=""){ | |
// console.log("sTime----->"+sTime); | |
// sTime = kendo.parseDate(sTime).getTime(); | |
// // console.log("kendo.parseDate(sTime)----->", kendo.parseDate(sTime)); | |
// // console.log("kendo.parseDate(sTime).getTime()----->", kendo.parseDate(sTime).getTime()); | |
// } | |
if (eTime == kendo.parseDate("6:00 AM").getTime()) { | |
isValidTime = true; | |
} | |
if (eTime >= kendo.parseDate("12:00 AM").getTime()) { | |
//checking between 12am to 6 am | |
if (sTime >= (kendo.parseDate("12:00 AM").getTime()) | |
&& sTime < (kendo.parseDate("6:00 AM").getTime()) | |
&& eTime < (kendo.parseDate("6:00 AM").getTime()) | |
&& eTime > (kendo.parseDate("12:00 AM").getTime()) | |
) { | |
if (sTime < eTime) { | |
isValidTime = true; | |
} | |
} | |
// checking between (start time)6am to 12 and (ent time) bw 12 to 6am | |
else if (sTime < (kendo.parseDate("11:59 PM").getTime()) | |
&& sTime >= (kendo.parseDate("6:00 AM").getTime()) | |
&& eTime < (kendo.parseDate("6:00 AM").getTime()) | |
&& eTime >= (kendo.parseDate("12:00 AM").getTime())) { | |
isValidTime = true; | |
} | |
} | |
// checking between 6am to 12 | |
if (eTime < (kendo.parseDate("11:59 PM").getTime()) | |
&& sTime >= (kendo.parseDate("6:00 AM").getTime())) { | |
if (sTime < eTime) { | |
isValidTime = true; | |
} | |
} | |
// return isValidTime; | |
return true; | |
} | |
TimeDifference(end, start) { | |
var startTimeArray = start.split(":"); | |
var startInputHrs = parseInt(startTimeArray[0]); | |
var startInputMins = parseInt(startTimeArray[1]); | |
var endTimeArray = end.split(":"); | |
var endInputHrs = parseInt(endTimeArray[0]); | |
var endInputMins = parseInt(endTimeArray[1]); | |
var startMin = startInputHrs * 60 + startInputMins; | |
var endMin = endInputHrs * 60 + endInputMins; | |
var result; | |
if (endMin < startMin) { | |
var minutesPerDay = 24 * 60; | |
result = minutesPerDay - startMin; | |
result += endMin; | |
} else { | |
result = endMin - startMin; | |
} | |
var minutesElapsed = result % 60; | |
var hoursElapsed = (result - minutesElapsed) / 60; | |
return (hoursElapsed < 9 ? "0" : "") + hoursElapsed + ":" + (minutesElapsed < 9 ? "0" : "") + minutesElapsed; | |
} | |
applyValueToAllRow(field, value) { | |
this.countingUpdates(); | |
// this.resetUpdateCount(); | |
console.log("field==>", field, "value===>", value); | |
let that = this; | |
let grid = that.gridkendo.getGrid(); | |
let gridData = grid.dataSource.data(); | |
let sel = $(".gridCheckBox:checked", grid.tbody).closest("tr"); | |
if (field == "blockDuration") { | |
let changedRows = sel.map((index, event) => { | |
let dataItem: any = grid.dataItem(event); | |
let endTimeDuration = that.addTimes(dataItem.startTime, value); | |
let startTime = that.convertTo24Hour(dataItem.startTime); | |
let endTime = that.addTimes(startTime, value); | |
let actualStartTime = that.convertTo24Hour(dataItem.actualStartTime); | |
let actualEndTime = that.addTimes(actualStartTime, value); | |
// if (value == "00:00" && dataItem.startTime != that.pickerStartTime) { | |
// that.gridkendo.setdialog("Cannot span across", "ok", null); | |
// } else { | |
// if (that.validateStartEndTime(startTime, endTimeDuration)) { | |
// if (!that.validateStartEndTime(actualStartTime, actualEndTime)) { | |
// that.gridkendo.setdialog("Cannot span across", "ok", null); | |
// } else { | |
// dataItem[field] = value; | |
// dataItem["endTime"] = endTimeDuration; | |
// dataItem["actualDuration"] = value; | |
// dataItem["actualEndTime"] = actualEndTime; | |
// } | |
// } else { | |
// that.gridkendo.setdialog("Cannot span across", "ok", null); | |
// } | |
// } | |
}) | |
} | |
// else if (field == "startTime") { | |
// let changedRows = sel.map((index, event) => { | |
// let dataItem: any = grid.dataItem(event); | |
// let startTime = that.convertTo24Hour(value); | |
// let endTime = that.addTimes(startTime, dataItem.blockDuration); | |
// let actualStartTime = that.convertTo24Hour(value); | |
// let actualEndTime = that.addTimes(actualStartTime, dataItem.actualDuration); | |
// if (that.validateStartEndTime(value, endTime)) { | |
// if (!that.validateStartEndTime(actualStartTime, actualEndTime)) { | |
// that.gridkendo.setdialog("Cannot span across", "ok", null); | |
// } else { | |
// dataItem["startTime"] = value; | |
// dataItem["actualStartTime"] = value; | |
// dataItem["endTime"] = endTime; | |
// dataItem["actualEndTime"] = actualEndTime; | |
// } | |
// } else { | |
// that.gridkendo.setdialog("Cannot span across", "ok", null); | |
// } | |
// }) | |
// } else if (field == "endTime") { | |
// let changedRows = sel.map((index, event) => { | |
// let dataItem: any = grid.dataItem(event); | |
// if (that.validateStartEndTime(dataItem.startTime, value)) { | |
// if (!that.validateStartEndTime(dataItem.actualStartTime, dataItem.actualEndTime)) { | |
// that.gridkendo.setdialog("Cannot span across", "ok", null); | |
// } else { | |
// dataItem["endTime"] = value; | |
// let startval = that.convertTo24Hour(dataItem.startTime); | |
// let endval = that.convertTo24Hour(dataItem.endTime); | |
// let differ = that.TimeDifference(endval, startval); | |
// dataItem["actualEndTime"] = value; | |
// dataItem["blockDuration"] = differ; | |
// let actualStartTime = that.convertTo24Hour(dataItem.actualStartTime); | |
// let actualEndTime = that.convertTo24Hour(dataItem.actualEndTime); | |
// let actualDiffer = that.TimeDifference(actualEndTime, actualStartTime); | |
// dataItem["actualDuration"] = actualDiffer; | |
// } | |
// } else { | |
// that.gridkendo.setdialog("Cannot span across", "ok", null); | |
// } | |
// }) | |
// } else if (field == "actualStartTime") { | |
// let changedRows = sel.map((index, event) => { | |
// let dataItem: any = grid.dataItem(event); | |
// let actualStartTime = that.convertTo24Hour(value); | |
// let endTime = that.addTimes(actualStartTime, dataItem.actualDuration); | |
// if (that.validateStartEndTime(value, endTime)) { | |
// if (!that.validateStartEndTime(dataItem.startTime, dataItem.endTime)) { | |
// that.gridkendo.setdialog("Cannot span across", "ok", null); | |
// } else { | |
// dataItem["actualStartTime"] = value; | |
// dataItem["actualEndTime"] = endTime; | |
// if (that.bulkCreateLovs.bulkRippleActualTimeChangesToBlockTimeFlag == "Y") { | |
// dataItem["startTime"] = value; | |
// let endTime = that.addTimes(value, dataItem.blockDuration); | |
// dataItem["endTime"] = endTime; | |
// } | |
// } | |
// } else { | |
// that.gridkendo.setdialog("Cannot span across", "ok", null); | |
// } | |
// }) | |
// } else if (field == "actualEndTime") { | |
// let changedRows = sel.map((index, event) => { | |
// let dataItem: any = grid.dataItem(event); | |
// let startTime = that.convertTo24Hour(dataItem.startTime); | |
// let endTime = that.addTimes(startTime, dataItem.blockDuration); | |
// let actualStartval = that.convertTo24Hour(dataItem.actualStartTime); | |
// let actualEndval = that.convertTo24Hour(value); | |
// let differ = that.TimeDifference(actualEndval, actualStartval); | |
// if (that.validateStartEndTime(actualStartval, value)) { | |
// if (!that.validateStartEndTime(dataItem.startTime, dataItem.endTime)) { | |
// that.gridkendo.setdialog("Cannot span across", "ok", null); | |
// } else { | |
// dataItem["actualEndTime"] = value; | |
// dataItem["actualDuration"] = differ; | |
// if (that.bulkCreateLovs.bulkRippleActualTimeChangesToBlockTimeFlag == "Y") { | |
// dataItem["endTime"] = value; | |
// let endTime = that.convertTo24Hour(value); | |
// let differ = that.TimeDifference(endTime, startTime); | |
// dataItem["blockDuration"] = differ; | |
// } | |
// } | |
// } else { | |
// that.gridkendo.setdialog("Cannot span across", "ok", null); | |
// } | |
// }) | |
// } else if (field == "actualDuration") { | |
// let changedRows = sel.map((index, event) => { | |
// let dataItem: any = grid.dataItem(event); | |
// if (value == "00:00" && dataItem.actualStartTime != that.pickerStartTime) { | |
// that.gridkendo.setdialog("Cannot span across", "ok", null); | |
// } else { | |
// let endTimeDuration = that.addTimes(dataItem.startTime, dataItem.blockDuration); | |
// let startTime = that.convertTo24Hour(dataItem.startTime); | |
// let endTime = that.addTimes(startTime, dataItem.blockDuration); | |
// let actualStartTime = that.convertTo24Hour(dataItem.actualStartTime); | |
// let actualEndTime = that.addTimes(actualStartTime, dataItem.actualDuration); | |
// if (that.validateStartEndTime(actualStartTime, actualEndTime)) { | |
// if (!that.validateStartEndTime(startTime, endTimeDuration)) { | |
// that.gridkendo.setdialog("Cannot span across", "ok", null); | |
// } else { | |
// if (that.bulkCreateLovs.bulkRippleActualTimeChangesToBlockTimeFlag == "Y") { | |
// that.roundOffTimeGrid(value, "blockDuration", dataItem); | |
// let endTimeDuration = that.addTimes(dataItem.startTime, dataItem.blockDuration); | |
// dataItem["endTime"] = endTimeDuration; | |
// } | |
// dataItem["actualDuration"] = value; | |
// let actualEndTime = that.addTimes(actualStartTime, dataItem.actualDuration); | |
// dataItem["actualEndTime"] = actualEndTime; | |
// } | |
// } else { | |
// that.gridkendo.setdialog("Cannot span across", "ok", null); | |
// } | |
// } | |
// }) | |
// } | |
else if (field == "markk") { | |
let changedRows = sel.map((index, event) => { | |
let dataItem: any = grid.dataItem(event); | |
if (dataItem && (dataItem["checkedOutUserId"] === undefined || dataItem["checkedOutUserId"] === null | |
|| dataItem["checkedOutUserId"] === '')) { | |
dataItem["dirty"] = true; | |
this.isSaveDisableGrid = false; | |
//that.totalUpdates++; | |
// template: "# if (dirty) { # <span class='eventType newEvent text-succcess'><span class='displayBlock gridUpdateIcon'></span></span> # }# #if(checkedOutUserId){# <span class='eventType newEvent text-succcess'><span class='displayBlock gridLockIcon'></span></span> # } #", | |
if (value) { | |
dataItem["markk"] = value; | |
// dataItem["hd"] = value; | |
// dataItem["record"]= value; | |
} else { | |
dataItem["markk"] = ''; | |
//bulkCreateValDownlink | |
if (that.bulkCreateValDownlink.defaultHDOnDownlink == 'N') { | |
//if (that.bulkCreateLovs.defaultHDOnDownlink == 'N') { | |
// dataItem["hd"] = ''; | |
} | |
// dataItem["record"]= ''; | |
} | |
this.countingUpdates(); | |
dataItem[field] = value; | |
} | |
}) | |
} | |
else if (field == "hd") { | |
let changedRows = sel.map((index, event) => { | |
let dataItem: any = grid.dataItem(event); | |
if (dataItem && (dataItem["checkedOutUserId"] === undefined || dataItem["checkedOutUserId"] === null | |
|| dataItem["checkedOutUserId"] === '')) { | |
dataItem["dirty"] = true; | |
this.isSaveDisableGrid = false; | |
//that.totalUpdates++; | |
// template: "# if (dirty) { # <span class='eventType newEvent text-succcess'><span class='displayBlock gridUpdateIcon'></span></span> # }# #if(checkedOutUserId){# <span class='eventType newEvent text-succcess'><span class='displayBlock gridLockIcon'></span></span> # } #", | |
if (value) { | |
// dataItem["markk"] = value; | |
dataItem["hd"] = value; | |
// dataItem["record"]= value; | |
} else { | |
dataItem["hd"] = ''; | |
//bulkCreateValDownlink | |
if (that.bulkCreateValDownlink.defaultHDOnDownlink == 'N') { | |
//if (that.bulkCreateLovs.defaultHDOnDownlink == 'N') { | |
// dataItem["hd"] = ''; | |
} | |
// dataItem["record"]= ''; | |
} | |
dataItem[field] = value; | |
this.countingUpdates(); | |
} | |
}) | |
} | |
else if (field == "record") { | |
let changedRows = sel.map((index, event) => { | |
let dataItem: any = grid.dataItem(event); | |
if (dataItem && (dataItem["checkedOutUserId"] === undefined || dataItem["checkedOutUserId"] === null | |
|| dataItem["checkedOutUserId"] === '')) { | |
dataItem["dirty"] = true; | |
this.isSaveDisableGrid = false; | |
//that.totalUpdates++; | |
// template: "# if (dirty) { # <span class='eventType newEvent text-succcess'><span class='displayBlock gridUpdateIcon'></span></span> # }# #if(checkedOutUserId){# <span class='eventType newEvent text-succcess'><span class='displayBlock gridLockIcon'></span></span> # } #", | |
if (value) { | |
// dataItem["markk"] = value; | |
// dataItem["hd"] = value; | |
dataItem["record"] = value; | |
} else { | |
dataItem["record"] = ''; | |
//bulkCreateValDownlink | |
if (that.bulkCreateValDownlink.defaultHDOnDownlink == 'N') { | |
//if (that.bulkCreateLovs.defaultHDOnDownlink == 'N') { | |
// dataItem["hd"] = ''; | |
} | |
// dataItem["record"]= ''; | |
} | |
dataItem[field] = value; | |
this.countingUpdates(); | |
} | |
}) | |
} | |
else if (field == "markkSource") { | |
let changedRows = sel.map((index, event) => { | |
let dataItem: any = grid.dataItem(event); | |
if (dataItem && (dataItem["checkedOutUserId"] === undefined || dataItem["checkedOutUserId"] === null | |
|| dataItem["checkedOutUserId"] === '')) { | |
dataItem["dirty"] = true; | |
this.isSaveDisableGrid = false; | |
//that.totalUpdates++; | |
if (value) { | |
dataItem["markkSource"] = value; | |
} else { | |
dataItem["markkSource"] = ''; | |
} | |
dataItem[field] = value; | |
this.countingUpdates(); | |
} | |
}) | |
} | |
else if (field == "bug") { | |
let changedRows = sel.map((index, event) => { | |
let dataItem: any = grid.dataItem(event); | |
if (dataItem && (dataItem["checkedOutUserId"] === undefined || dataItem["checkedOutUserId"] === null | |
|| dataItem["checkedOutUserId"] === '')) { | |
dataItem["dirty"] = true; | |
this.isSaveDisableGrid = false; | |
//that.totalUpdates++; | |
if (value) { | |
dataItem["bug"] = value; | |
} else { | |
dataItem["bug"] = ''; | |
} | |
dataItem[field] = value; | |
this.countingUpdates(); | |
} | |
}) | |
} | |
else if (field == "ticker") { | |
let changedRows = sel.map((index, event) => { | |
let dataItem: any = grid.dataItem(event); | |
if (dataItem && (dataItem["checkedOutUserId"] === undefined || dataItem["checkedOutUserId"] === null | |
|| dataItem["checkedOutUserId"] === '')) { | |
dataItem["dirty"] = true; | |
this.isSaveDisableGrid = false; | |
//that.totalUpdates++; | |
if (value) { | |
dataItem["ticker"] = value; | |
} else { | |
dataItem["ticker"] = ''; | |
} | |
dataItem[field] = value; | |
this.countingUpdates(); | |
} | |
}) | |
} | |
else { | |
let changedRows = sel.map((index, event) => { | |
let dataItem: any = grid.dataItem(event); | |
//dataItem[field] = value; | |
if (dataItem && (dataItem["checkedOutUserId"] === undefined || dataItem["checkedOutUserId"] === null | |
|| dataItem["checkedOutUserId"] === '')) { | |
dataItem["dirty"] = true; | |
this.isSaveDisableGrid = false; | |
//that.totalUpdates++; | |
if (value) { | |
dataItem[field] = value; | |
} else { | |
dataItem[field] = ''; | |
} | |
dataItem[field] = value; | |
this.countingUpdates(); | |
} | |
}) | |
} | |
this.gridkendo.getGrid().refresh(); | |
that.highlightoverlap(); | |
} | |
highlightoverlap() { | |
let that = this; | |
let grid = that.gridkendo.getGrid(); | |
let gridData = grid.dataSource.data(); | |
$('.bulkCreateGrid .k-grid-content tbody').find("tr").removeClass('duplicateRows'); | |
for (let k = 0; k < gridData.length; k++) { | |
gridData[k].duplicateRow = false; | |
let startDate = kendo.toString(new Date(gridData[k].startDate), "dd/MM/yyyy"); | |
let startTime = kendo.parseDate(gridData[k].startTime); | |
let endTime = kendo.parseDate(gridData[k].endTime); | |
let actutalStartTime = kendo.parseDate(gridData[k].actualStartTime); | |
let actualEndTime = kendo.parseDate(gridData[k].actualEndTime); | |
for (var i = k; i < gridData.length; i++) { | |
if (gridData[k].action != 'Delete' && gridData[i].action != 'Delete' && i != k) { | |
let startSelTime = kendo.parseDate(gridData[i].startTime); | |
let endSelTime = kendo.parseDate(gridData[i].endTime); | |
let actualStartSelTime = kendo.parseDate(gridData[i].actualStartTime); | |
let actualEndSelTime = kendo.parseDate(gridData[i].actualEndTime); | |
let startSelDate = kendo.toString(new Date(gridData[i].startDate), "dd/MM/yyyy"); | |
if (startDate == startSelDate && ((startTime == startSelTime || (endTime == endSelTime) || (startTime < endSelTime && endTime > startSelTime)) || (actutalStartTime == actualStartSelTime || (actualEndTime == actualEndSelTime) || (actutalStartTime < actualEndSelTime && actualEndTime > actualStartSelTime)))) { | |
gridData[i].duplicateRow = true; | |
gridData[k].duplicateRow = true; | |
$('.bulkCreateGrid .k-grid-content tbody').find("tr[data-uid='" + gridData[i].uid + "']").addClass('duplicateRows'); | |
$('.bulkCreateGrid .k-grid-content tbody').find("tr[data-uid='" + gridData[k].uid + "']").addClass('duplicateRows'); | |
} | |
} | |
} | |
} | |
} | |
// resetUpdateCount() { | |
// this.totalUpdates = 0; | |
// } | |
countingUpdates() { | |
let count = 0; | |
let that = this; | |
let grid = that.gridkendo.getGrid(); | |
let tempData = grid.dataSource.data(); | |
for (let i = 0; i < tempData.length; i++) { | |
if (tempData[i].dirty === true) { | |
count++; | |
} | |
} | |
this.totalUpdates = count; | |
//console.log(tempData); | |
} | |
canDeactivate(): Promise<boolean> | boolean { | |
let that = this; | |
return new Promise<boolean>((resolve, reject) => { | |
//if (this.bulkGridData.length > 0) { | |
//if (this.markkDataAPI.length) { | |
this.goBtnPayload(); | |
//that.scheduleCablesService.bulkCreateMetaVal = this.goBtnReqPayload; | |
window.sessionStorage.setItem('markkSessionSearch', JSON.stringify(this.goBtnReqPayload)); | |
if (this.gridDataSourceHaveChanges()) { | |
//$("#unsavedDataDialog .kendoContent").text("Do you want to keep the changes and continue?"); | |
$("#unsavedDataDialog .kendoContent").text("Do you want to save the changes?"); | |
let newdialog = $("#unsavedDataDialog").data("kendoWindow").center().open(); | |
$("#unsavedDataDialogYes").unbind().click(function () { | |
newdialog.close(); | |
// sessionStorage.setItem("bulkCreateMetaVal", JSON.stringify(that.bulkCreateVal)) | |
// that.scheduleCablesService.bulkCreateMetaVal=that.goBtnReqPayload; | |
resolve(false); | |
}); | |
$("#unsavedDataDialogNo").click(function () { | |
newdialog.close(); | |
resolve(true); | |
}); | |
$("#unsavedDataDialogCancel").click(function () { | |
newdialog.close(); | |
resolve(false); | |
}); | |
} else { resolve(true); } | |
//} | |
//else { resolve(true); } | |
}); | |
} | |
gridDataSourceHaveChanges() { | |
let ds = this.gridkendo.getGrid().dataSource; | |
let dirty = false; | |
let resultArray = ds._data.find(elem => elem.dirty == true); | |
if (ds._destroyed.length > 0 || resultArray) dirty = true; | |
return dirty; | |
} | |
ngOnDestroy() { | |
$('body').css({ "padding-bottom": "" }); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment