123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344 |
- /*Data loading start here*/
- import {getCookie} from "./cookiehelper.js";
-
- import {getData, getDataObj} from "./base.js";
- import {_serverUrl} from "./setting.js";
- function createLoad(data) {
- let html = "";
- if (data.length != 0) {
- for (var i = 0; i < data.length; i++) {
- html += `<li class="p-0">
- <a href="javascript:;" class="dropdown-item create-form-btn" data-AppConfigType="${data[i].AppConfigType}" data-AppPermissionId="${data[i].AppPermissionId}" data-AppConfigurationId="${data[i].AppConfigurationId}" data-formid="${data[i].FormId}" data-installedAppid="${data[i].InstalledAppId}">${data[i].AppTitle}</a>
- </li>`;
- }
- } else {
- html += `<li class="p-0">Apps are Not Installed</li>`;
- }
- $("#crte-btn-lst").html(html);
- $(".create-form-btn").on("click", function () {
- const date = new Date();
- let number = date.getTime();
- let serverUrl = _serverUrl();
- let appName = $(this).text();
- let formId = $(this).attr("data-formid");
- let installedAppId = $(this).attr("data-installedappid");
- let appConfigurationId = $(this).attr("data-appconfigurationid");
- let pk_id = 0;
- const cookie = getCookie("_idty");
- let fomrhtml = "";
- if (cookie) {
- const {unibaseId, tenantId, userId} = JSON.parse(cookie);
- fomrhtml = `<div class="frm-ifre frm-ifre-${number}" id="frm-ifre-${number}">
- <ul class="m-0 p-0">
- <li class="frm-hdr">
- <div>${appName}</div>
- <div class="ctrl">
- <a href="javascript:;" class="minimize" data-unid="${number}" data-ispopup="true"><span><i class="la la-minus"></i></span></a>
- <a href="javascript:;" class="maximum" data-unid="${number}"><span><i class="la la-expand"></i></span></a>
- <a href="javascript:;" class="compress d-none" data-unid="${number}"><span><i class="las la-compress"></i></span></a>
- <a href="javascript:;" class="close" data-unid="${number}"><span><i class="la la-times"></i></span></a>
- </div>
- </li>
- <li class="frm-bdy">
- <iframe class="ld-frm-src" data-ispopup="false" src="${serverUrl}#/${unibaseId}/${tenantId}/${userId}/${installedAppId}/${formId}/${pk_id}/${appConfigurationId}/loadform"></iframe>
- </li>
- <li class="frm-ftr"></li>
- </ul>
- </div>`;
- }
- $("#list-page").after(fomrhtml);
- window.window.postMessage("ld-frm-ifrme", "*");
- hdrCrtnClckEvnt(number);
- });
- }
- function hdrCrtnClckEvnt(number) {
- $(`.frm-ifre-${number} .minimize`).on("click", function () {
- let id = $(this).attr("data-unid");
- let isPopUpState = $(this).attr("data-ispopup");
- let height = $(`.frm-ifre-${id}`).find(".frm-hdr").height();
- $(`.frm-ifre-${id} .frm-bdy`).toggleClass("d-none");
- if (isPopUpState == "true") {
- // popup large
- $(this).attr("data-ispopup", "false");
- $(`.frm-ifre-${id}`).css({
- width: "22%",
- height: height,
- bottom: "0px",
- });
- } else {
- // popup small
- $(this).attr("data-ispopup", "true");
- $(`.frm-ifre-${id}`).css({
- width: "",
- height: "",
- bottom: "",
- });
- }
- });
- $(`.frm-ifre-${number} .maximum`).on("click", function () {
- let id = $(this).attr("data-unid");
- $(this).addClass("d-none");
- $(this).siblings(".compress").removeClass("d-none");
- $(`.frm-ifre-${id}`).find(".ld-frm-src").attr("data-ispopup", "true");
- $(`.frm-ifre-${id}`).css({width: "75%", height: "", bottom: "auto"});
- $(`.frm-ifre-${id} .ld-frm-src`).css({width: "100%"});
- $(`.frm-ifre-${id} .frm-bdy`).removeClass("d-none");
- $("#list-page").css({filter: "blur(2px)", opacity: "0.5"});
- });
- $(`.frm-ifre-${number} .compress`).on("click", function () {
- let id = $(this).attr("data-unid");
- $(this).addClass("d-none");
- $(this).siblings(".maximum").removeClass("d-none");
- $(`.frm-ifre-${id}`).css({width: "", bottom: ""});
- $(`.frm-ifre-${id} .ld-frm-src`).css({width: ""});
- $("#list-page").css({filter: "", opacity: ""});
- });
- $(`.frm-ifre-${number} .close`).on("click", function () {
- let id = $(this).attr("data-unid");
- $("#list-page").css({filter: "unset", opacity: "1"});
- $(`.frm-ifre-${id}`).remove();
- });
- }
- function loadData() {
- getData(
- "apis/v4/unibase/reminders/platform/getunreadreminders/ReminderType/6/PageSize/20"
- ).then(function (result) {
- let response = JSON.parse(result.result);
- if (response.length != 0) {
- // Notifcations
- let bdyUI = '<div class="accordion" id="notifi-list">';
- for (var i = 0; i < response.length; i++) {
- bdyUI += `<li class="item-li" id="${response[i].ReminderId}" data-ref="${response[i].RedirectOptions.RefId}" data-installedAppId="${response[i].RedirectOptions.InstalledAppId}" data-formId="${response[i].RedirectOptions.CreateFormId}">
- <div class="accordion-header" id="accHeader-${response[i].ReminderId}">
- <div class="notifiListItms accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#collapse-${response[i].ReminderId}" aria-expanded="false" aria-controls="collapseOne">
- <div class="row m-0 w-100 p-0 ">
- <div class="col-1 ">
- <input class="form-check-input mx-1" type="checkbox" value="" id="flexCheckDefault">
- </div>
- <div class="col-4 text-truncate">
- <span class="mx-1">${response[i].Subject}</span>
- </div>
- <div class="col-5 text-truncate">
- <span class="mx-1">${response[i].Message}</span>
- </div>
- <div class="col-2 text-truncate">
- <span class="mx-1">22 minutes ago</span>
- </div>
- </div>
- </div>
- <div id="collapse-${response[i].ReminderId}" class="accordion-collapse collapse" aria-labelledby="accHeader-${response[i].ReminderId}" data-bs-parent="#notifi-list">
- <div class="accordion-body" id="accBody${response[i].ReminderId}">
-
- </div>
- </div>
- </div>
- </li>`;
- }
- bdyUI += "</div>";
- $(".bdy-ul").append(bdyUI);
-
- $(".notifiListItms").on("click", function () {
- let _this = $(this).parents(".item-li");
- let obj = {
- FromDate: "2022/11/30",
- InstalledAppId: Number($(_this).attr("data-installedAppId")),
- RecordId: Number($(_this).attr("data-ref")),
- ToDate: "2022/11/30",
- };
- //let obj = { "FromDate": "2022/11/30", "InstalledAppId": 102530270000109, "RecordId": 102533490346298, "ToDate": "2022/11/30" };
- getDataObj(
- "apis/v4/unibase/platform/widgets/getdefaultwidget",
- obj,
- true,
- "POST"
- ).then(function (response) {
- let res = JSON.parse(response.result),
- html = "";
- if (response.message == "200" && response.errors == null) {
- html = `<ul class="p-0 m-0 d-flex flex-row">`;
- if (
- res.AppConfigurations != null &&
- res.AppConfigurations.length > 0
- ) {
- for (var k = 0; k < res.AppConfigurations.length; k++) {
- html += `<li class="mx-2 btn-outline-primary btn btn-sm">${res.AppConfigurations[k].SettingName}</li>`;
- }
- } else {
- html += `<li class="p-1 my-0 alert alert-danger" role="alert">
- App Configurations Not configure
- </li>`;
- }
- if (res.Stages != null) {
- for (var x = 0; x < res.Stages.length; x++) {
- if (res.Stages[x].IsDefault) {
- html += `<li class="ml-auto">
- <a class="btn btn-sm btn-secondary dropdown-toggle" href="javascript:void(0)" role="button" data-bs-toggle="dropdown" aria-expanded="false">
- ${res.Stages[x].StageName}
- </a>
- <ul class="dropdown-menu">`;
- }
- }
- for (var i = 0; i < res.Stages.length; i++) {
- if (!res.Stages[i].IsDefault) {
- html += `<li><a class="dropdown-item" href="javascript:void(0);">${res.Stages[i].StageName}</a></li>`;
- }
- }
- html += "</ul></li>";
- } else {
- html += `<li class="p-1 my-0 alert alert-danger ml-auto" role="alert">
- No Stages
- </li>`;
- }
- html += `<li class="p-1 mx-2 my-0 btn-outline-info detailBtn btn btn-sm" data-appid="${Number(
- $(_this).attr("data-installedAppId")
- )}" data-recordid="${Number(
- $(_this).attr("data-ref")
- )}">Details-Page</li></ul>`;
- } else {
- html += `<div class="alert alert-danger" role="alert">
- ${response.message} ${response.errors}
- </div>`;
- }
- $(_this).find(".accordion-body").html(html);
- detailClick();
- });
- });
- }
- });
- getData(
- "apis/v4/unibase/reminders/platform/getunreadreminders/ReminderType/1/PageSize/20"
- ).then(function (tskResp) {
- let response = JSON.parse(tskResp.result);
- if (response.length != 0) {
- let _tskhtml = '<div class="accordion" id="task-list">';
- for (var i = 0; i < response.length; i++) {
- _tskhtml += `<li class="item-li" id="${response[i].ReminderId}" data-ref="${response[i].RedirectOptions.RefId}" data-installedAppId="${response[i].RedirectOptions.InstalledAppId}" data-formId="${response[i].RedirectOptions.CreateFormId}">
- <div class="accordion-header" id="accHeader-${response[i].ReminderId}">
- <div class="tskListItms accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#collapse-${response[i].ReminderId}" aria-expanded="false" aria-controls="collapseOne">
- <div class="row m-0 w-100 p-0 ">
- <div class="col-1 ">
- <input class="form-check-input mx-1" type="checkbox" value="" id="flexCheckDefault">
- </div>
- <div class="col-4 text-truncate">
- <span class="mx-1">${response[i].Subject}</span>
- </div>
- <div class="col-5 text-truncate">
- <span class="mx-1">${response[i].Message}</span>
- </div>
- <div class="col-2 text-truncate">
- <span class="mx-1">2 seconds</span>
- </div>
- </div>
- </div>
- <div id="collapse-${response[i].ReminderId}" class="accordion-collapse collapse" aria-labelledby="accHeader-${response[i].ReminderId}" data-bs-parent="#notifi-list">
- <div class="accordion-body" id="accBody${response[i].ReminderId}">
- <ul class="p-0 m-0 d-flex flex-row justify-content-between">
- <li class="mx-2 btn-outline-success btn btn-sm">Confirm</li>
- <li class="mx-2 btn-outline-danger btn btn-sm">Reject</li>
- <li class="mx-2 btn-outline-primary btn btn-sm">Close</li>
- <li class="mx-2 btn-outline-info detailBtn btn btn-sm" data-appId="${response[i].RedirectOptions.InstalledAppId}" data-recordId="${response[i].RedirectOptions.RefId}">Details-Page</li>
- </ul>
- </div>
- </div>
- </div>
- </li>`;
- }
- _tskhtml += "</div>";
- $(".bdy-ul").append(_tskhtml);
- detailClick();
- }
- });
-
- // create button apps load
- let appName = [];
- getData("apis/v4/unibase/platform/apps/myapps").then(function (res) {
- let response = JSON.parse(res.result);
- jQuery.each(response, async function (index, item) {
- let installedAppId = Number(item.MyAppId);
- await getData(
- `apis/v4/unibase/platform/apps/listappconfigurations/installedappid/${installedAppId}`
- ).then(function (result) {
- if (
- result.result != null &&
- result.result != "" &&
- result.result != "[]"
- ) {
- let _data = JSON.parse(result.result);
- let data = _data.filter((x) => x.SettingUrlType == 1);
- if (data.length != 0) {
- appName.push({
- SettingUrlType: data[0].SettingUrlType,
- AppTitle: data[0].AppTitle,
- FormId: data[0].FormId,
- InstalledAppId: data[0].InstalledAppId,
- RoleSettingAppId: data[0].RoleSettingAppId,
- InstalledAppGuid: data[0].InstalledAppGuid,
- AppConfigurationId: data[0].AppConfigurationId,
- AppPermissionId: data[0].AppPermissionId,
- AppConfigType: data[0].AppConfigType,
- });
- }
- }
- });
- await createLoad(appName);
- });
- });
- }
- export function detailClick() {
- $(".detailBtn").click(function () {
- let serverUrl = _serverUrl();
- $(".bdy-ul").addClass("d-none");
- let installedAppId = +$(this).attr("data-appId");
- let recordId = +$(this).attr("data-recordId");
- // Unibase.Themes.Compact.Components.Notification.Instance().loadReminderDetails(105013010001972,105010260000090,'Details','null',6,0,null)
- const cookie = getCookie("_idty");
- if (cookie) {
- const {unibaseId, tenantId, userId} = JSON.parse(cookie);
- debugger;
- $("#detailIframe").html(
- `<iframe width="100%" style="min-height:calc(100vh - ${$(
- ".tp-bar"
- ).height()}px)" name="srcframe" id="srcframe" class="srcframe" src="${serverUrl}#/${unibaseId}/${tenantId}/${userId}/${recordId}/${installedAppId}/loadDetail"></iframe>`
- );
- }
- });
- }
-
- export function initListIndex() {
- let _userInfo = atob(document.cookie.split("=")[1]);
- let userInfo = " JSON.parse(_userInfo).result";
- let sessionId = "userInfo.sessionId";
-
- let usrinfoHTML = `<li><a class="dropdown-item" href="javascript:void(0);">${userInfo.name}</a></li>
- <li><a class="dropdown-item" href="javascript:void(0);">Cloud Settings</a></li>
- <li><a class="dropdown-item" href="javascript:void(0);">Help</a></li>
- <li><a class="dropdown-item" href="javascript:void(0);">Logoff</a></li>`;
- $(".icn-circle").text(userInfo?.name?.charAt(0)?.toUpperCase());
- $(".uindtls").html(usrinfoHTML);
-
- // List Page loading
-
- /*Data loading start here*/
- $(".mnNvIcn").click(function () {
- $(".lft-nav-bar").toggleClass("lft-nav-bar-Wrap");
- $(".ctr-lst-pge").toggleClass("lft-nav-bar-Wrap");
- });
- $(".mre-drp a.sub-nav-item.more").on("click", function () {
- $(".sub-nav-item").removeClass("active");
- if ($(this)[0].className.includes("active")) {
- $(this).find("i").css("transform", "rotate(0deg)");
- $(this).removeClass("active");
- } else {
- $(this).find("i").css("transform", "rotate(180deg)");
- $(this).addClass("active");
- }
- $(this).siblings(".ul-drpdown").toggleClass("d-none");
- });
- $("a.sub-nav-item")
- .not(".more.active")
- .on("click", function () {
- $(".sub-nav-item").not(".more.active").removeClass("active");
- $(this).addClass("active");
- });
- loadData();
- }
|