';
$("." + Containerid).html(html);
}
load(Containerid) {
}
init(Containerid) {
let instance = this;
var jsfiles = ["platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js'];
SelfDeclaration.Instance().fileCacheHelper.loadJsFiles(jsfiles, function () {
SelfDeclaration.Instance().loadhtml(Containerid);
$("#btn_Close").click(function () {
SelfDeclaration.Instance().navigationHelper.closePopUp();
});
var tenantname = "";
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/crm/contacts/managers/contactmanager.js", function () {
Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().GetTenants(Number(Unibase.Platform.Membership.Infos.Identity.getCurrentUser().tenantId)).then(function (res) {
if (res.result != null) {
tenantname = res.result.TenantName;
$("#lblDistributorName1").text(tenantname.toString());
$("#lblDistributorName2").text(tenantname.toString());
}
});
});
$("#userName1").text(Unibase.Platform.Membership.Infos.Identity.getCurrentUser().name);
$("#lblDistributorName1").text(tenantname.toString());
$("#lblDistributorName2").text(tenantname.toString());
$("#userName2").text(Unibase.Platform.Membership.Infos.Identity.getCurrentUser().name);
var TotalDate = new Date();
var months = ["JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE", "JULY", "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER"];
var date = TotalDate.getDate();
var month = TotalDate.getMonth() + 1;
var year = TotalDate.getFullYear();
if (months[TotalDate.getMonth()] == "DECEMBER") {
year = year - 1;
}
$('#MonthAndYear1').text(months[TotalDate.getMonth()] + "-" + year);
$('#MonthAndYear2').text(months[TotalDate.getMonth()] + "-" + year);
$('#CurrentDate').text(date + "/" + month + "/" + year);
$('#DeclarationMonthI_e_PreviousMonth').text(months[TotalDate.getMonth()]);
var todayDate = new Date($.now());
var serverdate = instance._dateTimeHelper.formatServerDate(todayDate);
var OnlyDate = serverdate.split("/");
if (Number(OnlyDate[2]) >= 1 && Number(OnlyDate[2]) <= 10) {
$("#btnSubmit").prop('disabled', false);
}
else {
$("#btnSubmit").prop('disabled', true);
}
if (Number(OnlyDate[2]) > 10) {
$("#btnSubmit").hide();
$("#isSelfDeclared").hide();
$("#description").hide();
}
SelfDeclaration.Instance().Enable();
$('#btnSubmit').click(function () {
SelfDeclaration.Instance().save();
});
});
}
Enable() {
let instance = this;
var da = new Date($.now());
var date = instance._dateTimeHelper.formatServerDate(da);
date = date.replace('/', '-').replace('/', '-');
var month = $('#DeclarationMonthI_e_PreviousMonth').text();
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/crm/contacts/managers/contactmanager.js", function () {
Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getSelfDeclarationByDate(date, month).then(function (response) {
if (response.result == "Record not Found") {
$("#btnSubmit").prop("disabled", false);
}
else {
$("#btnSubmit").prop("disabled", true);
$('#btnSubmit').prop('value', 'Submitted');
$("#isSelfDeclared").prop('checked', true);
$("#isSelfDeclared").prop("disabled", true);
}
});
});
}
save() {
var date = Unibase.Platform.Helpers.DateTimeHelper.Instance().currentDate();
var IsDeclared = $("#isSelfDeclared").prop('checked');
if (IsDeclared == false) {
MessageHelper.Instance().showError('Please Check Declaration', 'bizgaze_CreateErrorMessages');
return false;
}
var data = {
PciDeclared: IsDeclared,
UserId: Unibase.Platform.Membership.Infos.Identity.getCurrentUser().userId,
DeclarationDate: new Date(),
MonthOfDeclaration: $('#DeclarationMonthI_e_PreviousMonth').text(),
PartitionId: Unibase.Platform.Membership.Infos.Identity.getCurrentUser().partitionId
};
Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().saveSelfDeclaration(data).then(function (response) {
MessageHelper.Instance().showSuccess(response.message, '');
$("#isSelfDeclared").prop('checked', true);
$("#isSelfDeclared").prop("disabled", true);
$('#btnSubmit').prop('value', 'Submitted');
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new SelfDeclaration();
}
return this.instance;
}
}
Components.SelfDeclaration = SelfDeclaration;
})(Components = Crm.Components || (Crm.Components = {}));
})(Crm = Apps.Crm || (Apps.Crm = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Membership;
(function (Membership) {
let Components;
(function (Components) {
class UserLoginDetailsWidget extends Platform.Core.BaseComponent {
init(containerid) {
var instance = this;
instance.userdetails(containerid);
$(".user-toggle-notification-btn").click(function () {
$(".biz-wrapper").addClass("biz-settings-toggle");
$(".hk-wrapper").addClass("biz-settings-toggle");
if (($(window).width()) <= 575) {
$(".settings-panel-head").find("#myTab").remove();
var notification_header = $(".settings-panel-head").find("#settings-panel-head-title").length;
if (notification_header == 0) {
$(".settings-panel-head #settings_panel_close").before(`
Notifications `).parent().addClass('px-3 border-bottom').removeClass('py-10');
}
Unibase.Themes.Compact.Components.Notification.Instance().loadReminders();
}
else {
Unibase.Themes.Compact.Components.Notification.Instance().loadReminders();
}
});
$(".user-toggle-task-btn").click(function () {
$(".biz-wrapper").addClass("biz-settings-toggle");
$(".hk-wrapper").addClass("biz-settings-toggle");
if (($(window).width()) <= 575) {
$(".settings-panel-head").find("#myTab").remove();
var notification_header = $(".settings-panel-head").find("#settings-panel-head-title").length;
if (notification_header == 0) {
$(".settings-panel-head #settings_panel_close").before(`
Tasks `).parent().addClass('px-3 border-bottom').removeClass('py-10');
}
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('/tenants/themes/compact/components/notifications/notification.js', function () {
Unibase.Themes.Compact.Components.Notification.Instance().loadTasks();
});
}
else {
Unibase.Themes.Compact.Components.Notification.Instance().loadTasks();
}
});
}
userdetails(containerid) {
let notification, task;
let data = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
let imageurl = data.photoUrl;
let companyname = data.settings.filter(function (o) { return o.settingName === "companyname"; })[0].settingValue;
let branchname = data.settings.filter(function (o) { return o.settingName === "branchname"; })[0].settingValue;
let branchcode = data.settings.filter(function (o) { return o.settingName === "branchcode"; })[0].settingValue;
let username = data.name;
let html = '';
if (screen.width > 1198) {
html = `
Hi, Welcome
` + username + `
` + companyname + `
` + branchname + ` (` + branchcode + `)
`;
}
else {
html = `
You are Already Check Out
`;
$("#_bizgaze_modal").html(capture_modal);
let html = '';
if (screen.width > 576) {
html = `
Attendance
00:00:00
Hrs
00:00
Check In
00:00
Check Out
Hrs
Duration
`;
$('.suggest_err').attr({ 'style': 'top:170px;width:100%;max-width:92%' });
}
else {
html = `
Attendence
00:00:00
Hrs
00:00
Check In
00:00
Check Out
Hrs
Duration
`;
$('.suggest_err').attr({ 'style': 'top:140px;width:100%;max-width:100%' });
}
$('#' + containerid).html(html);
let check_profile = Unibase.Platform.Membership.Infos.Identity.currentUser.photoUrl;
if (check_profile == '' || check_profile == null) {
let err_html = `
Please Upload Your Profile Picture
`;
$("#location_data").html(err_html);
$(".loader-icon").addClass("d-none");
$("#caputerModel").removeClass("show").attr("style", "display:none;");
}
else {
let no_html = `
`;
$("#location_data").html(no_html);
}
instance.getAttendanceLog();
instance.attendenceCheckIn();
instance.getUserApplicableShifts();
instance.takeImage();
instance.retakeImage();
instance.viewattendenceReport();
instance.afterload();
instance.attendencecheckout();
instance.attendencecheckoutTimer();
instance.modalcheckout();
instance.attendenceCancle();
instance.attendencecheckinTimer();
}
loadCheckIn(containerid) {
let instance = this;
instance.loadCustomHTML(containerid);
}
Location() {
if (navigator.geolocation) {
$("#snapBtn").attr("disabled", "disabled");
navigator.geolocation.getCurrentPosition(Bizgaze.Apps.Hrms.Components.Attendence.Instance().geoLocationSuccess, Bizgaze.Apps.Hrms.Components.Attendence.Instance().geoLocationError, { timeout: 10000 });
}
else {
alert("your browser doesn't support geolocation");
}
;
}
geoLocationSuccess(pos) {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
let loadingTimeout;
instance.mylatitude = pos.coords.latitude;
instance.mylongtitude = pos.coords.longitude;
var loading = function () {
$("#user_location").text("fetching...");
};
loadingTimeout = setTimeout(loading, 600);
const apikey = _mapsettings.key();
var request = $.get(`https://maps.googleapis.com/maps/api/geocode/json?latlng=${instance.mylatitude},${instance.mylongtitude}&key=${apikey}`).done(function (data) {
if (loadingTimeout) {
clearTimeout(loadingTimeout);
loadingTimeout = null;
instance.address = data.results[0].formatted_address;
$("#user_location").html("
Location : " + instance.address);
let ele = $("#user_location").find("span");
let ele_val = ele[0];
let Cam_ele = $("#cam").hasClass("d-none");
if (ele_val != undefined && Cam_ele == false) {
$("#snapBtn").removeAttr("disabled");
}
else {
$("#snapBtn").attr("disabled", "disabled");
}
}
}).fail(function () {
$("#snapBtn").addClass("d-none");
});
}
;
geoLocationError(error) {
var errors = {
1: "Permission denied",
2: "Position unavailable",
3: "Request timeout"
};
if (errors[error.code]) {
$("#user_location").html("
Please enable your Location...");
$("#snapBtn").attr("disabled", "disabled");
}
}
;
addzero(x) {
if (x < 10) {
return x = '0' + x;
}
else {
return x;
}
}
twelvehours(x) {
if (x > 12) {
return x = x - 12;
}
else if (x == 0) {
return x = 12;
}
else {
return x;
}
}
cemeraCapture() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
instance.constraints = {
audio: false,
video: {
width: { ideal: 640 },
height: { ideal: 480 },
facingMode: "user"
}
};
instance.getMediaStream();
let checkedIn = $("#check_in_btn").hasClass("d-none");
let online_cather = window.navigator.onLine;
if (checkedIn == false) {
if (online_cather) {
$("#check_in_btn").attr({ "data-toggle": "modal", "data-backdrop": "false", "data-target": "#caputerModel" });
let shift_name = $('.shift_name').text();
let shift_time = $('.shift_timeings').text();
if (shift_name == '' && shift_time == '') {
$('.close').removeClass("d-none");
$('.shift_err').removeClass('d-none');
}
else {
$("#caputer_video").removeClass("d-none");
$("#user_location").removeClass("d-none");
$("#CancelBtn").removeClass("d-none");
$(".capture_err").addClass("d-none");
$(".loader-icon").addClass("d-none");
$('.checkIn_err').addClass('d-none');
$("#modal_closebtn").addClass('d-none');
Bizgaze.Apps.Hrms.Components.Attendence.Instance().Location();
$('#Check_in_time').removeClass("d-none");
$("#cam").removeClass("d-none");
$("#location_data").removeClass("d-none");
$("#snapBtn").removeClass("d-none");
$("#retakeBtn").addClass("d-none");
$("#close_btn").addClass("d-none");
let img_stored = $("#photo").attr("src", '');
if (img_stored) {
$("#photo").addClass("d-none");
}
else {
$("#photo").removeClass("d-none");
}
}
}
else {
$(this).removeAttr("data-target data-toggle data-backdrop");
}
}
else {
if (online_cather) {
$("#check_out_btn").attr({ "data-toggle": "modal", "data-backdrop": "false", "data-target": "#caputerModel" });
$("#caputer_video").removeClass("d-none");
$(".capture_err").addClass("d-none");
$(".loader-icon").addClass("d-none");
$('#Check_in_time').removeClass("d-none");
$("#cam").removeClass("d-none");
$("#location_data").removeClass("d-none");
$("#CancelBtn").removeClass("d-none");
$("#snapBtn").removeClass("d-none");
$("#retakeBtn").addClass("d-none");
$("#checkIn_closebtn").addClass("d-none");
Bizgaze.Apps.Hrms.Components.Attendence.Instance().Location();
let removeVide = $('#modal_closebtn').hasClass("d-none");
if (removeVide == false) {
instance.mediaStream.getTracks().forEach((track) => {
track.stop();
});
}
}
else {
$(this).removeAttr("data-target data-toggle data-backdrop");
}
}
}
getMediaStream() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
function getMediaStream(constraints) {
return __awaiter(this, void 0, void 0, function* () {
try {
instance.mediaStream = yield navigator.mediaDevices.getUserMedia(constraints);
instance.video = document.getElementById('cam');
instance.video.srcObject = instance.mediaStream;
instance.video.onloadedmetadata = (event) => {
let cam_err = event.currentTarget;
if (cam_err != null) {
let shift_err = $('.checkIn_err').hasClass("d-none");
if (shift_err == true) {
$("#cam").removeClass("d-none");
instance.video.play();
$(".cam_err").remove();
}
}
};
}
catch (err) {
console.log(err.message);
$("#cam").addClass("d-none");
$(".cam_err").removeClass("d-none");
let arr_val = $("#user_location").find("span").hasClass("cam_loc_err");
if (arr_val != true) {
$("#cam").after("
Please enable your Camera...");
}
let cam_val = $("#cam").parent().find("span").hasClass("cam_err");
let loc_val = $("#user_location").find("span").hasClass("text-danger");
if (cam_val && loc_val) {
$("#cam").parent().find(".cam_err").remove();
$("#user_location").html("
Please enable your Location and Camera...");
}
$("#snapBtn").attr("disabled", "disabled");
}
});
}
getMediaStream(instance.constraints);
}
switchCamera(cameraMode) {
return __awaiter(this, void 0, void 0, function* () {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
try {
if (instance.mediaStream != null && instance.mediaStream.active) {
var tracks = instance.mediaStream.getVideoTracks();
tracks.forEach(track => {
track.stop();
});
}
document.getElementById('cam').srcObject = null;
instance.constraints.video.facingMode = cameraMode;
yield instance.getMediaStream();
}
catch (err) {
console.log(err.message);
}
});
}
takePicture() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
instance.canvas = document.getElementById('canvas');
instance.videos = document.getElementById('cam');
let photo = document.getElementById('photo');
let context = instance.canvas.getContext('2d');
const height = instance.videos.videoHeight;
const width = instance.videos.videoWidth;
if (width && height) {
instance.canvas.width = width;
instance.canvas.height = height;
context.drawImage(instance.video, 0, 0, width, height);
var data = instance.canvas.toDataURL('image/png');
const webp = context.canvas.toDataURL("image/webp", 0.8);
photo.setAttribute('style', "transform: scaleX(-1)");
$("#photo").attr('src', data);
}
else {
Bizgaze.Apps.Hrms.Components.Attendence.Instance().clearPhoto();
}
}
;
clearPhoto() {
let instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
let photo = document.getElementById('photo');
let context = instance.canvas.getContext('2d');
context.fillStyle = "#AAA";
context.fillRect(0, 0, instance.canvas.width, instance.canvas.height);
var data = instance.canvas.toDataURL('image/png');
photo.removeAttribute('src');
}
;
clockTick() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
let r_datd = $(".output_re").hasClass("d-none");
const date = Date.now();
const timer_run = $('#check_in_btn').hasClass("d-none");
if (timer_run == true) {
if (r_datd == false) {
instance.timer_arrref;
const timeref = new Date(date - Number(instance.timer_arrref));
const refhours = timeref.getUTCHours();
const refmins = timeref.getUTCMinutes();
const refsecs = timeref.getUTCSeconds();
const refcount_hrs = refhours > 9 ? refhours : "0" + refhours;
const refcount_mins = refmins > 9 ? refmins : "0" + refmins;
const refcount_secs = refsecs > 9 ? refsecs : "0" + refsecs;
$(".output").html(`${refcount_hrs}:${refcount_mins}:${refcount_secs}`);
}
else {
const timeElaspsed = new Date(date - Number(instance.starttimerobj));
const hours = timeElaspsed.getUTCHours();
const mins = timeElaspsed.getUTCMinutes();
const secs = timeElaspsed.getUTCSeconds();
const count_hrs = hours > 9 ? hours : "0" + hours;
const count_mins = mins > 9 ? mins : "0" + mins;
const count_secs = secs > 9 ? secs : "0" + secs;
$(".output").html(`${count_hrs}:${count_mins}:${count_secs}`);
}
}
}
reset() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
clearInterval(instance.timer);
let timerreset = $('.output').text();
let timerin = timerreset.includes("NaN");
if (timerin == true) {
$('.output').empty();
$('.output').html(`00:00:00`);
}
else {
$('.output').empty();
$('.output').html(`00:00:00`);
}
}
attendenceCheckIn() {
let online_cather = window.navigator.onLine;
let instance = this;
$("#check_in_btn").click(function () {
if (isMobileApp()) {
Unibase.Platform.Helpers.MobileHelper.Instance().grantPermission(Unibase.Platform.Helpers.Enums.MobilePermissionType.Camera, Bizgaze.Apps.Hrms.Components.Attendence.Instance().cemeraCapture);
Unibase.Platform.Helpers.MobileHelper.Instance().grantPermission(Unibase.Platform.Helpers.Enums.MobilePermissionType.Location, Bizgaze.Apps.Hrms.Components.Attendence.Instance().Location);
}
else {
Bizgaze.Apps.Hrms.Components.Attendence.Instance().Location();
Bizgaze.Apps.Hrms.Components.Attendence.Instance().cemeraCapture();
}
});
}
attendencecheckout() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
$("#check_out_btn").click(function () {
if (isMobileApp()) {
Unibase.Platform.Helpers.MobileHelper.Instance().grantPermission(Unibase.Platform.Helpers.Enums.MobilePermissionType.Camera, Bizgaze.Apps.Hrms.Components.Attendence.Instance().cemeraCapture);
Unibase.Platform.Helpers.MobileHelper.Instance().grantPermission(Unibase.Platform.Helpers.Enums.MobilePermissionType.Location, Bizgaze.Apps.Hrms.Components.Attendence.Instance().Location);
}
else {
Bizgaze.Apps.Hrms.Components.Attendence.Instance().getAttendanceLogLastRecord();
Bizgaze.Apps.Hrms.Components.Attendence.Instance().Location();
Bizgaze.Apps.Hrms.Components.Attendence.Instance().cemeraCapture();
}
});
}
attendencecheckinTimer() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
$("#checkIn_closebtn").click(function (e) {
$(this).addClass("d-none");
let img_val = $("#photo").attr("src");
$("#photo").addClass("d-none");
$("#img_check").addClass("d-none");
$("#caputer_video").addClass("d-none");
$("#retakeBtn").addClass("d-none");
$("#photo").addClass("d-none");
$("#caputer_video").addClass("d-none");
$("#retakeBtn").addClass("d-none");
$(".timing").addClass("d-none");
$(".start_timing").removeClass("d-none");
$("#check_in_btn").removeAttr("data-toggle data-backdrop data-target");
$("#location_data").addClass("d-none");
$("#check_in_btn").addClass("d-none");
$("#check_out_btn").removeClass("d-none");
instance.mediaStream.getTracks().forEach((track) => {
track.stop();
});
instance.startTime = Date.now();
instance.re_timer = Date.now();
instance.starttimerobj = instance.re_timer;
if (instance.re_timer === instance.startTime) {
instance.timer = setInterval(instance.clockTick, 1000);
}
instance.time_Now = new Date();
let hours = instance.time_Now.getHours();
let ampm = hours >= 12 ? 'PM' : 'AM';
let time = instance.addzero(instance.twelvehours(instance.time_Now.getHours())) + ":" + instance.addzero(instance.time_Now.getMinutes());
instance.Start_time = instance.addzero(instance.twelvehours(instance.time_Now.getHours())) + ":" + instance.addzero(instance.time_Now.getMinutes()) + ' ' + ampm;
let get_start_time = instance.time_Now.getTime();
var date = new Date();
let data = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
let userid = data.userId;
instance.startDate = Unibase.Platform.Helpers.DateTimeHelper.instance.formatServerDateTime(date);
let userCheckindetails = {
"getstartTimeno": get_start_time,
"StartTime": instance.Start_time,
"Latitude": instance.mylatitude,
"Longitude": instance.mylongtitude,
"Address": instance.address,
"imageurl": img_val,
"Userid": userid,
"StartDate": instance.startDate
};
Bizgaze.Apps.Hrms.Components.Attendence.Instance().SaveCheckInDetails(userCheckindetails);
});
}
attendencecheckoutTimer() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
$("#checkOut_closebtn").click(function (e) {
instance.mediaStream.getTracks().forEach((track) => {
track.stop();
});
instance.endDate = new Date();
instance.get_end_time = instance.endDate.getTime();
$(this).addClass("d-none");
$("#check_out_btn").addClass('d-none');
$("#check_in_btn").removeClass("d-none");
$('.starting_time').addClass("d-none");
$(".start_timing").addClass("d-none");
$(".timing").removeClass("d-none");
$("#Check_duration").removeClass("d-none");
$("#check_out_btn").removeAttr("data-toggle data-backdrop data-target");
let Current_Time = new Date();
let hours = Current_Time.getHours();
let ampm = hours >= 12 ? 'PM' : 'AM';
instance.End_time = instance.addzero(instance.twelvehours(Current_Time.getHours())) + ":" + instance.addzero(Current_Time.getMinutes()) + ' ' + ampm;
$(".end_time").html(instance.End_time);
$(".check_timings").removeClass("hidden");
instance.log_data = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
instance.employeeid = instance.log_data.userId;
let key = "settingValue";
Bizgaze.Apps.Hrms.Components.Attendence.Instance().reset();
if (instance.startTime != null || instance.timer_arrref != null) {
instance.startTime = undefined;
instance.timer_arrref = undefined;
instance.starttimerobj = undefined;
}
$(".output").removeClass("d-none");
let re_btn = $(".output").hasClass("d-none");
if (re_btn == false) {
$(".output_re").empty();
$('.output').html(`00:00:00`);
$(".output_re").addClass("d-none");
}
$('.output').html(`00:00:00`);
let del_setting_val = instance.log_data.settings.filter(function (o) { return o.settingName === "checkin"; })[0];
delete del_setting_val[key];
Bizgaze.Apps.Hrms.Managers.AttendenceManager.Instance().getLoginDetails(instance.employeeid).then(function (response) {
let last_record = response.result[0];
instance.time_ne = moment.utc(last_record.CheckIn).local();
let time = new Date(instance.time_ne);
let date_time = time.getTime();
const timeString = time;
let data = timeString.getHours();
let ampm = data >= 12 ? 'PM' : 'AM';
let Start_times = instance.addzero(instance.twelvehours(timeString.getHours())) + ":" + instance.addzero(timeString.getMinutes()) + ' ' + ampm;
$(".start_time").html(Start_times);
let difference = Current_Time.getTime() - date_time;
difference = difference / 1000;
let hourDifference = Math.floor(difference / 3600);
difference -= hourDifference * 3600;
let minuteDifference = Math.floor(difference / 60);
difference -= minuteDifference * 60;
instance.due_time = `${instance.addzero(hourDifference)}:${instance.addzero(minuteDifference)}`;
if (hourDifference > 9 || hourDifference == 9) {
$(".Duration_time").addClass("text-success").removeClass("text-danger");
}
else {
$(".Duration_time").addClass("text-danger").removeClass("text-success");
}
$(".due_time").html(instance.due_time);
$(".output_re").addClass("d-none");
let enddate = Unibase.Platform.Helpers.DateTimeHelper.instance.formatServerDateTime(instance.endDate);
Bizgaze.Apps.Hrms.Components.Attendence.Instance().SaveCheckOutDetails(enddate);
});
});
}
attendenceCancle() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
$("#CancelBtn").click(function () {
$(this).addClass("d-none");
$("#caputer_video").addClass("d-none");
$("#photo").attr("src", '');
$("#retakeBtn").addClass("d-none");
$("#close_btn").addClass("d-none");
$("#img_check").addClass("d-none");
$('#checkIn_closebtn').addClass('d-none');
$('#checkOut_closebtn').addClass('d-none');
$(".cam_err").remove();
$(".cam_loc_err").remove();
instance.mediaStream.getTracks().forEach((track) => {
track.stop();
});
$("#photo").addClass("d-none");
$(".capture_err").addClass("d-none");
$(".capture_err").parent().removeClass("align-items-end");
});
}
modalcheckout() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
$('#modal_closebtn').click(function () {
instance.mediaStream.getTracks().forEach((track) => {
track.stop();
});
Bizgaze.Apps.Hrms.Components.Attendence.Instance().reset();
$("#check_out_btn").addClass("d-none");
$("#check_in_btn").removeClass("d-none");
$(".start_timing").addClass('d-none');
$(".timing").removeClass('d-none');
$(".output").removeClass("d-none");
$(".output_re").addClass("d-none");
Bizgaze.Apps.Hrms.Components.Attendence.Instance().getAttendanceLog();
});
}
takeImage() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
$("#snapBtn").click(function (e) {
return __awaiter(this, void 0, void 0, function* () {
Bizgaze.Apps.Hrms.Components.Attendence.Instance().takePicture();
$("#cam").addClass("d-none");
$("#photo").removeClass("d-none");
$("#snapBtn").addClass("d-none");
$("#img_check").removeClass("d-none");
$("#photo").attr("style", "filter:blur(7px);transform:scaleX(-1);");
instance.img_stored = $("#photo").attr("src");
if (instance.img_stored !== '') {
$("#photo").removeClass("d-none");
}
else {
$("#photo").addClass("d-none");
}
let message = '';
let imgNewData = instance.img_stored.replace('data:image/png;base64,', '');
let emp_id = Unibase.Platform.Membership.Infos.Identity.currentUser.unibaseId;
let payload = {
"FileData": imgNewData,
"FileType": 'jpg',
"FileName": emp_id
};
try {
message = yield instance.postUserDetect(payload);
if (message.result == " " || message.result == "unable to recognize face" || message.result == "undefined" || message.result == "failed") {
$(".loader-icon").addClass("d-none");
$("#retakeBtn").removeClass("d-none");
let html = `
Unable to recognize you!`;
$(".capture_err").html(html);
$(".capture_err").removeClass("d-none");
$("#img_check").addClass("d-none");
}
else if (message.result == "Group Photo") {
$("#img_check").addClass("d-none");
$("#retakeBtn").removeClass("d-none");
let html = `
Too many faces in Profile Picture!`;
$(".capture_err").html(html);
$(".capture_err").removeClass("d-none");
}
else if (message.result == "Face not found in profile (please change your profile)") {
$("#img_check").addClass("d-none");
$("#retakeBtn").removeClass("d-none");
$(".close_btn").addClass("d-none");
let html = `
Unable to recognize Profile Picture!`;
$(".capture_err").html(html);
$(".capture_err").removeClass("d-none");
}
else {
$("#img_check").addClass("d-none");
$("#photo").removeClass("d-none");
$("#photo").removeAttr("style").attr("style", "transform:scaleX(-1)");
let close_log = $('#check_in_btn').hasClass('d-none');
if (close_log) {
$("#checkOut_closebtn").removeClass('d-none');
}
else {
$("#checkIn_closebtn").removeClass("d-none");
}
}
}
catch (err) {
console.log(err);
}
});
});
}
retakeImage() {
$("#retakeBtn").click(function () {
$(this).addClass("d-none");
Bizgaze.Apps.Hrms.Components.Attendence.Instance().takePicture();
$("#cam").removeClass("d-none");
$("#snapBtn").removeClass("d-none");
$("#close_btn").addClass("d-none");
$("#photo").addClass("d-none");
$("#photo").attr('src', '');
$(".capture_err").addClass("d-none");
$(".capture_err").parent().removeClass("align-items-end");
});
}
viewattendenceReport() {
$(".view_Details").click(function () {
var uniqueid = 'Bizgaze_Platform_Analytics_Reports_AttendanceLogdashboard';
var date_now = new Date();
const fromDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDate(date_now);
Unibase.Platform.Analytics.Components.ReportViewer.Instance().getReportByUniqueId(uniqueid, null, null, null, fromDate, fromDate);
});
}
afterload() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
instance.log_data = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
let started_time = instance.log_data.settings.filter(function (o) { return o.settingName === "checkin"; })[0].settingValue;
instance.employeeid = instance.log_data.userId;
Bizgaze.Apps.Hrms.Managers.AttendenceManager.Instance().getLoginDetails(instance.employeeid).then(function (response) {
if (started_time != '') {
if (response.result != '' && response.result != null) {
let last_record = response.result[response.result.length - 1];
let timeno = last_record.CheckIn;
instance.startdate = last_record.CheckIn;
instance.attendenceid = last_record.AttendanceId;
instance.attendencelogid = last_record.AttendancelogId;
instance.time_ne = moment.utc(last_record.CheckIn).local();
if (timeno == undefined) {
$("#check_in_btn").removeClass("d-none");
$("#check_out_btn").addClass("d-none");
}
else {
instance.startTime = instance.time_ne;
instance.timer_arrref = instance.startTime;
instance.timer = setInterval(instance.clockTick, 1000);
$("#check_in_btn").addClass("d-none");
$("#check_out_btn").removeClass("d-none");
$(".timing").addClass("d-none");
$(".start_timing").removeClass("d-none");
$(".output_re").removeClass("d-none");
}
}
}
else {
if (response.result != '' && response.result != null) {
let last_record = response.result[response.result.length - 1];
let timeno = last_record.CheckIn;
instance.startdate = last_record.CheckIn;
instance.attendenceid = last_record.AttendanceId;
instance.attendencelogid = last_record.AttendancelogId;
instance.time_ne = moment.utc(last_record.CheckIn).local();
if (timeno == undefined) {
$("#check_in_btn").removeClass("d-none");
$("#check_out_btn").addClass("d-none");
}
else {
instance.startTime = instance.time_ne;
instance.timer_arrref = instance.startTime;
instance.timer = setInterval(instance.clockTick, 1000);
$("#check_in_btn").addClass("d-none");
$("#check_out_btn").removeClass("d-none");
$(".timing").addClass("d-none");
$(".start_timing").removeClass("d-none");
$(".output_re").removeClass("d-none");
}
}
}
});
}
postUserDetect(payload) {
return __awaiter(this, void 0, void 0, function* () {
let instance = this;
let res = yield Unibase.Apps.Collaboration.ResumeParsingManager.Instance().postUserDetect(payload);
return res;
});
}
SaveCheckInDetails(userCheckindetails) {
var date = moment(new Date($.now())).format("DD/MM/YYYY HH:mm:ss");
let data = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
let instance = this;
var jsfiles = ['apps/hrms/managers/attendencemanager.js'];
instance.fileCacheHelper.loadJsFiles(jsfiles, function (response) {
Bizgaze.Apps.Hrms.Managers.AttendenceManager.Instance().SaveCheckInDetails(userCheckindetails).then(function (response) {
var data = response.result;
instance.attendenceid = data.Attendanceid;
instance.attendencelogid = data._Id;
instance.startdate = data.Checkin;
});
});
}
SaveCheckOutDetails(enddate) {
let img = $("#photo").attr("src");
let instance = this;
var Startdate = instance.startdate;
var Attendenceid = instance.attendenceid;
var Attendencelogid = instance.attendencelogid;
var address = instance.address;
var Latitude = instance.mylatitude;
var Longitude = instance.mylongtitude;
let data = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
let userid = data.userId;
var postData = {
CheckoutLocation: address,
CheckoutImage: img,
Attendenceid: Attendenceid,
Attendencelogid: Attendencelogid,
EndDate: enddate,
Startdate: Startdate,
userid: userid,
Latitude: Latitude,
Longitude: Longitude
};
var jsfiles = ['apps/hrms/managers/attendencemanager.js'];
instance.fileCacheHelper.loadJsFiles(jsfiles, function (response) {
Bizgaze.Apps.Hrms.Managers.AttendenceManager.Instance().SaveCheckOutDetails(postData).then(function (response) {
MessageHelper.Instance().showSuccess(response.message, '');
});
});
}
getUserApplicableShifts() {
let instance = this;
let data = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
let userid = data.userId;
Bizgaze.Apps.Hrms.Managers.AttendenceManager.Instance().getUserApplicableShifts(userid).then(function (response) {
var data = response.result;
if (data != null) {
var ele_data = data.length;
if (data != undefined && data != null && ele_data != 0) {
instance.shiftfromtime = moment.utc(data[0].fromtime).local();
let Checktime = new Date(instance.shiftfromtime);
let LI_ampm = Checktime.getHours() >= 12 ? 'PM' : 'AM';
let spl_val = Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Bizgaze.Apps.Hrms.Components.Attendence.Instance().twelvehours(Checktime.getHours())) + ":" + Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Checktime.getMinutes()) + ' ' + LI_ampm;
instance.shifttotime = moment.utc(data[0].totime).local();
let Checktotime = new Date(instance.shifttotime);
let Lo_ampm = Checktotime.getHours() >= 12 ? 'PM' : 'AM';
let spls_val = Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Bizgaze.Apps.Hrms.Components.Attendence.Instance().twelvehours(Checktotime.getHours())) + ":" + Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Checktotime.getMinutes()) + ' ' + Lo_ampm;
$(".shift_name").html(`${data[0].shiftname} :`);
$(".shift_timeings").html(`${spl_val} - ${spls_val}`);
}
}
});
}
getAttendanceLog() {
let instance = this;
let data = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
let userid = data.userId;
Bizgaze.Apps.Hrms.Managers.AttendenceManager.Instance().getAttendanceLog(userid).then(function (response) {
if (response.result !== null) {
instance.last_checkIn = moment.utc(response.result.CheckIn).local();
let Checkin_time = new Date(instance.last_checkIn);
let time = Checkin_time.getTime();
instance.last_checkOut = moment.utc(response.result.CheckOut).local();
let Checkout_time = new Date(instance.last_checkOut);
let Ctime = Checkout_time.getTime();
let LI_ampm = Checkin_time.getHours() >= 12 ? 'PM' : 'AM';
let last_checkIn = Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Bizgaze.Apps.Hrms.Components.Attendence.Instance().twelvehours(Checkin_time.getHours())) + ":" + Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Checkin_time.getMinutes()) + ' ' + LI_ampm;
let LO_ampm = Checkout_time.getHours() >= 12 ? 'PM' : 'AM';
let last_checkOut = Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Bizgaze.Apps.Hrms.Components.Attendence.Instance().twelvehours(Checkout_time.getHours())) + ":" + Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Checkout_time.getMinutes()) + ' ' + LO_ampm;
if (response.result != null) {
$(".check_timings").removeClass("hidden");
$('.start_time').html(last_checkIn);
$('.end_time').html(last_checkOut);
let difference = Ctime - time;
difference = difference / 1000;
let hourDifference = Math.floor(difference / 3600);
difference -= hourDifference * 3600;
let minuteDifference = Math.floor(difference / 60);
difference -= minuteDifference * 60;
let due_time = `${Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(hourDifference)}:${Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(minuteDifference)}`;
if (hourDifference > 9 || hourDifference == 9) {
$(".Duration_time").addClass("text-success").removeClass("text-danger");
}
else {
$(".Duration_time").addClass("text-danger").removeClass("text-success");
}
$(".due_time").html(due_time);
}
}
});
}
getAttendanceLogLastRecord() {
let instance = this;
let data = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
let userid = data.userId;
Bizgaze.Apps.Hrms.Managers.AttendenceManager.Instance().getAttendanceLogLastRecord(userid).then(function (response) {
instance.last_checktable = response.result.CheckOut;
if (instance.last_checktable == "0001-01-01T00:00:00") {
$('.checkIn_err').addClass('d-none');
if (screen.width < 576) {
}
}
else {
$('.checkIn_err').removeClass('d-none');
$("#modal_closebtn").removeClass('d-none');
$("#snapBtn").addClass('d-none');
$("#cam").addClass('d-none');
$("#user_location").addClass('d-none');
$("#CancelBtn").addClass("d-none");
}
});
}
static Instance() {
if (this.instance === undefined)
this.instance = new Attendence();
return this.instance;
}
}
Components.Attendence = Attendence;
})(Components = Hrms.Components || (Hrms.Components = {}));
})(Hrms = Apps.Hrms || (Apps.Hrms = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Membership;
(function (Membership) {
let Components;
(function (Components) {
class CheckinDetails extends Platform.Core.BaseComponent {
init(containerid) {
let instance = this;
instance.load(null, containerid, null);
}
loadCheckInDetails(containerid) {
let instance = this;
let html = `
`;
$('#' + containerid).html(html);
}
load(id, containerid, callback) {
var instance = this;
instance.loadCheckInDetails(containerid);
$(`#newAccountFormCloseBtn`).click(function () {
instance.navigationHelper.closePopUp();
});
}
jsFiles() {
return ["platform/membership/components/checkindetails.js"];
}
cssFiles() {
return [];
}
html(id, containerid) {
var instance = this;
let html = ``;
return html;
}
static Instance() {
if (this.instance === undefined)
this.instance = new CheckinDetails();
return this.instance;
}
}
Components.CheckinDetails = CheckinDetails;
})(Components = Membership.Components || (Membership.Components = {}));
})(Membership = Platform.Membership || (Platform.Membership = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Hrms;
(function (Hrms) {
let Managers;
(function (Managers) {
class AttendenceManager extends Unibase.Platform.Core.BaseManager {
SaveCheckOutDetails(obj) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/hrms/attendence/SaveCheckOutDetails';
return yield this.dataHelper().postAsync(url, obj).then(function (response) {
if (response.result !== null)
response.result = JSON.parse(response.result);
return response;
});
});
}
SaveCheckInDetails(obj) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/hrms/attendence/saveCheckInDetails';
return yield this.dataHelper().postAsync(url, obj).then(function (response) {
if (response.result !== null)
response.result = JSON.parse(response.result);
return response;
});
});
}
getEmployeeCheckinAndCheckout(employeeid, checkin, checkout) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/hrms/attendence/getemployeecheckincheckoutdetails/employeeid/' + employeeid + '/checkin/' + checkin + '/checkout/' + checkout;
return yield this.dataHelper().getAsync(url).then(function (response) {
if (response.result !== null)
response.result = JSON.parse(response.result);
return response;
});
});
}
getRegularizationCheckinAndCheckout(employeeid, checkin, checkout) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/hrms/regularization/getregularizationcheckincheckoutdetails/employeeid/' + employeeid + '/checkin/' + checkin + '/checkout/' + checkout;
return yield this.dataHelper().getAsync(url).then(function (response) {
if (response.result !== null)
response.result = JSON.parse(response.result);
return response;
});
});
}
DeleteIncludedEmployees(attendeeid) {
return __awaiter(this, void 0, void 0, function* () {
debugger;
const url = "apis/v4/bizgaze/hrms/presentbydefault/DeleteIncludedEmployees/id/" + attendeeid + "";
return yield this.dataHelper().postAsync(url, null).then(function (response) {
if (response.result !== null)
response.result = JSON.parse(response.result);
return response;
});
});
}
getUserApplicableShifts(employeeid) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/hrms/attendence/getuserapplicableshifts/employeeid/' + employeeid;
return yield this.dataHelper().getAsync(url).then(function (response) {
if (response.result !== null)
response.result = JSON.parse(response.result);
return response;
});
});
}
getLoginDetails(employeeid) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/hrms/attendence/getLogindata/employeeid/' + employeeid;
return yield this.dataHelper().getAsync(url).then(function (response) {
if (response.result !== null)
response.result = JSON.parse(response.result);
return response;
});
});
}
addGeofencingUser(employeeid, employeename) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
var _recordId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_recordid").Value);
var obj = {
"employeeid": employeeid,
"geofencingid": _recordId,
"employeename": employeename
};
const url = 'apis/v4/bizgaze/hrms/attendence/addgeofencinguser';
return yield this.dataHelper().postAsync(url, obj).then(function (response) {
if (response.result !== null) {
var installedappid = Unibase.Themes.Providers.DetailHelper.installedAppId;
var Portlet = Unibase.Themes.Providers.Detail_Settings.Instance().ActivePortlets;
var PortletId = $('#hf_PortletId').val();
var detailInstance = Unibase.Themes.Compact.Components.Details.Instance();
var panel = "#" + detailInstance._containerId;
Unibase.Themes.Compact.Components.Details.Instance().loadWidgets(installedappid, PortletId, panel);
return MessageHelper.Instance().showSuccess(response.message, "user added successfully");
}
else
return MessageHelper.Instance().showError(response.message, "add try Again ");
});
});
}
getAttendanceLog(employeeid) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/hrms/attendence/getAttendanceLog/employeeid/' + employeeid;
return yield this.dataHelper().getAsync(url).then(function (response) {
if (response.result !== null && response.result !== '')
response.result = JSON.parse(response.result);
return response;
});
});
}
getAttendanceLogLastRecord(employeeid) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/hrms/attendence/GetAttendanceLogLastRecord/employeeid/' + employeeid;
return yield this.dataHelper().getAsync(url).then(function (response) {
if (response.result !== null)
response.result = JSON.parse(response.result);
return response;
});
});
}
static Instance() {
if (this._instance === undefined)
this._instance = new AttendenceManager();
return this._instance;
}
}
Managers.AttendenceManager = AttendenceManager;
})(Managers = Hrms.Managers || (Hrms.Managers = {}));
})(Hrms = Apps.Hrms || (Apps.Hrms = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var Unibase;
(function (Unibase) {
let Apps;
(function (Apps) {
let Collaboration;
(function (Collaboration) {
class ResumeParsingManager extends Unibase.Platform.Core.BaseManager {
createLead(obj) {
return __awaiter(this, void 0, void 0, function* () {
const url = '/apis/v4/bizgaze/integrations/leads/save';
return yield this.dataHelper().postAsync(url, obj).then(function (response) {
if (response.result != null) {
response.result = JSON.parse(response.result);
}
return response;
});
});
}
postResume(data) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/integrations/ai/uploadresume';
return yield this.dataHelper().postAsync(url, data).then(function (response) {
return response;
});
});
}
postUserRegister(data) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/integrations/facerecognization/register';
return yield this.dataHelper().postAsync(url, data).then(function (response) {
return response;
});
});
}
postUserDetect(data) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/integrations/facerecognization/detect';
return yield this.dataHelper().postAsync(url, data).then(function (response) {
return response;
});
});
}
postbusinessCard(data) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/integrations/ai/uploadbusinesscards/list';
return yield this.dataHelper().postAsync(url, data).then(function (response) {
return response;
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ResumeParsingManager();
}
return this.instance;
}
}
Collaboration.ResumeParsingManager = ResumeParsingManager;
})(Collaboration = Apps.Collaboration || (Apps.Collaboration = {}));
})(Apps = Unibase.Apps || (Unibase.Apps = {}));
})(Unibase || (Unibase = {}));