component.processDataChange = function (event) { var ConvertUtil = require('core.util.ConvertUtil'); if (!this.isGridEditable || !event || !event.args || event.args.datafield == 'date') return; var args = event.args; var dateCell = this.element.jqxGrid('getcell', args.rowindex, 'date'); var date = dateCell.value; date = ConvertUtil.DateTime.convertDayOfWeekToDate(date); var slot = args.datafield; var value = args.value; if (value) { // current value is TRUE -> to be unchecked switch (this.scheduleData[date][slot]) { case 'ADDED': this.scheduleData[date][slot] = 'DEATCHED'; break; case 'UNCHANGED': this.scheduleData[date][slot] = 'DELETED'; break; } } else { // current value is FALSE -> to be checked if (!this.scheduleData[date]) { this.scheduleData[date] = {}; } if (!this.scheduleData[date][slot]) { this.scheduleData[date][slot] = 'ADDED'; } else { switch (this.scheduleData[date][slot]) { case 'DELETED': this.scheduleData[date][slot] = 'UNCHANGED'; break; case 'DEATCHED': this.scheduleData[date][slot] = 'ADDED'; break; } } } this.element.jqxGrid('setCellValue', args.rowindex, args.datafield, !args.value); };
function seedStudent(queryChainer) { var Student = require('model.entity.Student'); var ConvertUtil = require('core.util.ConvertUtil'); queryChainer .add( Student, 'create', [{ studentCode: 'SE90059', firstName: 'Thành', lastName: 'Võ Minh', classId: 1, gender: 1, dateOfBirth: ConvertUtil.DateTime.formatDate(new Date(1992, 6, 29)), address: 'Đà Nẵng', email: '*****@*****.**' }]) .add( Student, 'create', [{ studentCode: 'SE90075', firstName: 'Dung', lastName: 'Nguyễn Vương Hoàng', classId: 1, gender: 2, dateOfBirth: ConvertUtil.DateTime.formatDate(new Date(1992, 3, 16)), address: 'Hội An', email: '*****@*****.**' }]) .add( Student, 'create', [{ studentCode: 'SE90050', firstName: 'Trọng', lastName: 'Nguyễn Đức', classId: 1, gender: 1, dateOfBirth: ConvertUtil.DateTime.formatDate(new Date(1992, 3, 16)), address: 'Quảng Nam', email: '*****@*****.**' }]) }
cellClassName: function (row, dataField, value, rowData) { var ConvertUtil = require('core.util.ConvertUtil'); // get dayOfWeek as UTC day var dayOfWeek = ConvertUtil.DateTime.parseDayOfWeek(value).getUTCDay(); var cellClass = 'schedule-date'; if (dayOfWeek === 6 || dayOfWeek == 0) { cellClass += ' schedule-weekend'; } return cellClass; }
function seedStaff(queryChainer) { var Staff = require('model.entity.Staff'); var Moment = require('lib.Moment'); var ConvertUtil = require('core.util.ConvertUtil'); queryChainer .add( Staff, 'create', [{ staffCode: 'thytt', firstName: 'Thy', lastName: 'Trương Thị', staffRole: 4, departmentId: 2, gender: 1, dateOfBirth: ConvertUtil.DateTime.formatDate(new Date(1982, 3, 16)), address: 'Đà Nẵng', email: '*****@*****.**' }]) .add( Staff, 'create', [{ staffCode: 'anhnn4', firstName: 'Anh', lastName: 'Nguyễn Ngọc ', staffRole: 7, departmentId: 5, gender: 2, dateOfBirth: ConvertUtil.DateTime.formatDate(new Date(1981, 3, 16)), address: 'Đà Nẵng', email: '*****@*****.**' }]) .add( Staff, 'create', [{ staffCode: 'haitt', firstName: 'Hải', lastName: 'Tô Thanh ', staffRole: 7, departmentId: 5, gender: 2, dateOfBirth: ConvertUtil.DateTime.formatDate(new Date(1982, 5, 11)), address: 'Đà Nẵng', email: '*****@*****.**' }]) .add( Staff, 'create', [{ staffCode: 'mailtt', firstName: 'Mai', lastName: 'Lê Thị Trúc', departmentId: 3, gender: 1, dateOfBirth: ConvertUtil.DateTime.formatDate(new Date(1982, 9, 27)), address: 'Quảng Nam', email: '*****@*****.**' }]) .add( Staff, 'create', [{ staffCode: 'hoangtv', firstName: 'Hoàng', lastName: 'Trần Văn', departmentId: 2, gender: 1, dateOfBirth: ConvertUtil.DateTime.formatDate(new Date(1982, 9, 27)), address: 'Quảng Nam', email: '*****@*****.**' }]) }
component.generateSource = function (startDate, endDate, originalData) { var ConvertUtil = require('core.util.ConvertUtil'); // reset schedule data this.scheduleData = {}; this.scheduleIds = {}; originalData = originalData || []; for (var i = 0, len = originalData.length; i < len; i++) { var schedule = originalData[i]; if (!this.scheduleData[schedule.date]) { this.scheduleData[schedule.date] = {}; this.scheduleIds[schedule.date] = {}; } this.scheduleData[schedule.date]['slot' + schedule.slot] = 'UNCHANGED'; this.scheduleIds[schedule.date]['slot' + schedule.slot] = schedule.scheduleId; } var sourceData = []; // generate source data if (startDate && endDate && ConvertUtil.DateTime.compare(startDate, endDate) <= 0) { var Moment = require('lib.Moment'); while (ConvertUtil.DateTime.compare(startDate, endDate) <= 0) { var dayOfWeek = ConvertUtil.DateTime.convertDateToDayOfWeek(startDate); var item = { date: dayOfWeek }; for (var j = 1; j <= 9; j++) { var selected = !!(this.scheduleData[startDate] && this.scheduleData[startDate]['slot' + j]); item['slot' + j] = selected; } sourceData.push(item); startDate = ConvertUtil.DateTime.addDays(startDate, 1); } } // build source var source = { dataType: 'local', localData: sourceData, dataFields: this.getGridDataFields(), updaterow: function (rowid, rowdata, commit) { commit(true); } }; var dataAdapter = new jQuery.jqx.dataAdapter(source); return dataAdapter; };