var Unibase; (function (Unibase) { let Platform; (function (Platform) { let AppGroups; (function (AppGroups) { let Components; (function (Components) { class ManageAppGroup extends Platform.Core.BaseComponent { constructor() { super(); this._appGroupManager = AppGroups.Managers.AppGroupManager.Instance(); this._appManager = Platform.Apps.Managers.AppManager.Instance(); } cssFiles() { return ["libs/nestable/JqueryminMenu.css"]; } jsFiles() { return ["platform/bundle/index.appgroup.min.js"]; } html(id, containerid) { let html = `
App Group Settings

Apps and Groups

    Groupable Apps

    Note: These Apps are groupable & draggable, AppGroup Settings will affect to all the Portals.
    `; return html; } load(id, containerid, callback) { Unibase.Platform.Helpers.FileCacheHelper.Instance().addCacheFiles(["platform/appgroups/components/createappgroup.js", "platform/appgroups/components/editappgroup.js", "platform/appgroups/components/appgroup.template.js", "platform/appgroups/requests/appgroup.js"]); var instance = this; $("#div_AppGroupSettingHeader").removeClass("pa-5"); let x = $('#div_nestable3'); x.nestable({ group: 'categories', maxDepth: 2, scroll: true, scrollSpeed: 20, beforeDragStop: function (l, e, p) { var isGroup = $(e).hasClass('RootGroup'); var Area = $(p).attr("id"); if (isGroup == true) { if (Area !== 'ol_GrouplessApps') { let y = $('#ol_MainAppGroup'); y.sortable({ scrollSpeed: 20, }); } else { return false; } setTimeout(function () { instance.saveAppGroupSettings(); }, 300); } else { let Checkroot = $(p).parent().attr('data-type'); let checkGroupable = $(p).parent().attr('id'); if (Checkroot != 'root' || Checkroot.toString() == 'undefind') { if (checkGroupable == 'div_nestable2') { return true; } else { return false; } } } let z = $("#ol_MainAppGroup"); z.sortable({ disabled: true }); }, }); let a = $('#div_nestable2'); a.nestable({ group: 'categories', maxDepth: 2, scroll: true, scrollSpeed: 20, beforeDragStop: function (l, e, p) { let AppId = $(e).attr('id'); let AppGroupId = $(p).parents('li').attr('id'); let Appindex = $(e).attr('appindex'); if (AppGroupId == undefined || AppGroupId == "undefined") AppGroupId = "0"; var isGroup = $(e).hasClass('RootGroup'); var Area = $(p).attr("id"); if (isGroup == true) { instance.saveAppGroupSettings(); } else { } }, }); $('.dd-empty').remove(); $("#btn_CreateAppGroup").click(function () { instance.navigationHelper.popup(0, "", Unibase.Platform.AppGroups.Components.CreateAppGroup.Instance(), null, Platform.Helpers.Size.DockLeft); }); $("#btn_SaveAppGroupSettings").click(function () { instance.saveAppGroupSettings(); instance.navigationHelper.closePopUp(); }); $("#btn_CloseAppGroupSettings").click(function () { instance.navigationHelper.closePopUp(); }); instance.loadAppGroups(); } loadAppGroups() { var instance = this; jQuery("#ol_MainAppGroup").empty(); var html = ""; instance._appGroupManager.getAppGroups().then(function (response) { for (var i = 0; i < response.result.length; i++) { var groupData = response.result[i]; var template = Unibase.Platform.AppGroups.Components.AppGroup_Template.Instance().AppGroups(); var templateScript = Handlebars.compile(template); var context = { "AppGroupId": groupData.AppGroupId, "AppGroupName": groupData.AppGroupName }; html = templateScript(context); $("#ol_MainAppGroup").append(html); } instance.loadApps(); instance.loadUngroupedApps(); }); } loadApps() { var instance = this; instance._appManager.getActiveUserApps().then(function (response) { if (response.result.length > 0) { for (var i = 0; i < response.result.length; i++) { var appData = response.result[i]; var html = ""; var groupId = appData.AppGroupId; var template = Unibase.Platform.AppGroups.Components.AppGroup_Template.Instance().Apps(); var templateScript = Handlebars.compile(template); var context = { "InstalledAppId": appData.MyAppId, "AppTitle": appData.AppTitle, "AppIndex": appData.AppIndex }; html = templateScript(context); $('#GroupApps-' + groupId).find(".grpItem:last").after(html); } $(".AppGroupOl").each(function () { let element = $(this).children('li'); $(this).html(element.sort(function (a, b) { return ($(b).attr('appindex')) < ($(a).attr('appindex')) ? 1 : -1; })); }); } }); } loadUngroupedApps() { var instance = this; $('#ol_GrouplessApps').empty(); instance._appGroupManager.getUngroupedApps().then(function (response) { var appData = response.result; if (appData.length > 0) { appData = appData.filter(f => f.ParentAppId == 0); } var html = ""; for (var i = 0; i < appData.length; i++) { var group = appData[i]; var template = Unibase.Platform.AppGroups.Components.AppGroup_Template.Instance().UnGroupedApps(); var templateScript = Handlebars.compile(template); var context = { "InstalledAppId": group.InstalledAppId, "AppTitle": group.AppTitle, "AppIndex": group.AppIndex }; html += templateScript(context); } $('#ol_GrouplessApps').html(html + "
  1. "); }); } saveAppGroupSettings() { var instance = this; var Groups = []; $('#ol_MainAppGroup .RootGroup').each(function (index, el) { Groups.push(el); }); let AppsAndGroups = []; for (var i = 0; i < Groups.length; i++) { var appIds = []; var currentGrp = Groups[i]; var grpId = Number($(currentGrp).attr('id')); $(currentGrp).children('ol').find('li').each(function (index, el) { let id = $(el).attr('id'); if (id > 0 || id != null) { appIds.push(Number(id)); } }); AppsAndGroups.push({ "GroupId": grpId, "AppIds": appIds }); } instance._appGroupManager.saveAppGroupSettings(AppsAndGroups).then(function (response) { if (response.errors == null) { instance.loadAppGroups(); MessageHelper.Instance().showSuccess('App Group Settings Saved Successfully', ''); } else { MessageHelper.Instance().showError(response.errors[0], "Bizgaze_AppGroupErrorMessages"); } }); } updateAppGroup(app, appGroupId) { var instance = this; var DisplayIndex = $(app).attr('appindex'); DisplayIndex = DisplayIndex.replace(/['"]+/g, ''); var InstalledAppId = $(app).attr('id'); let reqObj = new Unibase.Platform.AppGroups.Requests.AppGroup(); reqObj.AppGroupId = Number(appGroupId); reqObj.InstalledAppId = Number(InstalledAppId); reqObj.DisplayIndex = Number(DisplayIndex); instance._appGroupManager.updateAppGroup(reqObj).then(function (response) { if (response.errors == null) MessageHelper.Instance().showSuccess('App Group Updated Successfully', ''); else MessageHelper.Instance().showError(response.errors[0], "Bizgaze_AppGroupErrorMessages"); }); } editAppGroup(GroupId) { var instance = this; instance.navigationHelper.popup(GroupId, "", Unibase.Platform.AppGroups.Components.EditAppGroup.Instance(), null, Platform.Helpers.Size.DockLeft); } static Instance() { return new ManageAppGroup(); } } Components.ManageAppGroup = ManageAppGroup; })(Components = AppGroups.Components || (AppGroups.Components = {})); })(AppGroups = Platform.AppGroups || (Platform.AppGroups = {})); })(Platform = Unibase.Platform || (Unibase.Platform = {})); })(Unibase || (Unibase = {}));