123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- 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 = `<form id="frm_BizgazeNavigationAppGroup" method="post" data-validate="parsley" class="w-f bg-white"><div class="header b-b bg-white p-3" id="div_AppGroupSettingHeader"><h5>App Group Settings</h5><div class="btn-group pull-right"><a class="btn btn-sm btn-info" style="color:white" id="btn_CreateAppGroup"><i class="fa fa-plus"></i> App Group</a> </div></div><div data-simplebar class="simple-scroll-bar scrollable"><div id="Bizgaze_AppGroupErrorMessages" class="clear"></div><br /><div class="card"><div class="card-body"><div class="row"><div class="col-sm-12"><div class="dd" id="div_nestable3"><div><h5>Apps and Groups</h5></div><hr/><ol class="dd-list" id="ol_MainAppGroup"></ol></div><div class="dd" id="div_nestable2"><div><h5>Groupable Apps</h5></div><hr /><ol class="dd-list" id="ol_GrouplessApps"><li class="li_GroupItem"></li><li class="li_DisplayItem"></li></ol>Note: These Apps are groupable & draggable, AppGroup Settings will affect to all the Portals.</div></div></div></div></div></div><div class="footer bg-white"><a href="javascript:;" id="btn_CloseAppGroupSettings" class="pull-left btn btn-light btn-sm mr-auto">Close</a><a href="javascript:;" id="btn_SaveAppGroupSettings" class="pull-right btn btn-primary btn-sm">Save</a></div></form>`;
- 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 + "<li class='li_DisplayItem dd-item'></li>");
- });
- }
- 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 = {}));
|