Skip to content

Instantly share code, notes, and snippets.

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