Last active
April 30, 2018 00:08
-
-
Save niniyzni/3d4cfff29cec328c9d92f65e4312a203 to your computer and use it in GitHub Desktop.
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/sports.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 { GridHeaderContext } from '../shared/gridHeaderContext/gridHeaderContext'; | |
//import { ValidateGridPopup } from './bulkcrete-validate-popup'; | |
import { sportsConflictGridPopup } from './sports-conflict-popup'; | |
import { IMultiSelectSettings } from '../common/multiselect-dropdown'; | |
@Component({ | |
selector: 'sportsBulkUpdate', | |
templateUrl: "./sports-bulk-update.html", | |
}) | |
export class sportsBulkUpdate { | |
private selectedNetworkArr: any = { networkNo: -1, }; | |
private networkTempArray; | |
private networkObj = { "Label": "Networks", isHintShow: false }; | |
private sportsBulkUpdateVal: any = { | |
networkNo: 237, | |
startDate: new Date(), | |
weekCount: 1, | |
endDate: '', | |
programName: '', | |
titleName: '', | |
sports: '', | |
action: "GO", | |
addOns: [ | |
'sports_NETWORKS' | |
] | |
} | |
private sportsBulkUpdateLovs: any = { | |
sportsNetworks: '' | |
} | |
//private count1:any; | |
public count1: number = 0; | |
private createPreferencesPopUpWindow; | |
private dynamicPropertyName: string; | |
private notThreeDotDisable = false; | |
private sportsCheckBox: 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 = []; | |
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 bulkKeys = []; | |
private ccRadioFlags = { | |
"locked": "editable", | |
"startDate": "editable", | |
"startTime": "editable", | |
"blockDuration": "editable", | |
"endTime": "editable", | |
"programName": "editable", | |
"programType": "editable", | |
"sportsStartTime": "editable", | |
"actualEndTime": "editable", | |
"actualDuration": "editable", | |
"masterSeries": "editable", | |
"version": "editable", | |
"schedulingType": "editable", | |
"format": "editable", | |
"notes": "editable" | |
}; | |
private dataSourceVal = []; | |
private kendocommand = { | |
edit: { createAt: "bottom" }, | |
group: false, | |
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: "ViewUnlockExport", | |
contextMenuId: "context-SchedulesListEvents", | |
excelFileName: { | |
fileName: "ScheduleListExport", | |
allPages: true | |
}, | |
change: function (e) { | |
$('tr').find('[type=checkbox]').prop('checked', false); | |
$('tr.k-state-selected').find('[type=checkbox]').prop('checked', true); | |
}, | |
searchFields: [] | |
}; | |
private sportsDataAPI: 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": "sports Flag", | |
"season": "sports Date", | |
"sportsStartTime": "sports Start Time", | |
"sportsDuration": "sports Duration", | |
"sportsEndTime": "sports End Time", | |
"sportsSource": "sports Source/Provider", | |
"notes": "sports 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 bulkCreateVal: 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: '', | |
sportsStartTime: '', | |
sportsEndTime: '', | |
sportsDuration: '', | |
sportsDate: '', | |
sportsSource: '', | |
sports: 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 bulkCreateValsports: any = { | |
// networkNo: 241, | |
// startDate: "04/10/2018", | |
// endDate: "04/24/2018", | |
// addOns: [ | |
// "sports_NETWORKS" | |
// ] | |
// } | |
private bulkCreateValsports: any = { | |
//networkNo: 241, | |
networkNo: 237, | |
startDate: new Date(), | |
endDate: '', | |
addOns: [ | |
'sports_NETWORKS' | |
], | |
unlockSchedules: [] | |
} | |
private bulkGridData; | |
private saveBtnEnableDisable = true; | |
private totalUpdates = 0; | |
private totalDeletes = 0; | |
private disableNoAirings = true; | |
private resetPreferenceContext; | |
private goBtnEnableDisable: any = true; | |
// public setInstance(historyPopup : any,gridkendo : any,networkCarousel : any,router : any,financialAmortScheduleDetails :any,kendoDialog : any,cableHistoryPopup : any, gridHeaderMenu? : any){ | |
public setInstance(gridHeaderMenu?: any) { | |
// this.historyPopup = historyPopup; | |
// this.gridkendo = gridkendo; | |
// this.historyPopup.gridkendo = gridkendo; | |
// this.networkCarousel = networkCarousel; | |
// this.router = router; | |
// this.financialAmortScheduleDetails = financialAmortScheduleDetails; | |
// this.financialAmortScheduleDetails.gridkendo = gridkendo; | |
// this.cableHistoryPopup = cableHistoryPopup; | |
// this.gridHeaderMenu = gridHeaderMenu; | |
} | |
@ViewChild(KendoGridComponent) private gridkendo: KendoGridComponent; | |
@ViewChild(ProgressCircle) private progress: ProgressCircle; | |
@ViewChild(NetworkCarousel) private networkCarousel: NetworkCarousel; | |
//@ViewChild(GridHeaderContext) public gridHeaderMenu: GridHeaderContext; | |
//@ViewChild(ValidateGridPopup) private validateGridPopup: ValidateGridPopup; | |
@ViewChild(sportsConflictGridPopup) private sportsConflictGridPopup: sportsConflictGridPopup; | |
constructor(private elementRef: ElementRef, private router: Router, private sportsService: sportsService, ) { } | |
public columns = [ | |
{ 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 }, | |
// { airingProperty: "End Time", airingPropertyParms: "scheduleEndTime", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Feed Name", airingPropertyParms: "feedName", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Program Name", airingPropertyParms: "programName", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Title #", airingPropertyParms: "titleNo", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Title Name", airingPropertyParms: "titleName", readOnly: true, editable: false, editableDisabled: true }, | |
// { airingProperty: "Material ID", airingPropertyParms: "matId", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Version Network", airingPropertyParms: "versionNetwork", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "sports Flag", airingPropertyParms: "sports", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "sports Date", airingPropertyParms: "sportsDate", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "sports Start Time", airingPropertyParms: "sportsStartTime", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "sports Duration", airingPropertyParms: "sportsDuration", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "sports End Time", airingPropertyParms: "sportsEndTime", readOnly: true, editable: false, editableDisabled: true }, | |
// { airingProperty: "sports Source/Provider", airingPropertyParms: "sportsSource", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "sports Notes", airingPropertyParms: "sportsNotes", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "HD", airingPropertyParms: "hd", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Record", airingPropertyParms: "record", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Bug", airingPropertyParms: "bug", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Ticker", airingPropertyParms: "ticker", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "User Added", airingPropertyParms: "addedUser", readOnly: true, editable: false, editableDisabled: true }, | |
// { airingProperty: "Date Added", airingPropertyParms: "dateAdded", readOnly: true, editable: false, editableDisabled: true }, | |
// { airingProperty: "User Updated", airingPropertyParms: "updatedUser", readOnly: true, editable: false, editableDisabled: true }, | |
// { airingProperty: "Date Updated", airingPropertyParms: "dateUpdated", readOnly: true, editable: false, editableDisabled: true } | |
]; | |
ngOnInit() { | |
// this.gridHeaderMenu.gridkendo = this.gridkendo;//assign kendo obj to gridHeaderMenu component | |
//this.setInstance(this.historyPopup,this.gridkendo,this.networkCarousel,this.router,this.financialAmortScheduleDetails,this.kendoDialog,this.cableHistoryPopup, this.gridHeaderMenu); | |
// this.setInstance(this.gridHeaderMenu); | |
let that = this; | |
this.loadView(); | |
this.resetPreferenceContext = jQuery.extend(true, {}, this.columns); | |
this.bulkContextMenu(); | |
/*---Load Default Aggregators----*/ | |
this.loadAggregators(this.selectedNetworkArr.networkNo); | |
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 () { | |
console.log(" unlockCheck checkbox here--->"); | |
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 = []; | |
} | |
}); | |
$("#sportsStartTime").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('sportsStartTime', 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.k-edit-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); | |
that.getGridColumn.getColumns = gview.columns; | |
//that.getGridColumn.selectedRowIndex = cellIndex + 1; | |
that.getGridColumn.selectedRowIndex = cellIndex; | |
that.getGridColumn.selectedRow = selectedRow; | |
that.getGridColumn.selectedRowId = gridrow; | |
} | |
}); | |
$("#context-menu").kendoContextMenu({ | |
target: "#KendoGridView", | |
filter: ".k-grid-content tbody tr[role='row']", | |
select: function (e) { | |
// handle event | |
console.log(e) | |
let selectedMenuItem = $(e.item).children(".k-link").text(); | |
console.log(selectedMenuItem); | |
console.log($(e.item).innetrText); | |
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); | |
} | |
}); | |
// let getGridColumn: any = { | |
// selectedRowIndex: null, | |
// getColumns: [], | |
// selectedRow: null | |
// }; | |
$("#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 | |
// $("#context-menu").kendoContextMenu({ | |
// target: "#KendoGridView", | |
// filter: ".k-grid-content tbody tr[role='row']", | |
// select: function (e) { | |
// // handle event | |
// }, | |
// activate: function (e) { }, | |
// open: function (e) { | |
// if (getGridColumn.getColumns.length && getGridColumn.getColumns[getGridColumn.selectedRowIndex + 1] && getGridColumn.getColumns[getGridColumn.selectedRowIndex + 1].title) { | |
// that.dynamicPropertyName = getGridColumn.getColumns[getGridColumn.selectedRowIndex + 1].title; | |
// that.notThreeDotDisable = true; | |
// } else { | |
// } | |
// } | |
// }); | |
// $("#KendoGridView tr.rowDisabled").on("mousedown contextmenu", function (e) { | |
// e.stopPropagation(); | |
// var contextMenu1 = $("#context-menu").data("kendoContextMenu"); | |
// if (contextMenu1) { | |
// contextMenu1.close($("#context-menu")); | |
// } | |
// return true; | |
// }); | |
// setTimeout(function () { | |
// $("#bulk-context-menu").kendoContextMenu({ | |
// target: "#KendoGridView .k-grid-header thead tr:nth-child(1)", | |
// animation: { | |
// open: { | |
// effects: "fadeIn" | |
// } | |
// } | |
// }); | |
// $('#bulk-context-menu').on('click', '.hideShowColumn', function (e) { | |
// e.stopPropagation(); | |
// }); | |
// }, 100); | |
setTimeout(function () { | |
$('#startTime_timeview li,#endTime_timeview li,#actualStartTime_timeview li,#actualEndTime_timeview li,#sportsStartTime_timeview li,#sportsEndTime_timeview li').css({ "float": "left", "width": 76, "font-size": "12px" }); | |
/*if(that.timeInterval==30){ | |
$('#startTime_timeview,#endTime_timeview,#actualStartTime_timeview,#actualEndTime_timeview,#sportsStartTime_timeview,#sportsEndTime_timeview').parent().css({"width":200}); | |
} else if(that.timeInterval==15){ | |
$('#startTime_timeview,#endTime_timeview,#actualStartTime_timeview,#actualEndTime_timeview,#sportsStartTime_timeview,#sportsEndTime_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; | |
}); | |
//sportsFlagCheck | |
$(document).on('change', '#sportsFlagCheck', function () { | |
let grid = that.gridkendo.getGrid(); | |
// let selectedRow = grid.dataItem(grid.select()); | |
// selectedRow["dirty"] = true; | |
let selectRow = grid.select(); | |
let gridrow = grid.dataItem(selectRow); | |
gridrow.dirty = true; | |
// if(this.checked){ | |
// $('#editIconsports').addClass("gridUpdateIcon"); | |
// alert("I am inside if"); | |
// }else{ | |
// alert("I am inside else"); | |
// if(!$('#editIconsports').hasClass("gridUpdateIcon")){ | |
// $('#editIconsports').removeClass("gridUpdateIcon"); | |
// } | |
// } | |
}); | |
// $(document).on('change', '#sportsFlagCheck', function () { | |
// if ($(this).is(':checked')) { | |
// $('#editIconsports').addClass("gridUpdateIcon"); | |
// alert("I am inside if"); | |
// } else { | |
// alert("I am inside else"); | |
// if (!$('#editIconsports').hasClass("gridUpdateIcon")) { | |
// $('#editIconsports').removeClass("gridUpdateIcon"); | |
// } | |
// } | |
// }); | |
// $(document).on('load', '.unlockCheckbox', function () { | |
// //alert("querySelectorAlle--->" + document.querySelectorAll('.unlockCheckbox').length); | |
// //alert("I am inside change"); | |
// //$(this).parents('tr').find('td').eq(1).addClass("gridUpdateIcon"); | |
// }); | |
} | |
loadAggregators(networkNo) { | |
let data = {}; | |
this.progress.requestStart(); | |
this.sportsService.getResponse('schedules/v1/sportsbulkupdate/', 'get', data) | |
.subscribe(response => { | |
this.sportsBulkUpdateLovs = response.data | |
this.setNetworks(response.data); | |
this.checkboxsportsFlag(response.data); | |
//this.bulkCreateVal.networkStartSeconds = response.data; | |
this.sportsDataAPI = response.data.sportss; | |
this.progress.requestEnd(); | |
}, | |
err => { | |
this.progress.requestEnd(); | |
}); | |
} | |
clearBtnClick() { | |
this.loadAggregators(-1); | |
//let response={"code":"S001","message":"Success","data":{"added":7,"updated":0,"deleted":7,"conflicts":[{"weekDay":"Wednesday","date":"04/11/2018","time":"10:00:00 AM","programName":"LAW & ORDER: SVU ","titleName":"ROCKABYE","prevUpdatedBy":"Brian Marquis","prevUpdatedDate":"2018-03-27 17:59:22.0","action":"Overlaps deleted","scheduleName":"April 2018 old as of 3.23.18"},{"weekDay":"Thursday","date":"04/12/2018","time":"10:00:00 AM","programName":"CHICAGO P.D.","titleName":"WRONG SIDE OF THE BARS","prevUpdatedBy":"Brian Marquis","prevUpdatedDate":"2018-03-27 17:59:22.0","action":"Overlaps deleted","scheduleName":"April 2018 old as of 3.23.18"},{"weekDay":"Friday","date":"04/13/2018","time":"10:00:00 AM","programName":"NCIS: LOS ANGELES (F)","titleName":"PURITY","prevUpdatedBy":"Brian Marquis","prevUpdatedDate":"2018-03-27 17:59:22.0","action":"Overlaps deleted","scheduleName":"April 2018 old as of 3.23.18"},{"weekDay":"Saturday","date":"04/14/2018","time":"10:00:00 AM","programName":"NCIS (LUCKY DUCKY MARATHON)","titleName":"BLOWBACK","prevUpdatedBy":"Brian Marquis","prevUpdatedDate":"2018-03-27 17:59:22.0","action":"Overlaps deleted","scheduleName":"April 2018 old as of 3.23.18"},{"weekDay":"Sunday","date":"04/15/2018","time":"10:00:00 AM","programName":"LAW & ORDER: SVU (NOTORIOUS S.V.U. MARATHON)","titleName":"ROOFTOP","prevUpdatedBy":"Brian Marquis","prevUpdatedDate":"2018-03-27 17:59:22.0","action":"Overlaps deleted","scheduleName":"April 2018 old as of 3.23.18"},{"weekDay":"Monday","date":"04/16/2018","time":"10:00:00 AM","programName":"NCIS","titleName":"ENEMY COMBATANT","prevUpdatedBy":"Brian Marquis","prevUpdatedDate":"2018-03-27 17:59:22.0","action":"Overlaps deleted","scheduleName":"April 2018 old as of 3.23.18"},{"weekDay":"Tuesday","date":"04/10/2018","time":"10:00:00 AM","programName":"NCIS ","titleName":"DEJA VU","prevUpdatedBy":"Brian Marquis","prevUpdatedDate":"2018-03-27 17:59:22.0","action":"Overlaps deleted","scheduleName":"April 2018 old as of 3.23.18"}]}} | |
} | |
goBtnPayload() { | |
let reqPayload; | |
reqPayload = jQuery.extend(true, {}, this.sportsBulkUpdateVal); | |
reqPayload.startDate = kendo.toString(reqPayload.startDate, 'MM/dd/yyyy'); | |
reqPayload.endDate = kendo.toString(reqPayload.endDate, 'MM/dd/yyyy'); | |
return reqPayload; | |
} | |
goBtnClick() { | |
this.goBtnServiceCall(); | |
// let that = this; | |
// //if (that.bulkGridData.length > 0) { | |
// if (true) { | |
// let strMessage = 'Do you want to continue and loss existing changes?'; | |
// $('#commonPopup .kPopUpTitle').text('player'); | |
// $("#commonPopup .kendoContent").text(strMessage); | |
// let dialogConfirm = $("#commonPopup").data("kendoWindow").center().open(); | |
// $("#popupOK").unbind().click(function () { | |
// that.goBtnServiceCall(); | |
// dialogConfirm.close(); | |
// }); | |
// $("#popupCancel").unbind().click(function () { | |
// dialogConfirm.close(); | |
// }); | |
// } else { | |
// that.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.bulkCreateVal.scheduleIds = mapSchedules; | |
} | |
goBtnServiceCall() { | |
let that = this; | |
this.progress.requestStart(); | |
let reqPayload = this.goBtnPayload(); | |
// that.resetPreferenceContext = jQuery.extend(true, {}, this.bulkCreateLovs.changeColumns); | |
//that.resetPreferenceContext = jQuery.extend(true, {}, this.columns); | |
//console.log("reqPayload--->", reqPayload); | |
this.sportsService.getResponse("schedules/v1/sportsbulkupdate/", "post", reqPayload).subscribe(response => { | |
this.bulkCreateValsports.unlockSchedules = jQuery.extend(true, [], this.bulkCreateVal.scheduleIds); | |
console.log("data--->" + response); | |
this.sportsDataAPI = response.data.sportss; | |
this.gridDataLoad(); | |
this.lockedScheduleMsgShow(response.data.sportsProps); | |
this.originalValueMethod(response.data.sportss); | |
this.progress.requestEnd(); | |
}, err => { this.progress.requestEnd(); }); | |
} | |
originalValueMethod(data) { | |
console.log("originalValueMethod originalValueMethod--->" + data); | |
return data; | |
} | |
getTabLevelSaveData(datasource: any, gridKey: any): any { | |
//get the new and the updated records | |
let currentData = datasource._data; | |
let records = []; | |
let TotalAmount = 0 | |
for (let i = 0; i < currentData.length; i++) { | |
if (currentData[i].amount) { | |
TotalAmount = TotalAmount + currentData[i].amount; | |
} | |
if (currentData[i].isNew()) { | |
//this record is new | |
this.dataPush(records, currentData[i], "Create"); | |
} else if (currentData[i].dirty) { | |
this.dataPush(records, currentData[i], "Update"); | |
} | |
} | |
//this records are deleted | |
for (let i = 0; i < datasource._destroyed.length; i++) { | |
this.dataPush(records, datasource._destroyed[i], 'Delete'); | |
} | |
let mergeObject = {}; | |
mergeObject['validate'] = true; | |
mergeObject['keyName'] = gridKey; | |
mergeObject['totalAmount'] = TotalAmount; | |
this.commonCastStaffData[gridKey] = records; | |
mergeObject['data'] = this.commonCastStaffData; | |
return mergeObject | |
} | |
dataPush(records, data, operationType): void { | |
data.operationType = operationType; | |
$.each(data, function (k, v) { | |
if (k.indexOf("FilterRowId") !== -1) { | |
delete data[k]; | |
} | |
}); | |
records.push(data.toJSON()); | |
} | |
saveGrid() { | |
// var grid2 = $("#kgrid").data("kendoGrid"); | |
// grid2.tbody.find("input:checked").closest("tr").each(function (index) { | |
// // whatever you need done. | |
// console.log("// whatever you need done."); | |
// }); | |
let that = this; | |
let grid = that.gridkendo.getGrid(); | |
var recordsUpdates = []; | |
grid.tbody.find("input:checked").closest("tr").each(function (index, row) { | |
// whatever you need done. | |
// console.log("//index whatever you need done.--->" + index); | |
var dataItem = grid.dataItem(row); | |
if (dataItem.dirty == true) { | |
// console.log("// dataItem whatever you need done.--->" + dataItem); | |
var update = { | |
"schedItemNo": dataItem.schedItemNo, | |
"sports": dataItem.sports, | |
"sportsStartTime": dataItem.sportsStartTime, | |
"sportsEndTime": dataItem.sportsEndTime, | |
"sportsDuration": dataItem.sportsDuration, | |
"sportsDate": dataItem.sportsDate, | |
"sportsSource": dataItem.sportsSource, | |
"sportsNotes": dataItem.sportsNotes, | |
"record": dataItem.record, | |
"hd": dataItem.hd, | |
"bug": dataItem.bug, | |
"ticker": dataItem.ticker, | |
}; | |
recordsUpdates.push(update); | |
} | |
}); | |
// console.log("// recordsUpdates whatever you need done.--->" , recordsUpdates); | |
//this.sportsDataAPI = this.originalValueMethod("data"); | |
// console.log("dirty Data---->", this.gridkendo.getTabLevelSaveData()); | |
// this.sportsDataAPI; | |
//that.gridkendo.getGrid() | |
let gridData = { | |
"networkNo": this.bulkCreateValsports.networkNo, | |
"updates": recordsUpdates, | |
// "updates": [{ | |
// "schedItemNo": 26113992, | |
// "sports": "Y", | |
// "sportsStartTime": "07:30 PM", | |
// "sportsEndTime": "09:49 PM", | |
// "sportsDuration": "02:19", | |
// "sportsDate": "01/02/2017", | |
// "sportsSource": 3903, | |
// "sportsNotes": "Airs live, record for captioning gfoLL", | |
// "record": "Y", | |
// "hd": "Y", | |
// "bug": 3999, | |
// "ticker": 3478 | |
// }], | |
"originals": grid.dataSource.data() | |
}; | |
// console.log(gridData); | |
// let response={ | |
// "code":"S001", | |
// "message":"Success", | |
// "data":{ | |
// "added":7,"updated":0,"deleted":7, | |
// "conflicts":[ | |
// {"weekDay":"Wednesday","date":"04/11/2018","time":"10:00:00 AM","programName":"LAW & ORDER: SVU ","titleName":"ROCKABYE","prevUpdatedBy":"Brian Marquis","prevUpdatedDate":"2018-03-27 17:59:22.0","action":"Overlaps deleted","scheduleName":"April 2018 old as of 3.23.18"}, | |
// {"weekDay":"Thursday","date":"04/12/2018","time":"10:00:00 AM","programName":"CHICAGO P.D.","titleName":"WRONG SIDE OF THE BARS","prevUpdatedBy":"Brian Marquis","prevUpdatedDate":"2018-03-27 17:59:22.0","action":"Overlaps deleted","scheduleName":"April 2018 old as of 3.23.18"}, | |
// {"weekDay":"Friday","date":"04/13/2018","time":"10:00:00 AM","programName":"NCIS: LOS ANGELES (F)","titleName":"PURITY","prevUpdatedBy":"Brian Marquis","prevUpdatedDate":"2018-03-27 17:59:22.0","action":"Overlaps deleted","scheduleName":"April 2018 old as of 3.23.18"}, | |
// {"weekDay":"Saturday","date":"04/14/2018","time":"10:00:00 AM","programName":"NCIS (LUCKY DUCKY MARATHON)","titleName":"BLOWBACK","prevUpdatedBy":"Brian Marquis","prevUpdatedDate":"2018-03-27 17:59:22.0","action":"Overlaps deleted","scheduleName":"April 2018 old as of 3.23.18"}, | |
// {"weekDay":"Sunday","date":"04/15/2018","time":"10:00:00 AM","programName":"LAW & ORDER: SVU (NOTORIOUS S.V.U. MARATHON)","titleName":"ROOFTOP","prevUpdatedBy":"Brian Marquis","prevUpdatedDate":"2018-03-27 17:59:22.0","action":"Overlaps deleted","scheduleName":"April 2018 old as of 3.23.18"}, | |
// {"weekDay":"Monday","date":"04/16/2018","time":"10:00:00 AM","programName":"NCIS","titleName":"ENEMY COMBATANT","prevUpdatedBy":"Brian Marquis","prevUpdatedDate":"2018-03-27 17:59:22.0","action":"Overlaps deleted","scheduleName":"April 2018 old as of 3.23.18"}, | |
// {"weekDay":"Tuesday","date":"04/10/2018","time":"10:00:00 AM","programName":"NCIS ","titleName":"DEJA VU","prevUpdatedBy":"Brian Marquis","prevUpdatedDate":"2018-03-27 17:59:22.0","action":"Overlaps deleted","scheduleName":"April 2018 old as of 3.23.18"} | |
// ] | |
// } | |
// } | |
this.sportsService.getResponse("schedules/v1/sportsbulkupdate/", "put", gridData).subscribe(response => { | |
// console.log("saveResponseNotify--->" + response); | |
//this.totalAiringsCount = response.data.added; | |
//this.totalUpdates = response.data.updated; | |
//this.totalDeletes = response.data.deleted; | |
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) { | |
console.log(e.newIndex, e.oldIndex, e.column) | |
} | |
}); | |
this.gridkendo.reloadDataSource(this.sportsDataAPI); | |
this.gridkendo.setContextMenu(); | |
//this.gridHeaderMenu.addDummyHeader(); | |
//that.totalAiringsCount = grid.data.length; | |
that.totalAiringsCount = grid.dataSource.data().length | |
// that.totalAiringsCount = that.getGridLength("Added"); | |
// that.totalDeletes = that.getGridLength("Delete"); | |
// that.disableBtn = false; | |
/* Start - Open context menu on right click */ | |
// setTimeout(function () { | |
// $("#bulk-context-menu").kendoContextMenu({ | |
// target: "#KendoGridView .k-grid-header thead tr:nth-child(1) ", | |
// animation: { | |
// open: { | |
// effects: "fadeIn" | |
// } | |
// } | |
// }); | |
// $('#bulk-context-menu').on('click', '.hideShowColumn', function (e) { | |
// e.stopPropagation(); | |
// }); | |
// }, 100); | |
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", "sportsStartTime", "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 strMessage = 'Do you want to continue and loss existing changes?'; | |
$('#commonPopup .kPopUpTitle').text('player'); | |
$("#commonPopup .kendoContent").text(strMessage); | |
let dialogConfirm = $("#commonPopup").data("kendoWindow").center().open(); | |
$("#popupOK").unbind().click(function () { | |
let grid = that.gridkendo.getGrid(); | |
that.bulkGridData = []; | |
grid.dataSource.data([]); | |
that.totalAiringsCount = 0; | |
that.totalDeletes = 0; | |
dialogConfirm.close(); | |
}); | |
$("#popupCancel").unbind().click(function () { | |
dialogConfirm.close(); | |
}); | |
} | |
// loadPreference(networkNo) { | |
// let data = {}; | |
// //this.progress.requestStart(); | |
// // this.sportsService.getResponse('authorization/v1/loadPreferences?networkNo=1', 'get', data).subscribe(data => { | |
// // //this.sportsService.getlocalResponse("bulk-create-pref", "get", prefData).subscribe(data => { | |
// // this.preferenceData = data; | |
// // this.progress.requestEnd(); | |
// // }, | |
// // err => { this.progress.requestEnd(); }); | |
// } | |
loadPreference(networkNo) { | |
let data = {}; | |
this.progress.requestStart(); | |
// this.sportsService.getResponse('authorization/v1/loadPreferences?networkNo=' + this.bulkCreateVal.networkNo, 'get', data).subscribe(data => { | |
this.sportsService.getResponse('authorization/v1/loadPreferences?networkNo=' + this.bulkCreateValsports.networkNo, 'get', data).subscribe(data => { | |
// bulkCreateValsports | |
//this.sportsService.getlocalResponse("bulk-create-pref", "get", data).subscribe(data => { | |
this.preferenceData = data; | |
// console.log(this.preferenceData) | |
this.progress.requestEnd(); | |
}, | |
err => { this.progress.requestEnd(); }); | |
} | |
ngAfterContentInit() { | |
$('.triggerGridScrollFunctions').trigger('click'); | |
// $("#context-menuAspect").kendoContextMenu({ | |
// target: ".contextMenuRow", | |
// showOn: "click", | |
// select: function (e) { | |
// let selectedMenuItem = $(e.item).children(".k-link").text(); | |
// } | |
// }); | |
//create preferences Popup | |
function onClosePop() { | |
$("html, body").css("overflow", ""); | |
} | |
// this.createPreferencesPopUpWindow = $("#createPreferencesPopUpWindow"); | |
// this.createPreferencesPopUpWindow.kendoWindow({ | |
// width: "350px", | |
// title: false, | |
// visible: false, | |
// actions: [], | |
// draggable: false, | |
// close: onClosePop, | |
// modal: true, | |
// open: function(e) { $("html, body").css("overflow", "hidden"); } | |
// }).data("kendoWindow").center(); | |
this.createDialog("#createPreferencesPopup"); | |
this.createDialog("#commonPopup"); | |
this.lockedSchedulePopup("#lockedSchedulePopup"); | |
} | |
loadView() { | |
let that = this; | |
$("#overlaps0").prop("checked", true); | |
let navHeaderHeight = $('.navHeaderBox').outerHeight(); | |
$('.breadCrumbBox').css('top', navHeaderHeight + 'px'); | |
this.sportsBulkUpdateVal.endDate = that.calculateEndDate(this.sportsBulkUpdateVal.startDate, this.sportsBulkUpdateVal.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.sportsBulkUpdateVal.startDate, | |
open: function (e) { }, | |
change: function () { | |
let dateEntered = $("#startDate").val(); | |
if (this.value() !== null && dateEntered.length > 0) { | |
that.sportsBulkUpdateVal.startDate = this.value(); | |
that.sportsBulkUpdateVal.endDate = that.calculateEndDate(this.value(), that.sportsBulkUpdateVal.weekCount); | |
let endDatePicker = $("#endDate").data("kendoDatePicker"); | |
endDatePicker.value(that.sportsBulkUpdateVal.endDate); | |
} | |
that.validateSearch(); | |
} | |
}); | |
// 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.sportsBulkUpdateVal.endDate, | |
change: function () { | |
let dateEntered = $("#endDate").val(); | |
if (this.value() !== null && dateEntered.length > 0) { | |
that.sportsBulkUpdateVal.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.sportsBulkUpdateVal.weekCount = weekDiff; | |
} | |
that.validateSearch(); | |
} | |
}); | |
$('#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"); | |
}); | |
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 }, | |
title: { type: "string", editable: false }, | |
titleName: { type: "string", editable: false }, | |
matId: { type: "string", editable: false }, | |
versionNetwork: { type: "string", editable: false }, | |
sports: { type: "string", editable: true }, | |
sportsDate: { type: "string", editable: true }, | |
sportsStartTime: { type: "dateTime", editable: true }, | |
sportsDuration: { editable: true }, | |
sportsEndTime: { type: "string", editable: false }, | |
sportsSource: { type: "string", editable: true }, | |
sportsNotes: { 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.columns = [ | |
{ | |
field: "contextRow", | |
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")}, | |
template: "<input type='checkbox' class='gridCheckBox'>", | |
attributes: { | |
style: "padding: 0 8px 0 12px;" | |
} | |
}, { | |
filterable: false, | |
width: 30, | |
resizable: false, | |
sortable: false, | |
field: "gridType", | |
editable: false, | |
title: " ", | |
// template: "<span class='eventType newEvent text-succcess'><span id='editIconsports' class='displayBlock'></span></span> " | |
template: "<span *ngIf = 'isDisplayEdit' class='eventType newEvent text-succcess'><span id='editIconsports' *ngIf = 'isDisplayEdit' class=' displayBlock'></span></span> " | |
}, { | |
field: "scheduleName", | |
title: "Schedule Name", | |
width: 200, | |
editable: false, | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
}, | |
}, { | |
field: "schedItemNo", | |
title: "Schedule Item #", | |
width: 200, | |
editable: false, | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
}, | |
}, { | |
field: "scheduleStartDate", | |
title: "Start Date", | |
width: 200, | |
editable: false, | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, { | |
field: "scheduleStartTime", | |
title: "Start Time", | |
width: 200, | |
editable: false, | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, { | |
field: "scheduleEndTime", | |
title: "End Time", | |
width: 200, | |
editable: false, | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, { | |
field: "feedName", | |
title: "Feed Name", | |
width: 200, | |
editable: false, | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, { | |
field: "programName", | |
title: "Program Name", | |
width: 200, | |
editable: false, | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, { | |
field: "titleNo", | |
title: "Title #", | |
width: 200, | |
editable: false, | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, { | |
field: "titleName", | |
title: "Title Name", | |
width: 200, | |
editable: false, | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, | |
{ | |
field: "matId", | |
title: "Material ID", | |
width: 200, | |
editable: false, | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, | |
{ | |
field: "versionNetwork", | |
title: "Version Network", | |
width: 200, | |
editable: false, | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, | |
{ | |
field: "sports", | |
title: "sports Flag", | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
width: 30, | |
resizable: false, | |
sortable: false, | |
editable: true, | |
// editor: function () { | |
// //this.isDisplayEdit = true; | |
// type.dirty = true; | |
// }, | |
editor: function (container, options) { | |
that.sportsFlagEditor(container, options, that); | |
// let grid = that.gridkendo.getGrid(); | |
// let selectRow = grid.select(); | |
// let gridrow = grid.dataItem(selectRow); | |
// gridrow.dirty=true; | |
}, | |
template: function sportsFunc(sports) { | |
return that.sportsCheckBox(sports, that); | |
}, | |
}, | |
//template: function () { return that.checkboxsportsFlag("") }, | |
// template: function () { | |
// var tem = ""; | |
// if(this.sports=="N"){ | |
// tem = '<input type="checkbox" class="checkBox" />', | |
// }else{ | |
// '<input type="checkbox" checked="checked" class="checkBox" />', | |
// } | |
// // return that.actualEndTimeTemplate(actualEndTime, that); | |
// }, | |
// { | |
// field: "sportsFlag", | |
// title: "sports Flag", | |
// width: 150, | |
// filterable: that.gridkendo.getAutoFilter("contains"), | |
// sortable: false, | |
// template: '<input type="checkbox" #= (sportsFlag!=undefined || sportsFlag!=null || sportsFlag!="" || sportsFlag==false) ? "" : \'checked="checked"\' # class="checkBox" />', | |
// // template: function sportsFunc(sportsFlag) { | |
// // return that.sportsCheckBox(sportsFlag, that); | |
// // }, | |
// headerAttributes: { | |
// class: "multiCheckboxFilterEnabled" | |
// } | |
// }, | |
// { | |
// field: "sportsDate", | |
// title: "sports Date", | |
// width: 200, | |
// filterable: that.gridkendo.getAutoFilter("contains"), | |
// template: function fromDatefunction(startDate) { | |
// return that.sportsDateTemplate(startDate, that); | |
// }, | |
// editor: function (container, options) { | |
// that.dateEditor(container, options, that); | |
// }, | |
// headerAttributes: { | |
// class: "multiCheckboxFilterEnabled" | |
// } | |
// }, | |
{ | |
field: "sportsDate", | |
title: "sports Date", | |
width: 200, | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
sortable: false, | |
template: function datefunction(sportsDate) { | |
return that.sportsDateTemplate(sportsDate, that); | |
}, | |
editor: function (container, options) { | |
that.sportsDateEditor(container, options, that); | |
}, | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, | |
// { | |
// field: "sportsStartTime", | |
// title: "sports Start Time", | |
// width: 200, | |
// filterable: that.gridkendo.getAutoFilter("contains"), | |
// template: function timefunction(startTime) { | |
// return that.startTimeTemplate(startTime, that); | |
// }, | |
// editor: function (container, options) { | |
// return that.startTimeEditor(container, options, that); | |
// }, | |
// headerAttributes: { | |
// class: "multiCheckboxFilterEnabled" | |
// } | |
// }, | |
{ | |
field: "sportsStartTime", | |
title: "sports Start Time", | |
width: 200, | |
filterable: false, | |
sortable: false, | |
template: function sportsStartTime(sportsStartTime) { | |
return that.sportsStartTimeTemplate(sportsStartTime, that); | |
}, | |
editor: function (container, options) { | |
return that.sportsTimeEditor(container, options, that, "sportsStartTime"); | |
}, | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, | |
{ | |
field: "sportsDuration", | |
title: "sports Duration", | |
width: 200, | |
filterable: false, | |
sortable: false, | |
template: function sportsDuration(sportsDuration) { | |
return that.sportsDurationTemplate(sportsDuration, that); | |
}, | |
editor: function (container, options) { | |
return that.sportsDurationEditor(container, options, that); | |
}, | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, { | |
field: "sportsEndTime", | |
title: "sports End Time", | |
width: 200, | |
filterable: false, | |
sortable: false, | |
template: function sportsEndTime(sportsEndTime) { | |
return that.sportsEndTimeTemplate(sportsEndTime, that); | |
}, | |
editor: function (container, options) { | |
return that.sportsTimeEditor(container, options, that, "sportsEndTime"); | |
}, | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, | |
// { | |
// field: "sportsDuration", | |
// title: "sports Duration", | |
// width: 200, | |
// filterable: that.gridkendo.getAutoFilter("contains"), | |
// headerAttributes: { | |
// class: "multiCheckboxFilterEnabled" | |
// } | |
// }, | |
// { | |
// field: "sportsEndTime", | |
// title: "sports End Time", | |
// width: 200, | |
// filterable: that.gridkendo.getAutoFilter("contains"), | |
// headerAttributes: { | |
// class: "multiCheckboxFilterEnabled" | |
// } | |
// }, | |
// { | |
// field: "sportsSourceProvider", | |
// title: "sports Source Provider", | |
// width: 200, | |
// filterable: that.gridkendo.getAutoFilter("contains"), | |
// template: function productfunction(programType) { | |
// return that.productTemplate(programType, that); | |
// }, | |
// editor: function (container, options) { | |
// return that.productEditor(container, options, that); | |
// }, | |
// headerAttributes: { | |
// class: "multiCheckboxFilterEnabled" | |
// } | |
// }, | |
{ | |
field: "sportsSource", | |
title: "sports Source/Provider", | |
width: 200, | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
sortable: false, | |
template: function sourcefunction(sportsSource) { | |
return that.sportsSourceTemplate(sportsSource, that); | |
}, | |
editor: function (container, options) { | |
return that.sportsSourceEditor(container, options, that); | |
}, | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, | |
// { | |
// field: "sportsNotes", | |
// title: "sports Notes", | |
// width: 200, | |
// filterable: that.gridkendo.getAutoFilter("contains"), | |
// headerAttributes: { | |
// class: "multiCheckboxFilterEnabled" | |
// } | |
// }, | |
{ | |
field: "sportsNotes", | |
title: "sports Notes", | |
width: 200, | |
filterable: false, | |
sortable: false, | |
template: function inputFunc(sportsNotes) { | |
return that.textboxTemplate(sportsNotes, that, "sportsNotes"); | |
}, | |
editor: function (container, options) { | |
return that.penPlaceHello(container, options, that, "sportsNotes"); | |
}, | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, | |
{ | |
field: "hd", | |
title: "HD", | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
width: 30, | |
resizable: false, | |
sortable: false, | |
editable: true, | |
editor: function () { | |
// this.isDisplayEdit = true; | |
}, | |
template: function hdFunc(hd) { | |
return that.hdCheckBox(hd, that); | |
}, | |
}, | |
{ | |
field: "record", | |
title: "Record", | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
width: 30, | |
resizable: false, | |
sortable: false, | |
editable: true, | |
editor: function () { | |
// this.isDisplayEdit = true; | |
}, | |
template: function recordFunc(record) { | |
return that.recordCheckBox(record, that); | |
}, | |
}, | |
{ | |
field: "bug", | |
title: "Bug", | |
width: 200, | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
sortable: false, | |
// editable: true, | |
template: function bugfunction(bug) { | |
return that.bugTemplate(bug, that); | |
}, | |
editor: function (container, options) { | |
return that.bugEditor(container, options, that); | |
}, | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, | |
// { | |
// field: "ticker", | |
// title: "Ticker", | |
// width: 200, | |
// filterable: that.gridkendo.getAutoFilter("contains"), | |
// template: function productfunction(programType) { | |
// return that.productTemplate(programType, that); | |
// }, | |
// editor: function (container, options) { | |
// return that.productEditor(container, options, that); | |
// }, | |
// headerAttributes: { | |
// class: "multiCheckboxFilterEnabled" | |
// } | |
// }, | |
{ | |
field: "ticker", | |
title: "Ticker", | |
width: 200, | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
sortable: false, | |
template: function tickerfunction(ticker) { | |
return that.tickerTemplate(ticker, that); | |
}, | |
editor: function (container, options) { | |
return that.tickerEditor(container, options, that); | |
}, | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, | |
{ | |
field: "addedUser", | |
title: "User Added", | |
width: 200, | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, | |
{ | |
field: "dateAdded", | |
title: "Date Added", | |
width: 200, | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, | |
{ | |
field: "updatedUser", | |
title: "User Updated", | |
width: 200, | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
}, | |
{ | |
field: "dateUpdated", | |
title: "Date Updated", | |
width: 200, | |
filterable: that.gridkendo.getAutoFilter("contains"), | |
headerAttributes: { | |
class: "multiCheckboxFilterEnabled" | |
} | |
} | |
]; | |
$('<div class="gridScrollIconsBox"><i class="fa fa-chevron-left previousGridColumns"></i><i class="fa fa-chevron-right nextGridColumns" ></i></div>').insertBefore('.k-grid-header'); | |
} | |
getDefault(data: any) { | |
for (var i = 0; i < data.length; i++) { | |
if (data[i].hasOwnProperty("isDefault")) { | |
if (data[i].isDefault) | |
return data[i]; | |
break; | |
} | |
} | |
} | |
/* sports checkbox template */ | |
private sportsCheckBox(type: any, that: any) { | |
let value; | |
if (type.sports == "N" || type.sports == null) { | |
value = '<input type="checkbox" id = "sportsFlagCheck" class="checkBox" />'; | |
} else if (type.sports == "Y") { | |
value = '<input type="checkbox" id = "sportsFlagCheck" checked="checked" class="checkBox" />'; | |
} | |
return value; | |
} | |
/* hd checkbox template */ | |
private hdCheckBox(type: any, that: any) { | |
let value; | |
if (type.hd == "N" || type.hd == null) { | |
value = '<input type="checkbox" class="checkBox" />'; | |
} else if (type.hd == "Y") { | |
value = '<input type="checkbox" checked="checked" class="checkBox" />'; | |
} | |
return value; | |
} | |
/* record checkbox template */ | |
private recordCheckBox(type: any, that: any) { | |
let value; | |
if (type.record == "N" || type.record == null) { | |
value = '<input type="checkbox" class="checkBox" />'; | |
} else if (type.record == "Y") { | |
value = '<input type="checkbox" checked="checked" class="checkBox" />'; | |
} | |
return value; | |
} | |
private masterCheckboxClick(event: any) { | |
//console.log("masterCheckboxClick--->"); | |
if (event.target.checked) { | |
} | |
} | |
/* notes template column */ | |
private textboxTemplate(note: any, that: any, field: any): any { | |
// if(field=='programName'){ | |
// if (note.programName == undefined || note.programName == null || note.programName == "") { | |
// note.programName = ""; | |
// return note.programName; | |
// } else { | |
// return note.programName; | |
// } | |
// } | |
if (field == 'sportsNotes') { | |
if (note.sportsNotes == undefined || note.sportsNotes == null || note.sportsNotes == "") { | |
note.sportsNotes = ""; | |
return note.sportsNotes; | |
} else { | |
return note.sportsNotes; | |
} | |
} | |
// else if(field=='commentText'){ | |
// if (note.commentText == undefined || note.commentText == null || note.commentText == "") { | |
// note.commentText = ""; | |
// return note.commentText; | |
// } else { | |
// return note.commentText; | |
// } | |
// } | |
// else if(field=='userAddedName'){ | |
// if (note.userAddedName == undefined || note.userAddedName == null || note.userAddedName == "") { | |
// note.userAddedName = ""; | |
// return note.userAddedName; | |
// } else { | |
// return note.userAddedName; | |
// } | |
// } | |
// else if(field=='userUpdatedName'){ | |
// if (note.userUpdatedName == undefined || note.userUpdatedName == null || note.userUpdatedName == "") { | |
// note.userUpdatedName = ""; | |
// return note.userUpdatedName; | |
// } else { | |
// return note.userUpdatedName; | |
// } | |
// } | |
// else{ | |
// } | |
} | |
/* notes template editor column */ | |
private penPlaceHello(container, options, that, field): any { | |
let grid = that.gridkendo.getGrid(); | |
let selectRow = grid.select(); | |
let gridrow = grid.dataItem(selectRow); | |
gridrow.dirty = true; | |
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=='programName'){ | |
// if (editable == false) { | |
// $('<span>' + options.model.programName + '</span>' + '</span>').appendTo(container); | |
// } else { | |
// var input = $('<input type="text" class="commentText" data-bind="value:' + options.field + '"/>'); | |
// input.appendTo(container); | |
// } | |
// } | |
if (field == 'sportsNotes') { | |
if (editable == false) { | |
$('<span>' + options.model.sportsNotes + '</span>' + '</span>').appendTo(container); | |
} else { | |
var input = $('<input type="text" class="commentText" data-bind="value:' + options.field + '"/>'); | |
input.appendTo(container); | |
} | |
} | |
// else if(field=='commentText'){ | |
// if (editable == false) { | |
// $('<span>' + options.model.commentText + '</span>' + '</span>').appendTo(container); | |
// } else { | |
// var input = $('<input type="text" class="commentText" data-bind="value:' + options.field + '"/>'); | |
// input.appendTo(container); | |
// } | |
// } | |
// else if(field=='userAddedName'){ | |
// if (editable == false) { | |
// $('<span>' + options.model.commentText + '</span>' + '</span>').appendTo(container); | |
// } | |
// } | |
// else if(field=='userUpdatedName'){ | |
// if (editable == false) { | |
// $('<span>' + options.model.commentText + '</span>' + '</span>').appendTo(container); | |
// } | |
// } | |
} | |
checkboxsportsFlag(data: any) { | |
let that = this; | |
//console.log("gridDataAll checkboxsportsFlag--->", data.sportss); | |
// var tem = ""; | |
// if(that.sports=="N"){ | |
// tem = '<input type="checkbox" class="checkBox" />', | |
// }else{ | |
// '<input type="checkbox" checked="checked" class="checkBox" />', | |
// } | |
// // return that.actualEndTimeTemplate(actualEndTime, that); | |
// 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/>'; | |
// } | |
} | |
setNetworks(data: any) { | |
// var sportsmoons =[{Lion: 237, birds: "Animal Sports Bay Area", fish: 1, isDefault: true, wire: ""}, | |
// {Lion: 238, birds: "Animal Sports California", fish: 1, wire: ""}, | |
// {Lion: 239, birds: "Animal Sports Washington", fish: 1, wire: ""}, | |
// {Lion: 240, birds: "Animal Sports Philadelphia", fish: 1, wire: ""}]; | |
// function getDefault(sportsmoons){ | |
// for(var i=0; i<sportsmoons.length; i++){ | |
// if(sportsmoons[i].hasOwnProperty("isDefault")) | |
// { | |
// if(sportsmoons[i].isDefault) | |
// return sportsmoons[i]; | |
// break; | |
// } | |
// } | |
// } | |
// for(var i=0; i<data.length; i++){ | |
// if(data[i].hasOwnProperty("isDefault")) | |
// { | |
// if(data[i].isDefault) | |
// return data[i]; | |
// break; | |
// } | |
// } | |
//console.log(getDefault(sportsmoons)) | |
let that = this; | |
let tempObj = {}; | |
//tempObj['networkNo'] = 237; | |
//tempObj['Lion'] = getDefault(sportsmoons).Lion | |
//tempObj['networkNo'] = this.getDefault(data).networkNo; | |
//console.log("data outside if---->", data); | |
//console.log("after data check---->" + tempObj['networkNo')); | |
// console.log(data instanceof Array); | |
// if(data && data.length > 0){ | |
// console.log(" inside if---->" + data); | |
let defauktNetworkNOData = data.sportsNetworks.find((elem) => { return elem.isDefault; }); | |
//that.gridDataAll.find((elem) => { return elem.isDefault; }); | |
tempObj['networkNo'] = defauktNetworkNOData.networkNo; | |
//} | |
// tempObj['networkNo'] = data.sportsNetworks[0].networkNo; | |
//tempObj['networkName'] = 'blanket Sports Bay Area'; | |
// tempObj['networkNo'] = data.selectedNetworkNo; | |
tempObj['networkName'] = defauktNetworkNOData.networkName; | |
this.networkTempArray = []; | |
this.networkTempArray.push(tempObj); | |
let networksdata = data.sportsNetworks; | |
let networksDataList = this.networkTempArray; | |
//let selectedNetwork = networksdata.find(elem => elem.networkNo == 237); | |
this.sportsBulkUpdateVal.networkNo = defauktNetworkNOData.networkNo; | |
let selectedNetwork = networksdata.find(elem => elem.networkNo == defauktNetworkNOData.networkNo); | |
// this.bulkCreateVal.networkNo = defauktNetworkNOData.networkNo; | |
this.selectedNetworkArr = selectedNetwork; | |
//this.networkCarousel.setNetworkData(networksdata, networksDataList, 237); | |
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; | |
//this.networkCarousel.clearnetworksearch(data); | |
} | |
singleSelection(data, e: any) { | |
this.networkCarousel.getClearNetworks(); | |
this.networkCarousel.networkLogoClick(e); | |
var getSelect = this.networkCarousel.getselectedNetwork(); | |
let networksdata = data.sportsNetworks; | |
let selectedNetwork = networksdata.find(elem => elem.networkNo == getSelect[0].networkNo); | |
this.sportsBulkUpdateVal.networkNo = getSelect[0].networkNo; | |
this.selectedNetworkArr = selectedNetwork; | |
//this.loadAggregators(this.selectedNetworkArr.networkNo); | |
} | |
validateSearch() { | |
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.bulkCreateVal.days.length > 0 && !this.feedMandatoryClass) { | |
return this.goBtnEnableDisable = false; | |
} else { return this.goBtnEnableDisable = true; } | |
// this.goBtnEnableDisable(); | |
} | |
// clear_fields() { | |
// } | |
// 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, options, 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 + '/>'; | |
// } | |
// } | |
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; | |
} | |
} | |
// private sportsDateTemplate(type: any, that: any): any { | |
// let dateValue = ""; | |
// if (type.sportsDate == undefined || type.sportsDate == null || type.sportsDate == "") { | |
// type.sportsDate = "" | |
// return type.sportsDate; | |
// } else { | |
// let myDate = new Date(type.sportsDate); | |
// dateValue = (myDate.getMonth() + 1) + "/" + myDate.getDate() + "/" + myDate.getFullYear(); | |
// return dateValue; | |
// } | |
// } | |
private sportsFlagEditor(container, options, that): any { | |
let grid = that.gridkendo.getGrid(); | |
let selectRow = grid.select(); | |
let gridrow = grid.dataItem(selectRow); | |
gridrow.dirty = true; | |
} | |
/* sports date Editor */ | |
// private sportsDateEditor(container, options, that): any { | |
// let grid = this.gridkendo.getGrid(); | |
// let editable = grid.dataSource.options.schema.model.fields[options.field].editable; | |
// if (editable == false) { | |
// $('<span>' + options.model.sportsDate + '</span>').appendTo(container); | |
// } else { | |
// 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 grid = that.gridkendo.getGrid(); | |
// let selectRow = grid.select(); | |
// let gridrow = grid.dataItem(selectRow); | |
// let setDate = ""; | |
// if (options.model.sportsDate) { | |
// setDate = kendo.toString(new Date(options.model.sportsDate), "MM/dd/yyyy"); | |
// } | |
// that.setValue(setDate, "", options.field); | |
// // that.validateOverlap(setDate, selectRow, 'sportsDate'); | |
// } | |
// }); | |
// var datePicker = input.data("kendoDatePicker"); | |
// } | |
// } | |
/*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); | |
} | |
/* sports Date Template */ | |
private sportsDateTemplate(type: any, that: any): any { | |
let dateValue = ""; | |
if (type.sportsDate == undefined || type.sportsDate == null || type.sportsDate == "") { | |
type.sportsDate = "" | |
return type.sportsDate; | |
} else { | |
let myDate = new Date(type.sportsDate); | |
dateValue = (myDate.getMonth() + 1) + "/" + myDate.getDate() + "/" + myDate.getFullYear(); | |
return dateValue; | |
} | |
} | |
/* sports date Editor */ | |
private sportsDateEditor(container, options, that): any { | |
let grid = that.gridkendo.getGrid(); | |
let selectRow = grid.select(); | |
let gridrow = grid.dataItem(selectRow); | |
gridrow.dirty = true; | |
//let grid = this.gridkendo.getGrid(); | |
let editable = grid.dataSource.options.schema.model.fields[options.field].editable; | |
if (editable == false) { | |
$('<span>' + options.model.sportsDate + '</span>').appendTo(container); | |
} else { | |
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 grid = that.gridkendo.getGrid(); | |
let selectRow = grid.select(); | |
let gridrow = grid.dataItem(selectRow); | |
let setDate = ""; | |
if (options.model.sportsDate) { | |
setDate = kendo.toString(new Date(options.model.sportsDate), "MM/dd/yyyy"); | |
} | |
that.setValue(setDate, "", options.field); | |
// that.validateOverlap(setDate, selectRow, 'sportsDate'); | |
} | |
}); | |
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 { | |
// return time.startTime; | |
// } | |
else { | |
console.log("gridDataAll bugTemplate--->", that.gridDataAll); | |
//var sType = that.bulkCreateLovs.bug == undefined ? [] : that.bulkCreateLovs.bug; | |
// var sType = that.gridDataAll.startTime == undefined ? [] : that.gridDataAll.startTime; | |
// var sValue = ''; | |
// var sTypeBug = sType.find(elem => elem.startTime == time.startTime); | |
// if (sTypeBug) { | |
// return sValue = sTypeBug.propertyListValue; | |
// } | |
} | |
} | |
/* 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(); | |
} | |
}); | |
} | |
} | |
/* sports duration template */ | |
private sportsDurationTemplate(type: any, that: any): any { | |
if (type.sportsDuration == undefined || type.sportsDuration == null || type.sportsDuration == "" || type.sportsDuration == "-1") { | |
type.sportsDuration = ""; | |
return "00:00"; | |
} | |
else { | |
return type.sportsDuration; | |
} | |
} | |
/* sports end time template*/ | |
private sportsEndTimeTemplate(type: any, that: any): any { | |
if (type.sportsEndTime == undefined || type.sportsEndTime == null || type.sportsEndTime == "") { | |
type.sportsEndTime = ""; | |
return ""; | |
} | |
else { | |
return type.sportsEndTime; | |
} | |
} | |
/* sports Duration Editor*/ | |
private sportsDurationEditor(container, options, that) { | |
let grid = that.gridkendo.getGrid(); | |
let selectRow = grid.select(); | |
let gridrow = grid.dataItem(selectRow); | |
gridrow.dirty = true; | |
//let grid = this.gridkendo.getGrid(); | |
let editable = grid.dataSource.options.schema.model.fields[options.field].editable; | |
if (editable == false) { | |
$('<span>' + options.model.sportsDuration + '</span>').appendTo(container); | |
} else { | |
$('<input name="' + options.field + '"/>').appendTo(container).kendoMaskedTextBox({ | |
mask: "00:00", | |
promptChar: "0", | |
value: options.model.sportsDuration, | |
change: function (e) { | |
} | |
}).on("keyup", function (e) { | |
let grid = that.gridkendo.getGrid(); | |
let gridrow = grid.dataItem(grid.select()); | |
let sportsEndTimeInx: number = 0; | |
grid.columns.find(function (v, i) { | |
if (grid.columns[i].field == 'sportsDuration') { | |
sportsEndTimeInx = i - 1; | |
} | |
}); | |
if (!that.validateDurationError($(this).val())) { | |
grid.tbody.find("tr[data-uid='" + gridrow.uid + "']").find("td:eq( " + sportsEndTimeInx + " )").removeClass('mandatoryField'); | |
let sportsstartTime = that.convertTo24Hour(gridrow.sportsStartTime); | |
let endTimeDuration = that.addTimes(sportsstartTime, $(this).val()); | |
gridrow.set("sportsEndTime", endTimeDuration); | |
if ($(this).val() == "") { | |
gridrow.set("sportsDuration", "00:00"); | |
} | |
} else { | |
grid.tbody.find("tr[data-uid='" + gridrow.uid + "']").find("td:eq( " + sportsEndTimeInx + " )").addClass('mandatoryField'); | |
} | |
gridrow.trigger("change"); | |
}); | |
} | |
} | |
/* 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; | |
//console.log("data--->" + data); | |
let value = "<i>" + data + "</i>"; | |
return value; | |
} | |
} | |
} | |
} | |
/* productEditor method:For displaying and editing product field */ | |
private productEditor(container, options, that) { | |
console.log("options--->" + options); | |
this.rowDotMenuClick("true"); | |
if (options.model.archiveFlag == "Y") { | |
console.log("options.model.programType--->" + options.model.programType); | |
$('<label>' + options.model.programType + '</label>').appendTo(container); | |
} else { | |
console.log("options.field--->" + options.field); | |
let input = $('<input name="' + options.field + '" class="k-input" />').appendTo(container); | |
input.kendoComboBox(that.kendoComboBoxOptionProgramEditor).appendTo(container); | |
$('.k-input-readonly').prop('readonly', true); | |
} | |
} | |
// private feedTemplate(type: any, that: any): any { | |
// let dateValue = ""; | |
// if (type.bug == undefined || type.bug == null || type.bug == "") { | |
// type.bug = "" | |
// return type.bug; | |
// } else { | |
// console.log("that.gridDataAll--->" + that.gridDataAll); | |
// // console.log("that.gridDataAll--->" + that.gridDataAll); | |
// var sType = that.gridDataAll.feeds == undefined ? [] : that.gridDataAll.feeds; | |
// var sValue = ''; | |
// var sTypeFeed = sType.find(elem => elem.bug == type.bug); | |
// if (sTypeFeed) { | |
// return sValue = sTypeFeed.feedName; | |
// } | |
// } | |
// } | |
/*Feed Name editor */ | |
// private feedEditor(container, options, that) { | |
// let grid = this.gridkendo.getGrid(); | |
// console.log("feedEditor--->" + grid); | |
// let gridIndex = grid.select().index(); | |
// //let editable = grid.dataSource.options.schema.model.fields[options.field].editable; | |
// let editable = true; | |
// let scheduleList: any = []; | |
// let scheduleListNo = ''; | |
// let scheduleFeed = ''; | |
// // if (editable == false) { | |
// if (!editable) { | |
// $('<span>' + options.model.bug + '</span>').appendTo(container); | |
// } else { | |
// this.rowDotMenuClick("true"); | |
// console.log("that.gridDataAll feedEditor--->" + that.gridDataAll); | |
// var sType = that.gridDataAll.Bug; | |
// var input = $('<input data-bind="value:' + options.field + '"/>'); | |
// input.appendTo(container) | |
// .kendoComboBox({ | |
// dataSource: sType, | |
// dataTextField: "feedName", | |
// dataValueField: "bug", | |
// change: function (e) { | |
// var value = this.value(); | |
// var sTypeFeed = sType.find(elem => elem.bug == value); | |
// if (sTypeFeed) { | |
// scheduleFeed = sTypeFeed.feedName; | |
// scheduleList = sTypeFeed.schedules; | |
// } | |
// if (scheduleList != null) { | |
// scheduleList = scheduleList[0].scheduleName; | |
// scheduleListNo = scheduleList[0].scheduleNo; | |
// } else { | |
// scheduleList = scheduleFeed; | |
// } | |
// that.setValue(scheduleList, "", 'scheduleName'); | |
// } | |
// }); | |
// } | |
// } | |
//sportsSourceTemplate | |
/* Bug template */ | |
private sportsSourceTemplate(type: any, that: any): any { | |
if (type.sportsSource == undefined || type.sportsSource == null || type.sportsSource == "") { | |
type.sportsSource = ""; | |
return type.sportsSource; | |
} else { | |
// console.log("gridDataAll sportsSourceTemplate--->", that.gridDataAll); | |
//var sType = that.bulkCreateLovs.bug == undefined ? [] : that.bulkCreateLovs.bug; | |
//that.gridDataAll["sports Source/Provider"] | |
var sType = that.gridDataAll.sports_SOURCE == undefined ? [] : that.gridDataAll.sports_SOURCE; | |
// var sType = that.gridDataAll["sports Source/Provider"] == undefined ? [] : that.gridDataAll["sports Source/Provider"]; | |
var sValue = ''; | |
var sTypeBug = sType.find(elem => elem.propertyListValueID == type.sportsSource); | |
if (sTypeBug) { | |
return sValue = sTypeBug.propertyListValue; | |
} | |
} | |
} | |
// /* Bug template editor */ | |
private sportsSourceEditor(container, options, that) { | |
let grid = that.gridkendo.getGrid(); | |
let selectRow = grid.select(); | |
let gridrow = grid.dataItem(selectRow); | |
gridrow.dirty = true; | |
this.rowDotMenuClick("true"); | |
//let grid = this.gridkendo.getGrid(); | |
//let editable = grid.dataSource.options.schema.model.fields[options.field].editable; | |
let editable = true; | |
if (!editable) { | |
$('<span>' + options.model.sportsSource + '</span>').appendTo(container); | |
} else { | |
//console.log("gridDataAll bugEditor--->", that.gridDataAll); | |
//var sType = that.gridDataAll["sports Source/Provider"]; | |
var sType = that.gridDataAll.sports_SOURCE == undefined ? [] : that.gridDataAll.sports_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 { | |
//console.log("gridDataAll bugTemplate--->", that.gridDataAll); | |
//var sType = that.bulkCreateLovs.bug == undefined ? [] : that.bulkCreateLovs.bug; | |
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.rowDotMenuClick("true"); | |
let grid = this.gridkendo.getGrid(); | |
//let editable = grid.dataSource.options.schema.model.fields[options.field].editable; | |
let editable = true; | |
if (!editable) { | |
$('<span>' + options.model.bug + '</span>').appendTo(container); | |
} else { | |
// console.log("gridDataAll bugEditor--->", that.gridDataAll); | |
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 { | |
// console.log("gridDataAll tickerTemplate--->", that.gridDataAll); | |
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.rowDotMenuClick("true"); | |
let grid = this.gridkendo.getGrid(); | |
//let editable = grid.dataSource.options.schema.model.fields[options.field].editable; | |
let editable = true; | |
if (!editable) { | |
//if (editable == false) { | |
$('<span>' + options.model.ticker + '</span>').appendTo(container); | |
} else { | |
console.log("gridDataAll tickerEditor--->", that.gridDataAll); | |
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(); | |
} | |
} | |
/* sports start time template */ | |
private sportsStartTimeTemplate(type: any, that: any): any { | |
if (type.sportsStartTime == undefined || type.sportsStartTime == null || type.sportsStartTime == "") { | |
type.sportsStartTime = ""; | |
return ""; | |
} | |
else { | |
return type.sportsStartTime; | |
} | |
} | |
private sportsTimeEditor(container, options, that, timeType) { | |
let grid = that.gridkendo.getGrid(); | |
let selectRow = grid.select(); | |
let gridrow = grid.dataItem(selectRow); | |
gridrow.dirty = true; | |
//let grid = this.gridkendo.getGrid(); | |
let editable = grid.dataSource.options.schema.model.fields[options.field].editable; | |
if (editable == false) { | |
if (timeType == "sportsStartTime") { | |
$('<span>' + options.model.sportsStartTime + '</span>').appendTo(container); | |
} else { | |
$('<span>' + options.model.sportsEndTime + '</span>').appendTo(container); | |
} | |
} else { | |
if (timeType == "sportsStartTime") { | |
var defaultVal = options.model.sportsStartTime; | |
} else { | |
var defaultVal = options.model.sportsEndTime; | |
} | |
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 sportsEndTimeInx: number = 0; | |
grid.columns.find(function (v, i) { | |
if (grid.columns[i].field == 'sportsEndTime') { | |
sportsEndTimeInx = i - 1; | |
} | |
}); | |
if (this.value() != null) { | |
setTime = kendo.toString(new Date(this.value()), "hh:mm tt"); | |
} | |
if (timeType == "sportsStartTime") { | |
let sportsDuration = ""; | |
if (gridrow.sportsDuration == "") { | |
sportsDuration = gridrow.blockDuration; | |
gridrow.set("sportsDuration", gridrow.blockDuration); | |
} | |
gridrow.set("sportsStartTime", setTime); | |
let sportsStartTime = that.convertTo24Hour(setTime); | |
let endTime = that.addTimes(sportsStartTime, gridrow.sportsDuration); | |
gridrow.set("sportsEndTime", endTime); | |
} /* else { | |
gridrow.set("sportsEndTime", setTime); | |
let startval = that.convertTo24Hour(gridrow.sportsStartTime); | |
let endval = that.convertTo24Hour(gridrow.sportsEndTime); | |
let differ = that.TimeDifference(endval, startval); | |
if (parseInt(startval) < parseInt(endval)) { | |
grid.tbody.find("tr[data-uid='" + gridrow.uid + "']").find("td:eq( " + sportsEndTimeInx + " )").removeClass('mandatoryField'); | |
gridrow.set("sportsDuration", differ); | |
} else { | |
grid.tbody.find("tr[data-uid='" + gridrow.uid + "']").find("td:eq( " + sportsEndTimeInx + " )").addClass('mandatoryField'); | |
} | |
} */ | |
gridrow.trigger("change"); | |
} | |
}); | |
} | |
} | |
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) { | |
// let SelectedStartDate = $('#startDate').data("kendoDatePicker").value(); | |
// if (SelectedStartDate == undefined || SelectedStartDate == null) { | |
// SelectedStartDate = new Date(); | |
// } | |
// let weekDays = this.calculateEndDate(SelectedStartDate, this.sportsBulkUpdateVal.weekCount); | |
// $('#endDate').data("kendoDatePicker").value(weekDays); | |
// this.validateSearch(); | |
// } | |
handleWeek(newValue) { | |
if (newValue) { | |
let SelectedStartDate = this.sportsBulkUpdateVal.startDate; | |
if (SelectedStartDate === undefined || SelectedStartDate === null) { | |
SelectedStartDate = new Date(); | |
} | |
this.sportsBulkUpdateVal.endDate = this.calculateEndDate(SelectedStartDate, this.sportsBulkUpdateVal.weekCount); | |
$("#endDate").data("kendoDatePicker").value(this.sportsBulkUpdateVal.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, | |
"sportsStartTime": "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["sportsStartTime"].editable = this.ccRadioFlags.sportsStartTime == "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; | |
} | |
// createPreferences() { | |
// this.createPreferencesPopUpWindow.data("kendoWindow").open(); | |
// } | |
// cancelPreferences(): void { | |
// this.createPreferencesPopUpWindow.data("kendoWindow").close(); | |
// } | |
// okPreferences(): void { | |
// this.createPreferencesPopUpWindow.data("kendoWindow").close(); | |
// } | |
openCheck() { | |
//console.log('openCheck--->'); | |
} | |
sportsCheckBoxClick(e) { | |
// console.log('sportsCheckBoxClick--->', e); | |
// this.count1 = this.count1 + 1; | |
// console.log('count 4--->' + this.count1); | |
// if (this.count1 % 3 == 0) { | |
// // apply new style | |
// console.log('multiple of 4--->' + this.count1); | |
// this.multipleOf3 = true; | |
// } else { | |
// this.multipleOf3 = false; | |
// } | |
} | |
// public threeState(event) { | |
// // attach event to button | |
// this.count1 = this.count1 + 1; | |
// //console.log('this.count--->' + this.count); | |
// if (this.count1 % 3 == 0) { | |
// // apply new style | |
// //console.log('multiple of 3--->' + this.count); | |
// this.multipleOf3 = true; | |
// } else { | |
// this.multipleOf3 = false; | |
// } | |
// } | |
/* sports checkbox template */ | |
// private sportsCheckBox(type: any, that: any) { | |
// let value; | |
// if (type.fieldName == undefined || type.fieldName == null || type.fieldName == "") { | |
// value = "<input type='checkbox' class='checkBox sportsFlagBtn' id='sportsFlagBtn' />"; | |
// } else { | |
// value = "<input type='checkbox' checked class='checkBox sportsFlagBtn' id='sportsFlagBtn' />"; | |
// } | |
// return value; | |
// } | |
public sportsExport(): void { | |
//console.log("sportsExport--->" + this.bulkGridData); | |
//this.bulkGridData; | |
let grid = this.gridkendo.getGrid(); | |
//console.log("sportsExport--->" + grid); | |
grid.hideColumn(1); | |
//console.log("datasource---->", datasource); | |
this.gridkendo.exportExcel(); | |
//console.log("exportExcel--->", this.gridkendo.exportExcel()); | |
grid.showColumn(1); | |
//console.log("sportsExport---->"); | |
this.gridkendo.setContextMenu(); | |
//console.log("sportsExport--->", this.gridkendo.setContextMenu()); | |
} | |
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); | |
//that.validateGridPopup.validateGrid(rowData); | |
} | |
} | |
// enableSave(action) { | |
// let that = this; | |
// that.saveEnable = action; | |
// } | |
public threeState(event) { | |
console.log("event--->" + event); | |
if (event.target.checked) { | |
this.sportsBulkUpdateVal.sports = true; | |
} else { | |
this.sportsBulkUpdateVal.sports = false; | |
} | |
// attach event to button | |
this.count1 = this.count1 + 1; | |
console.log('this.count--->' + this.count); | |
if (this.count1 % 3 == 0) { | |
// apply new style | |
this.sportsBulkUpdateVal.sports = ""; | |
console.log('multiple of 3--->' + this.count); | |
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.disablePrefAddEdit = true; | |
// /* selected pref details */ | |
// let prefData = that.preferenceData; | |
// /* end */ | |
// for (var k = 0; k < prefData.length; k++) { | |
// if (prefData[k].preferenceName == value) { | |
// let prefList = prefData[k].preferenceList; | |
// that.preferenceSetting(prefList); | |
// } | |
// } | |
// } else { | |
// that.disablePrefAddEdit = false; | |
// that.resetColumns(grid); | |
// this.gridCustomization(); | |
// } | |
// } | |
// changePreference(event) { | |
// let that = this; | |
// let value = event.target.value; | |
// let grid = this.gridkendo.getGrid(); | |
// if (value != '') { | |
// that.preferenceName = value; | |
// that.disablePrefAddEdit = true; | |
// /* selected pref details */ | |
// let prefData = that.preferenceData; | |
// /* end */ | |
// let getPrefList = prefData.find(elem => elem.preferenceName == value); | |
// if (getPrefList) { | |
// that.preferenceSetting(getPrefList.preferenceList); | |
// } | |
// } else { | |
// that.disablePrefAddEdit = false; | |
// 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(); | |
// } | |
// } | |
changePreference(event) { | |
let that = this; | |
let value = event.target.value; | |
let grid = this.gridkendo.getGrid(); | |
if (value != '') { | |
that.preferenceName = value; | |
that.disablePrefAddEdit = true; | |
/* selected pref details */ | |
let prefData = that.preferenceData; | |
/* end */ | |
let getPrefList = prefData.find(elem => elem.preferenceName == value); | |
if (getPrefList) { | |
that.preferenceSetting(getPrefList.preferenceList); | |
} | |
} else { | |
that.disablePrefAddEdit = false; | |
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) { | |
for (var i = 0; i < grid.options.columns.length; i++) { | |
var field = grid.options.columns[i].field; | |
for (var j = 0; j < grid.columns.length; j++) { | |
if (grid.columns[j].field == field) { | |
grid.reorderColumn(i, grid.columns[j]); | |
} | |
} | |
} | |
} | |
gridCustomization() { | |
let that = this; | |
let columnData = that.columns; | |
// let columnData = [ | |
// { | |
// airingProperty: "Schedule Name", | |
// airingPropertyParms: "scheduleName", | |
// readOnly: false, | |
// editable: true, | |
// default: true, | |
// visible: false | |
// } | |
// ]; | |
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++) { | |
console.log("(gridCustomization grid.columns[j]---->", grid.columns[j]); | |
console.log("(gridCustomization grid.columns[j].field);---->", grid.columns[j].field); | |
let hide = grid.hideColumn(grid.columns[j].field); | |
console.log("gridCustomization grid.hideColumn(grid.columns[j].field);---->", hide); | |
} | |
for (var i = 0; i < colLen; i++) { | |
//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); | |
} | |
} | |
} | |
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; | |
} | |
} | |
} | |
console.log(grid) | |
} | |
private preferenceSetting(list) { | |
let gridCol; | |
let grid = this.gridkendo.getGrid(); | |
for (let j = 0; j < grid.columns.length; j++) { | |
console.log("(preferenceSetting grid.columns[j]---->", grid.columns[j]); | |
console.log("(preferenceSetting grid.columns[j].field);---->", grid.columns[j].field); | |
console.log("preferenceSetting grid.hideColumn(grid.columns[j].field);---->", grid.hideColumn(grid.columns[j].field)); | |
grid.hideColumn(grid.columns[j].field); | |
} | |
for (let i = 0; i < list.length; i++) { | |
let position = parseInt(list[i].visiblePosition + ""); | |
if (list[i].columnName == 'day') { list[i].columnName = 'dayOfWeekNo'; } | |
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(''); | |
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").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(); | |
//console.log(" createUpdatePreference prefValue--->" + prefValue); | |
let len = that.preferenceData.length; | |
let checkExist = false; | |
for (let i = 0; i < len; i++) { | |
if (that.preferenceData[i].preferenceName.toLowerCase() == prefValue.toLowerCase()) { | |
// if (that.preferenceData[i].preferenceName.toLowerCase() == prefValue.toLowerCase()) { | |
// if (true) { | |
checkExist = true; | |
break; | |
} | |
} | |
if (type == 'create') { | |
if (checkExist) { | |
let strMessage = 'Preferences name already exist.'; | |
that.gridkendo.setdialog(strMessage, "ok", null); | |
} else { | |
let preferenceData = this.getPreference(); | |
let createPref: any = { | |
//"networkNo": this.bulkCreateVal.networkNo, | |
//bulkCreateValsports | |
"networkNo": this.bulkCreateValsports.networkNo, | |
"operationType": "Create", | |
"preferenceName": prefValue, | |
"preferenceNo": "", | |
"preferenceList": preferenceData | |
}; | |
that.preferenceData.push(createPref); | |
that.preferenceName = prefValue; | |
console.log(" that.preferenceName--->", that.preferenceName); | |
that.prefSelectedName = prefValue; | |
} | |
} else { | |
for (let i = 0; i < len; i++) { | |
if (that.preferenceData[i].preferenceName == that.preferenceName) { | |
that.preferenceData[i].preferenceName = prefValue; | |
console.log(" that.preferenceData[i].preferenceName--->", that.preferenceData[i].preferenceName); | |
that.preferenceData[i].operationType = 'update'; | |
break; | |
} | |
} | |
} | |
that.disablePrefSave = false; | |
} | |
clearPreferences() { | |
let that = this; | |
let prefValue = $('.preferenceName').val(); | |
console.log(" clearPreferences prefValue--->" + prefValue); | |
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('player'); | |
$("#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.sportsService.getResponse('authorization/v1/deletePreferences?preferenceNo=' + getPrefNo, 'delete', {}).subscribe(data => { | |
that.disablePrefSave = true; | |
that.disablePrefAddEdit = false; | |
// that.progress.requestEnd(); | |
}, err => { | |
console.log("clearPreferences error"); | |
// 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(); | |
// // console.log(preferenceData); | |
// let data = { | |
// "networkNo": this.bulkCreateVal.networkNo, | |
// "operationType": "Create", | |
// "preferenceName": this.preferenceName, | |
// "preferenceNo": "", | |
// "preferenceList": preferenceData | |
// }; | |
// 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(); | |
// console.log(preferenceData); | |
// this.sportsService.getResponse('authorization/v1/savePreferences', 'post', data).subscribe( | |
// data => { | |
// console.log(data); | |
// this.disablePrefSave = true; | |
// // this.progress.requestEnd(); | |
// }, | |
// err => { | |
// console.log("error"); | |
// // this.progress.requestEnd(); | |
// }); | |
// } | |
private savePreferences() { | |
let that = this; | |
let preferenceData = this.getPreference(); | |
// console.log(preferenceData); | |
let data = { | |
"networkNo": this.bulkCreateVal.networkNo, | |
"operationType": "Create", | |
"preferenceName": this.preferenceName, | |
"preferenceNo": "", | |
"preferenceList": preferenceData | |
}; | |
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(); | |
console.log(preferenceData); | |
this.sportsService.getResponse('authorization/v1/savePreferences', 'post', data).subscribe( | |
data => { | |
console.log(data); | |
this.disablePrefSave = true; | |
// this.progress.requestEnd(); | |
}, | |
err => { | |
console.log("error"); | |
// this.progress.requestEnd(); | |
}); | |
} | |
private getPreference(): any { | |
let savePreference = []; | |
//let columns=this.metaAggregateCopy.changeColumns; | |
// let columns = [{}]; | |
let that = this; | |
let columns = that.columns; | |
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; | |
//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; | |
console.log("callGridLoadData this.gridDataAll--->", that.gridDataAll); | |
this.gridDataLoad(); | |
//bulkCreateValsports | |
//this.loadPreference(this.bulkCreateVal.networkNo); | |
this.loadPreference(this.bulkCreateValsports.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(); | |
// "conflicts": [ | |
// { | |
// "dayOfWeek": "Monday", | |
// "startDate": "01/02/2017", | |
// "startTimeAMPM": "7:30 PM", | |
// "programName": "Warriors Basketball", | |
// "titleName": "Denver Nuggets vs. Golden State Warriors", | |
// "userUpdated": "Aldo", | |
// "dateUpdated": "04/26/2018 08:01:24 PM", | |
// "changedInAnotherSession": "Y", | |
// "action": "Updates Overwritten", | |
// "scheduleName": "blanket Sports Bay Area" | |
// } | |
// ], | |
// savedResponse = [ | |
// { | |
// "dayOfWeek": "Monday", | |
// "startDate": "01/02/2017", | |
// "startTimeAMPM": "7:30 PM", | |
// "programName": "Warriors Basketball", | |
// "titleName": "Denver Nuggets vs. Golden State Warriors", | |
// "userUpdated": "Aldo", | |
// "dateUpdated": "04/26/2018 08:01:24 PM", | |
// "changedInAnotherSession": "Y", | |
// "action": "Updates Overwritten", | |
// "scheduleName": "blanket Sports Bay Area" | |
// } | |
// ]; | |
//if (true) { | |
if (savedResponse.conflicts.length > 0) { | |
// that.sportsConflictGridPopup.conflictGridOpen(savedResponse); | |
//that.bulkcreateConflictGridPopup.conflictGridOpen(savedResponse.conflicts); | |
that.sportsConflictGridPopup.conflictGridOpen(savedResponse.conflicts); | |
} | |
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; | |
//console.log(e) | |
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'); | |
console.log('called exist highlight') | |
} | |
// 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; | |
} 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; | |
// var columns = [ | |
// { airingProperty: "Locked", airingPropertyParms: "locked", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Schedule Name", airingPropertyParms: "scheduleName", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Feed Name", airingPropertyParms: "feedNo", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Start Date", airingPropertyParms: "startDate", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Day Of Week", airingPropertyParms: "dayOfWeekNo", readOnly: true, editable: false, editableDisabled: true }, | |
// { airingProperty: "Start Time", airingPropertyParms: "startTime", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Block Duration", airingPropertyParms: "blockDuration", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "End Time", airingPropertyParms: "endTime", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Actual Start Time", airingPropertyParms: "actualStartTime", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Actual Duration", airingPropertyParms: "actualDuration", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Actual End Time", airingPropertyParms: "actualEndTime", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Program Name", airingPropertyParms: "programName", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "sports Flag", airingPropertyParms: "sportsFlag", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "sports Date", airingPropertyParms: "sportsDate", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "sports Start Time", airingPropertyParms: "sportsStartTime", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "sports Duration", airingPropertyParms: "sportsDuration", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "sports End Time", airingPropertyParms: "sportsEndTime", readOnly: true, editable: false, editableDisabled: true }, | |
// { airingProperty: "sports Source/Provider", airingPropertyParms: "sportsSource", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "sports Notes", airingPropertyParms: "sportsNotes", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "HD", airingPropertyParms: "sportsHDFlag", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Record", airingPropertyParms: "sportsRecordFlag", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Bug", airingPropertyParms: "bug", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Ticker", airingPropertyParms: "ticker", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Network", airingPropertyParms: "desNetwork", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "SD Delivery", airingPropertyParms: "sddelivery", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "HD Delivery", airingPropertyParms: "hddelivery", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "DBS Spotbeam", airingPropertyParms: "dbsspotbeam", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "TVE Status", airingPropertyParms: "tvestatus", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Program Type", airingPropertyParms: "programType", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Master Series", airingPropertyParms: "seriesNo", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Program Code", airingPropertyParms: "programCode", readOnly: true, editable: false, editableDisabled: true }, | |
// { airingProperty: "Alternate Color", airingPropertyParms: "alternateColor", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Title Name", airingPropertyParms: "titleName", readOnly: true, editable: false, editableDisabled: true }, | |
// { airingProperty: "Title Owner Network", airingPropertyParms: "titleOwnerNetwork", readOnly: true, editable: false, editableDisabled: true }, | |
// { airingProperty: "Episode #", airingPropertyParms: "distEpisodeID", readOnly: true, editable: false, editableDisabled: true }, | |
// { airingProperty: "Season", airingPropertyParms: "seasonName", readOnly: true, editable: false, editableDisabled: true }, | |
// { airingProperty: "Version", airingPropertyParms: "houseNo", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Scheduling Type", airingPropertyParms: "scheduleTypeNo", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Closed Captioning", airingPropertyParms: "closedCaptioning", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "VOD", airingPropertyParms: "vod", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "DES", airingPropertyParms: "des", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Scheduling Category", airingPropertyParms: "schedCategory", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Definition", airingPropertyParms: "scheduleDefinitionNo", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Format", airingPropertyParms: "formatNo", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Format Description", airingPropertyParms: "formatName", readOnly: true, editable: false, editableDisabled: true }, | |
// { airingProperty: "Notes", airingPropertyParms: "commentText", readOnly: false, editable: true, editableDisabled: false }, | |
// { airingProperty: "Schedule Item #", airingPropertyParms: "schedItemNo", readOnly: true, editable: false, editableDisabled: true }, | |
// { airingProperty: "Title #", airingPropertyParms: "titleNo", readOnly: true, editable: false, editableDisabled: true }, | |
// { airingProperty: "User Added", airingPropertyParms: "userAddedName", readOnly: true, editable: false, editableDisabled: true }, | |
// { airingProperty: "Date Added", airingPropertyParms: "dateAdded", readOnly: true, editable: false, editableDisabled: true }, | |
// { airingProperty: "User Updated", airingPropertyParms: "userUpdatedName", readOnly: true, editable: false, editableDisabled: true }, | |
// { airingProperty: "Date Updated", airingPropertyParms: "dateUpdated", readOnly: true, editable: false, editableDisabled: true } | |
// ] | |
$('.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) { | |
//cols.push(col.field); | |
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.visible == true) { | |
contextRow += ''; | |
} | |
//Default ->true AND Visible -> False | |
//hide both grid and right click | |
if (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 (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.visible == false) { | |
// //if (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" id="' + col.airingPropertyParms + '" class="hideShowColumn" > ' + col.airingProperty + '</label></li>' | |
// } | |
// } | |
} | |
} | |
} | |
} | |
// | |
// if (columns.length > 0) { | |
// for (var i = 0; i < columns.length; i++) { | |
// var col = columns[i]; | |
// if (col.airingPropertyParms != undefined) { | |
// if (col.airingPropertyParms == 'userAdded') { | |
// col.airingPropertyParms = 'userAddedName'; | |
// } | |
// if (col.airingPropertyParms == 'userUpdated') { | |
// col.airingPropertyParms = 'userUpdatedName'; | |
// } | |
// //Default ->true AND Visible -> true | |
// //show in grid and hide in right click | |
// if ( col.visible == true) { | |
// contextRow += ''; | |
// } | |
// //Default ->true AND Visible -> False | |
// //hide both grid and right click | |
// if ( 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) { | |
// contextRow += '<li><label><input type="checkbox" checked="checked" id="' + col.airingPropertyParms + '" class="hideShowColumn" data-value="' + i + '"> ' + col.airingProperty + '</label></li>' | |
// // contextRowArr.push(col.airingPropertyParms) | |
// } | |
// //Default ->false AND Visible -> False | |
// //hide in grid, show in right click with unchecked items | |
// if (col.default == false && col.visible == false) { | |
// contextRow += '<li><label><input type="checkbox" id="' + col.airingPropertyParms + '" class="hideShowColumn" data-value="' + i + '"> ' + col.airingProperty + '</label></li>' | |
// //contextRowArr.push(col.airingPropertyParms); | |
// } | |
// } | |
// } | |
// } | |
//contextRow=contextRow.move(0,3); | |
var gridStates = that.getPreference(); | |
//console.log(gridStates) | |
//console.log(contextRowArr) | |
//that.contextmenuReorder(contextRowArr,0,3) | |
$('.bulkSpan').append(contextRow); | |
$('.bulkSpan').parent().parent().css({ "height": (windowHeight - 100), "overflow": "auto", "width": "auto !important" }) | |
$('.bulkSpan').parent().css({ "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) { | |
e.stopImmediatePropagation(); | |
let grid = that.gridkendo.getGrid(); | |
let gridColumns = that.gridkendo.getGrid().columns; | |
let val = $(this).attr("id"); | |
//let columns = that.metaAggregateCopy.changeColumns; | |
let columns = that.columns; | |
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.showColumn(that.columns[dataVal].airingPropertyParms); | |
//grid.showColumn(that.metaAggregateCopy.changeColumns[dataVal].airingPropertyParms); | |
$("#KendoGridView table th:nth-child(" + colIndex + "),td:nth-child(" + (colIndex) + "),col:nth-child(" + (colIndex - 1) + ")").show(); | |
} | |
else { | |
// 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(); | |
// },100) | |
} | |
}); | |
// $('#bulk-context-menu').on('change', '.hideShowColumn', function (e) { | |
// e.stopImmediatePropagation(); | |
// let grid = that.gridkendo.getGrid(); | |
// 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 === 'userAddedName') { | |
// item.airingPropertyParms = 'userAdded'; | |
// } | |
// if (item.airingPropertyParms === 'userUpdatedName') { | |
// item.airingPropertyParms = 'userUpdate' | |
// } | |
// if (item.airingPropertyParms === val) { | |
// index = k; | |
// return k; | |
// } | |
// }); | |
// let dataVal = index; | |
// /*if(val=="dayOfWeek"){that.metaAggregateCopy.changeColumns[dataVal].airingPropertyParms="day";}*/ | |
// if (val == "userAdded") { that.columns[dataVal].airingPropertyParms = "userAddedName"; } | |
// if (val == "userUpdated") { that.columns[dataVal].airingPropertyParms = "userUpdatedName"; } | |
// //that.metaAggregateCopy.changeColumns[dataVal].visible = false; | |
// that.columns[dataVal].visible = (that.columns[dataVal].visible == true) ? false : true; | |
// // that.metaAggregateCopy.changeColumns[dataVal].visible = (that.metaAggregateCopy.changeColumns[dataVal].visible == true) ? false : true; | |
// if ($(this).is(':checked')) { | |
// //grid.showColumn(that.metaAggregateCopy.changeColumns[dataVal].airingPropertyParms); | |
// // grid.showColumn("scheduleName"); | |
// grid.showColumn(that.columns[dataVal].airingPropertyParms); | |
// } | |
// else { | |
// // setTimeout(function(){ | |
// // grid.hideColumn(that.metaAggregateCopy.changeColumns[dataVal].airingPropertyParms); | |
// // grid.hideColumn("scheduleName"); | |
// grid.hideColumn(that.columns[dataVal].airingPropertyParms); | |
// // },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 = "AM"; | |
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; | |
} | |
// console.log("kendo.parseDate(eTime)----->", kendo.parseDate(eTime)); | |
// console.log("kendo.parseDate(eTime).getTime()----->", kendo.parseDate(eTime).getTime()); | |
// console.log("eTime----->"+eTime); | |
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; | |
} | |
} | |
console.log("isValidTime--->", isValidTime); | |
// 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) { | |
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 != "06:00 AM") { | |
// 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") { | |
//if (true) { | |
if (field == "sportsStartTime") { | |
let changedRows = sel.map((index, event) => { | |
let dataItem: any = grid.dataItem(event); | |
let startTime = that.convertTo24Hour(value); | |
// let endTime = that.addTimes(startTime, dataItem.sportsDuration); | |
let endTime = that.addTimes(startTime, "1:00"); | |
let actualStartTime = that.convertTo24Hour(value); | |
// let actualEndTime = that.addTimes(actualStartTime, dataItem.sportsDuration); | |
let actualEndTime = that.addTimes(actualStartTime, "1:00"); | |
if (that.validateStartEndTime(value, endTime)) { | |
if (!that.validateStartEndTime(actualStartTime, actualEndTime)) { | |
console.log("that.validateStartEndTime Cannot span across--->"); | |
that.gridkendo.setdialog("Cannot span across", "ok", null); | |
} else { | |
dataItem["sportsStartTime"] = value; | |
dataItem["actualStartTime"] = value; | |
dataItem["endTime"] = endTime; | |
dataItem["actualEndTime"] = actualEndTime; | |
} | |
} else { | |
console.log("bottom Cannot span across--->"); | |
that.gridkendo.setdialog("Cannot span across", "ok", null); | |
} | |
}) | |
} | |
else if (field == "sportsEndTime") { | |
let changedRows = sel.map((index, event) => { | |
let dataItem: any = grid.dataItem(event); | |
if (that.validateStartEndTime(dataItem.sportsStartTime, value)) { | |
if (!that.validateStartEndTime(dataItem.actualStartTime, dataItem.sportsEndTime)) { | |
that.gridkendo.setdialog("Cannot span across", "ok", null); | |
} else { | |
dataItem["sportsEndTime"] = value; | |
let startval = that.convertTo24Hour(dataItem.sportsStartTime); | |
let endval = that.convertTo24Hour(dataItem.sportsEndTime); | |
let differ = that.TimeDifference(endval, startval); | |
dataItem["sportsEndTime"] = value; | |
// dataItem["blockDuration"] = differ; | |
let actualStartTime = that.convertTo24Hour(dataItem.sportsStartTime); | |
let actualEndTime = that.convertTo24Hour(dataItem.sportsEndTime); | |
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 != "06:00 AM") { | |
// 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 { | |
let changedRows = sel.map((index, event) => { | |
let dataItem: any = grid.dataItem(event); | |
dataItem[field] = value; | |
}) | |
} | |
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'); | |
} | |
} | |
} | |
} | |
} | |
// gridSave() { | |
// let rowData = []; | |
// this.validateGridPopup.validateGrid(rowData); | |
// } | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment