Built files from Bizgaze WebServer
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

index.widget.builder.js 61KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723
  1. var Unibase;
  2. (function (Unibase) {
  3. let Platform;
  4. (function (Platform) {
  5. let Widgets;
  6. (function (Widgets) {
  7. let Components;
  8. (function (Components) {
  9. class _Widget extends Platform.Core.BaseComponent {
  10. constructor() {
  11. super(...arguments);
  12. this.existingwidgets = [];
  13. this.existingwidetsname = [];
  14. }
  15. cssFiles() {
  16. return [];
  17. }
  18. jsFiles() {
  19. return ["platform/widgets/components/widgethiddenfields.js", "tenants/themes/compact/widgets/reportwidgets/default.js", "tenants/themes/compact/widgets/kpiwidgets/default.js", 'tenants/themes/compact/widgets/detailwidgets/default.js', 'tenants/themes/compact/widgets/detailwidgets/singledata.js', 'tenants/themes/compact/widgets/detailwidgets/singlecolumn.js', 'tenants/themes/compact/widgets/detailwidgets/singlecolumn_noborder.js', "tenants/themes/compact/widgets/kpiwidgets/comparision.js", "tenants/themes/compact/widgets/kpiwidgets/icon.js", "tenants/themes/compact/widgets/kpiwidgets/valuewithpercentage.js", "tenants/themes/compact/widgets/kpiwidgets/twovalue.js", "tenants/themes/compact/widgets/reportwidgets/withnoheaderandfooter.js", "platform/widgets/components/widgetpermission.js", "tenants/themes/compact/widgets/kpiwidgets/twovaluebgcolor.js", "tenants/themes/compact/widgets/kpiwidgets/valuewithpercentagebgcolor.js", "tenants/themes/compact/widgets/kpiwidgets/twovaluecenterline.js", "tenants/themes/compact/widgets/kpiwidgets/owlcarouselslider.js", "tenants/themes/compact/widgets/kpiwidgets/valuewithpercentageprogressbar.js", "tenants/themes/compact/widgets/kpiwidgets/kpi_fulfillment.js", "tenants/themes/compact/widgets/kpiwidgets/carouselslider.js", "tenants/themes/compact/widgets/kpiwidgets/carouselsliderbgcolor.js", "platform/analytics/components/reportviewer/widgetreportviewer.js", "platform/analytics/components/reportviewer/reportviewer.js", "platform/analytics/enums/reporttype.js", "platform/analytics/providers/ireportviewer.js", "platform/analytics/components/reportbuilder/reportbuilder.js", "platform/analytics/enums/viewertype.js", "platform/analytics/components/tableviewer/tableviewer.js", "platform/analytics/components/templateviewer/templateviewer.js", "platform/analytics/components/reportviewer/_reportviewer.js", "platform/widgets/managers/widgetmanager.js", "tenants/themes/compact/widgets/detailwidgets/customdesign.js", "platform/core/enums/expressionoperator.js", "platform/analytics/components/commonfilter/_commonfilter.js", "/platform/apps/enums/appconfigurationtypes.js", "tenants/themes/compact/widgets/kpiwidgets/comparisionrightbarcolor.js", "tenants/themes/compact/widgets/kpiwidgets/comparisionbottombarcolor.js", "tenants/themes/compact/widgets/kpiwidgets/singlevalueborder.js", "tenants/themes/compact/widgets/kpiwidgets/twovaluebottombarcolor.js", "tenants/themes/compact/widgets/kpiwidgets/singlevaluepiechart.js", "tenants/themes/compact/widgets/kpiwidgets/iconbgcolor.js", "tenants/themes/compact/widgets/kpiwidgets/iconcolor.js", "tenants/themes/compact/widgets/kpiwidgets/iconleftbarcolor.js"];
  20. }
  21. html(id, containerid) {
  22. let html = '';
  23. return html;
  24. }
  25. load(id, containerid, callback) {
  26. }
  27. widgetsModal(InstalledAppId, event) {
  28. var instance = this;
  29. $(".biz-submenu").css({ "z-index": "" });
  30. $(".biz-layout-3-left-nav").css({ "z-index": "" });
  31. $(".toplayout-structures-panel").css({ "z-index": "1040" });
  32. let structureId = $(event).parents('.droppablePlaceCol').attr('id');
  33. instance.fileCacheHelper.loadJsFile('platform/widgets/enums/widgetlayout.js', null);
  34. instance.fileCacheHelper.loadJsFile('platform/widgets/enums/widgettype.js', null);
  35. let html = `<div class="modal fade dashboardWidgetModal px-2" id="dashboardWidgetModal" tabindex="-1" role="dialog" aria-labelledby="dashboardWidgetModal" aria-hidden="true" data-backdrop="static">
  36. <div class="WidgetModal modal-dialog h-100 my-0 py-25" role="document">
  37. <div class="modal-content h-100 bg-white p-0">
  38. <div class="modal-header d-block px-15 pb-0 border-0">
  39. <ul class="d-flex list-inline justify-content-between align-items-center">
  40. <li class="w-90 mr-2">
  41. <div class="nav-header header-wth-search p-0 d-flex justify-content-center">
  42. <div class="card-search-bar"> <div class="search-wrapper"> <input class="form-control txt_global_search" id="widget-search" type="text" placeholder="Search" autocomplete="off"> <i class="fa fa-search search-left-icon biz-highlight-bg-color"></i> <a href="javascript:;" class="filter-icon biz-highlight-bg-color" id="filter-icon_modal_bizgaze_edit_1633325781"> <i class="las la-filter"></i> </a> <a href="javascript:;" class="search-clear-icon biz-highlight-bg-color d-none" id="search-clear-icon_modal_bizgaze_edit_1633325781"> <i class="zmdi zmdi-close"></i> </a> </div><span class="search-icon-wrapper"> <a href="javascript:;" class="search_close_icon biz-text-dark d-none" id="search_close_icon_modal_bizgaze_edit_1633325781"><i class="fa fa-close"></i> </a> </span></div>
  43. </div>
  44. </li>
  45. <li class="d-none d-xl-block">
  46. <a class="btn btn-outline-primary mr-auto ml-auto px-2 py-1" href="javascript:;" id="AddWidget_btnCreateWidget" onclick="Unibase.Platform.Widgets.Components._Widget.Instance().createWidget()">
  47. Create Widget
  48. </a>
  49. </li>
  50. </ul>
  51. <ul class="nav nav-tabs d-flex flex-row border-0 gap-10 my-10" id="widgetsModal_popup" role="tablist">
  52. <li class="nav-item" role="presentation">
  53. <a class="nav-link active allWidgetsModal" id="all-tab" data-toggle="tab" href="#allWidgetsModal" role="tab" aria-controls="all" aria-selected="true" onclick = "Unibase.Platform.Widgets.Components._Widget.Instance().getWidgets(0,-1,${structureId})">
  54. ALL
  55. </a>
  56. </li>
  57. <li class="nav-item" role="presentation">
  58. <a class="nav-link" id="kpi-tab" data-toggle="tab" href="#kpiWidgetsModal" role="tab" aria-controls="kpi" aria-selected="false" onclick = "Unibase.Platform.Widgets.Components._Widget.Instance().getWidgets(0,Number(Unibase.Platform.Widgets.Enums.WidgetLayout.Kpi),${structureId})">
  59. KPI'S
  60. </a>
  61. </li>
  62. <li class="nav-item" role="presentation">
  63. <a class="nav-link" id="chart-reports-tab" data-toggle="tab" href="#chartReportsModal" role="tab" aria-controls="chart-reports" aria-selected="false" onclick = "Unibase.Platform.Widgets.Components._Widget.Instance().getWidgets(0,Number(Unibase.Platform.Widgets.Enums.WidgetLayout.Report),${structureId})">
  64. Charts & Reports
  65. </a>
  66. </li>
  67. <li class="nav-item" role="presentation">
  68. <a class="nav-link" id="user-design-tab" data-toggle="tab" href="#userDesignedModal" role="tab" aria-controls="userDesignedModal" aria-selected="false"
  69. onclick = "Unibase.Platform.Widgets.Components._Widget.Instance().getWidgets(0,Number(Unibase.Platform.Widgets.Enums.WidgetLayout.UserDesigned),${structureId})">
  70. User Design
  71. </a>
  72. </li>
  73. <li class="nav-item" role="presentation">
  74. <a class="nav-link" id="details-tab" data-toggle="tab" href="#detailsWidgetModel" role="tab" aria-controls="detailsWidgetModal" aria-selected="false" onclick = "Unibase.Platform.Widgets.Components._Widget.Instance().getWidgets(0,Number(Unibase.Platform.Widgets.Enums.WidgetLayout.Detail),${structureId})">
  75. Details
  76. </a>
  77. </li>
  78. <li class="nav-item" role="presentation">
  79. <a class="nav-link" id="details-tab" data-toggle="tab" href="#commonwidgetsmodal" role="tab" aria-controls="commonwidgetsmodal" aria-selected="false" onclick = "Unibase.Platform.Widgets.Components._Widget.Instance().getWidgets(Number(Unibase.Platform.Widgets.Enums.WidgetType.CommonWidget),-1,${structureId})">
  80. Common Widgets
  81. </a>
  82. </li>
  83. <li class="nav-item" role="presentation">
  84. <a class="nav-link" id="details-tab" data-toggle="tab" href="#addedwidgetsmodal" role="tab" aria-controls="addedwidgetsmodal" aria-selected="false" onclick = "Unibase.Platform.Widgets.Components._Widget.Instance().getAddedWidgets(null,null,${structureId})">
  85. Added Widgets
  86. </a>
  87. </li>
  88. </ul>
  89. </div>
  90. <div data-simplebar class="simple-scroll-bar modal-body tab-content px-3 py-0 mt-0" id="dashboardWidget-modal-content">
  91. <div class="tab-pane fade show active" id="allWidgetsModal" role="tabpanel" aria-labelledby="all-tab">
  92. <ul class="row" id="allWidgetsBind">
  93. </ul>
  94. </div>
  95. <div class="tab-pane fade" id="kpiWidgetsModal" role="tabpanel" aria-labelledby="kpi-tab">
  96. <ul class="row" id="kpiWidgetsBind">
  97. </ul>
  98. </div>
  99. <div class="tab-pane fade" id="chartReportsModal" role="tabpanel" aria-labelledby="chart-reports-tab">
  100. <ul class="row" id="reportwidgetsBind">
  101. </ul>
  102. </div>
  103. <div class="tab-pane fade" id="userDesignedModal" role="tabpanel" aria-labelledby="details-tab">
  104. <ul class="row" id="userDesignedBind">
  105. </ul>
  106. </div>
  107. <div class="tab-pane fade" id="detailsWidgetModel" role="tabpanel" aria-labelledby="details-tab">
  108. <ul class="row" id="detailsWidgetBind">
  109. </ul>
  110. </div>
  111. <div class="tab-pane fade" id="commonwidgetsmodal" role="tabpanel" aria-labelledby="details-tab">
  112. <ul class="row" id="commonwidgetsBind">
  113. </ul>
  114. </div>
  115. <div class="tab-pane fade" id="addedwidgetsmodal" role="tabpanel" aria-labelledby="details-tab">
  116. <ul class="row" id="addedwidgetsBind">
  117. </ul>
  118. </div>
  119. </div>
  120. <div class="modal-footer border-0 px-15 py-10 d-flex justify-content-between bg-white">
  121. <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
  122. <button type="button" class="btn btn-success" data-dismiss="modal" onclick="Unibase.Platform.Widgets.Components._Widget.Instance().saveWidgets(${structureId})">Proceed</button>
  123. </div>
  124. </div>
  125. </div>
  126. </div>
  127. </div>`;
  128. $('#detailsWidgetModal').remove();
  129. if (InstalledAppId != 0) {
  130. $('#layout-detail').after(html);
  131. $("#dashboardWidgetModal").modal('show').css({ 'padding-left': '' });
  132. $('.allWidgetsModal').trigger('click');
  133. $('.portletwidget-item').each(function (index, elem) {
  134. let widgetid = +$(this).attr('data-widgetid');
  135. let widgetName = $(this).attr('data-widgetname');
  136. let state = 'exist';
  137. if (instance.existingwidgets.indexOf(widgetid) < 0) {
  138. instance.existingwidgets.push(widgetid);
  139. instance.existingwidetsname.push({ "widgetId": widgetid, widgetName, state });
  140. }
  141. });
  142. }
  143. if (InstalledAppId == 0) {
  144. $("#dashboardwidget-container-outer").after(html);
  145. $("#dashboardWidgetModal").modal('show');
  146. $('.allWidgetsModal').trigger('click');
  147. $('.dashboardwidget-addeditem').each(function (index, elem) {
  148. let hf_portletwidgetId = $(this).find('.hf_portletwidgetId').val();
  149. let widgetid = +$(this).attr('id');
  150. let widgetName = $(this).find('#hf_widgetName_' + hf_portletwidgetId).val();
  151. let state = 'exist';
  152. if (instance.existingwidgets.indexOf(widgetid) < 0) {
  153. instance.existingwidgets.push(widgetid);
  154. instance.existingwidetsname.push({ "widgetId": widgetid, widgetName, state });
  155. }
  156. });
  157. }
  158. $('#dashboardWidgetModal').on('hide.bs.modal', function (event) {
  159. instance.existingwidetsname = [];
  160. instance.existingwidgets = [];
  161. $(this).remove();
  162. $("#bizgaze_body").addClass("edit-dashboard-mode");
  163. $(".biz-submenu").css({ "z-index": "9999" });
  164. $(".biz-layout-3-left-nav").css({ "z-index": "9999" });
  165. $(".toplayout-structures-panel").css({ "z-index": "9999" });
  166. });
  167. $("#widget-search").on("keyup", function () {
  168. $('#dashboardWidget-modal-content li').removeClass('hidden');
  169. let searchTerm = String($(this).val()).toUpperCase();
  170. let id = $('#widgetsModal_popup .nav-item .nav-link.active').attr('href');
  171. let ul = $(id + ' ul').attr('id'), widgetName;
  172. $('#' + ul + ' li').each(function () {
  173. widgetName = $(this).attr('data-widgetname');
  174. if (widgetName.toUpperCase().indexOf(searchTerm) > -1) {
  175. $(this).removeClass('hidden');
  176. let checklength = $(this).find(".selected").length;
  177. if (checklength == 1) {
  178. $(this).removeClass("d-none");
  179. $(this).find("a").addClass("opacity-40");
  180. $(this).append('<div class="added_widget_dispalytext mr-25 opacity-95 position-absolute r-0 t-0 text-center text-success" style="margin-top: -1px;">Already Added</div>');
  181. }
  182. }
  183. else {
  184. $(this).addClass('hidden');
  185. }
  186. });
  187. if ($("#widget-search").val() == "") {
  188. $(".widgets_card").each(function () {
  189. let checklength = $(this).find(".selected").length;
  190. if (checklength == 1) {
  191. $(this).addClass("d-none");
  192. $(this).find("a").removeClass("opacity-40");
  193. $(this).find(".added_widget_dispalytext").remove();
  194. $(this).find(".selected").addClass("d-none");
  195. }
  196. });
  197. }
  198. });
  199. }
  200. loadDetailPageModal(widgets, bindingDiv, installedAppId, portletId, structuredesignId) {
  201. let instance = this, widgetData = widgets.result, allhtml = '', kpihtml = '', detailhtml = '', reporthtml = '';
  202. for (var a = 0; a < widgetData.length; a++) {
  203. allhtml = '<li class="col-md-3 my-2" data-widgetType="' + bindingDiv + '" data-widgetName="' + widgetData[a].WidgetName + '"><a href="javascript:;" onclick="Unibase.Platform.Widgets.Components._Widget.Instance().selectWidget(this,' + structuredesignId + ');"><div class="p-3 h-55p bg-grey-light-5 search" data-isselect="false" data-widgetid="' + widgetData[a].WidgetId + '" data-typeWidgets="" data-uniqueWidgetId = "' + widgetData[a].UniqueId + '" data-widgetName="' + widgetData[a].WidgetName + '"><p class="text-dark">' + widgetData[a].WidgetName + '</p></div></a></li>';
  204. $('#allWidgetsBind').append(allhtml);
  205. $('#commonwidgetsBind').append(allhtml);
  206. }
  207. if (bindingDiv == 'common-widgets') {
  208. let kpi_Widgets = widgetData.filter(x => x.WidgetLayoutName == "KPI");
  209. for (var k = 0; k < kpi_Widgets.length; k++) {
  210. kpihtml = '<li class="col-md-3 my-2" data-widgetType="' + bindingDiv + '" data-widgetName="' + kpi_Widgets[k].WidgetName + '"><a href="javascript:;" onclick="Unibase.Platform.Widgets.Components._Widget.Instance().selectWidget(this,' + structuredesignId + ');"><div class="p-3 h-55p bg-grey-light-5" data-isselect="false" data-widgetid="' + kpi_Widgets[k].WidgetId + '" data-typeWidgets="" data-uniqueWidgetId = "' + kpi_Widgets[k].UniqueId + '" data-widgetName="' + kpi_Widgets[k].WidgetName + '"><p class="text-dark">' + kpi_Widgets[k].WidgetName + '</p></div></a></li>';
  211. $('#kpiWidgetsBind').append(kpihtml);
  212. }
  213. widgetData.filter(x => x.widgetlayoutname == "Detail");
  214. var details_Widgets = widgetData.filter(function (o) { return o.WidgetLayoutName === "Detail"; });
  215. for (var d = 0; d < details_Widgets.length; d++) {
  216. detailhtml = '<li class="col-md-3 my-2" data-widgetType="' + bindingDiv + '" data-widgetName="' + details_Widgets[d].WidgetName + '"><a href="javascript:;" onclick="Unibase.Platform.Widgets.Components._Widget.Instance().selectWidget(this,' + structuredesignId + ');"><div class="p-3 h-55p bg-grey-light-5" data-isselect="false" data-widgetid="' + details_Widgets[d].WidgetId + '" data-typeWidgets="" data-uniqueWidgetId = "' + details_Widgets[d].UniqueId + '" data-widgetName="' + details_Widgets[d].WidgetName + '"><p class="text-dark">' + details_Widgets[d].WidgetName + '</p></div></a></li>';
  217. $('#detailsWidgetBind').append(detailhtml);
  218. }
  219. var report_Widgets = widgetData.filter(function (o) { return o.WidgetLayoutName === "Report"; });
  220. for (var r = 0; r < report_Widgets.length; r++) {
  221. reporthtml = '<li class="col-md-3 my-2" data-widgetType="' + bindingDiv + '" data-widgetName="' + report_Widgets[r].WidgetName + '"><a href="javascript:;" onclick="Unibase.Platform.Widgets.Components._Widget.Instance().selectWidget(this,' + structuredesignId + ');"><div class="p-3 h-55p bg-grey-light-5" data-widgetid="' + report_Widgets[r].WidgetId + '" data-isselect="false" data-typeWidgets="" data-uniqueWidgetId = "' + report_Widgets[r].UniqueId + '" data-widgetName="' + report_Widgets[r].WidgetName + '"><p class="text-dark">' + report_Widgets[r].WidgetName + '</p></div></a></li>';
  222. $('#reportwidgetsBind').append(reporthtml);
  223. }
  224. }
  225. if (bindingDiv == 'already-added-widgets') {
  226. var already_Widgets = widgetData;
  227. for (var w = 0; w < already_Widgets.length; r++) {
  228. reporthtml = '<li class="col-md-3 my-2" data-widgetType="' + bindingDiv + '" data-widgetName="' + already_Widgets[w].WidgetName + '"><a href="javascript:;" onclick="Unibase.Platform.Widgets.Components._Widget.Instance().selectWidget(this,' + structuredesignId + ');"><div class="p-3 h-55p bg-grey-light-5" data-widgetid="' + already_Widgets[w].WidgetId + '" data-isselect="false" data-typeWidgets="" data-uniqueWidgetId = "' + already_Widgets[w].UniqueId + '" data-widgetName="' + already_Widgets[w].WidgetName + '"><p class="text-dark">' + already_Widgets[w].WidgetName + '</p></div></a></li>';
  229. $('#addedwidgetsBind').append(already_Widgets);
  230. }
  231. }
  232. for (var i = 0; i < widgetData.length; i++) {
  233. var html = '<li class="nav-item widget-item widget-added-item mt-10 list-widget-' + widgetData[i].WidgetId + ' widgetid-' + widgetData[i].WidgetId + '' + bindingDiv + ' dsl-block datagroup" data-toggle="popover-hover" data-img="tenants/themes/default/imgs/imgpopover.png" value=' + widgetData[i].WidgetId + ' id="ListWidgets">' +
  234. '<input type="hidden" value=' + widgetData[i].WidgetId + ' id="hf_ListwidgetId" />' +
  235. '<input type="hidden" value=' + widgetData[i].WidgetUrl + ' id="widgetUrl-' + widgetData[i].WidgetId + '" />' +
  236. '<input type="hidden" value="' + widgetData[i].WidgetName + '" id="widgetName" />' +
  237. '<input type="hidden" value=' + widgetData[i].IsFiltarable + ' id="IsFiltarable" />' +
  238. '<input type="hidden" value=' + widgetData[i].UniqueId + ' id="hf_WidgetUniqueId" />' +
  239. '<input type="hidden" value=' + widgetData[i].Width + ' id="widgetWidth" />' +
  240. '<span><i class="las la-braille dragger"></i>' +
  241. '<span title="' + widgetData[i].WidgetName + '" class="dsl-block-name" style="color:#2f343a !important" >' + widgetData[i].WidgetName + '</span>' +
  242. '</span>' +
  243. '</li>';
  244. $('.' + bindingDiv + ':last').after(html);
  245. }
  246. instance.selectedWidget();
  247. }
  248. selectedWidget() {
  249. let selectedHtml = `<div class="selected">
  250. <i class="fa fa-check-circle text-success font-20"></i>
  251. </div>`;
  252. let widgetidSelect;
  253. $('#dashboardwidget-container').find('.widgetdataHere').each(function () {
  254. if ($(this).attr('data-strctwidgetindex') == undefined) {
  255. widgetidSelect = $(this).attr('id');
  256. }
  257. else {
  258. let widgetidArr = [];
  259. widgetidArr = $(this).attr('id').split('-');
  260. widgetidSelect = widgetidArr[1];
  261. }
  262. $('div[data-widgetid=' + widgetidSelect + ']').closest('li').find('.selected').remove();
  263. $('div[data-widgetid=' + widgetidSelect + ']').closest('li').append(selectedHtml);
  264. });
  265. }
  266. selectWidget(e, structuredesignId) {
  267. let instance = this;
  268. let installedappid = Number(Unibase.Themes.Providers.DetailHelper.installedAppId), portletId;
  269. if (installedappid != 0) {
  270. portletId = $('#layout-detail-tabs .nav-link.active').find('#hf_PortletId').val();
  271. }
  272. else {
  273. portletId = $('._bizgaze_detail_container').find('#hf_PortletId').val();
  274. }
  275. let widgetId = $(e).find('div').attr('data-widgetid');
  276. let widgetName = $(e).find('p').text();
  277. let selectedHtml = `<div class="selected">
  278. <i class="fa fa-check-circle text-success font-20"></i>
  279. </div>`;
  280. if ($(e).find('div.search').attr('data-isselect') == 'true') {
  281. $(e).find('div.search').attr('data-isselect', 'false');
  282. $(e).find('div.selected').remove();
  283. let state = "removed";
  284. let findindex = instance.existingwidgets.indexOf(+widgetId);
  285. if (findindex > -1) {
  286. instance.existingwidetsname[findindex].state = state;
  287. }
  288. else {
  289. instance.existingwidgets.push(+widgetId);
  290. instance.existingwidetsname.push({ widgetId: +widgetId, widgetName, state });
  291. }
  292. if (installedappid != 0) {
  293. Unibase.Themes.Compact.Components.Details.Instance().isPortletModified = false;
  294. }
  295. if (installedappid == 0) {
  296. $('#' + structuredesignId).find('#' + widgetId).remove();
  297. }
  298. }
  299. else if ($(e).find('div').attr('data-isselect') == 'false') {
  300. $(e).find('div').attr('data-isselect', 'true');
  301. $(e).find('div').append(selectedHtml);
  302. let state = 'added';
  303. let findindex = instance.existingwidgets.indexOf(+widgetId);
  304. if (findindex > -1) {
  305. instance.existingwidetsname[findindex].state = state;
  306. }
  307. else {
  308. instance.existingwidgets.push(+widgetId);
  309. instance.existingwidetsname.push({ widgetId: +widgetId, widgetName, state });
  310. }
  311. if (installedappid != 0) {
  312. Unibase.Themes.Compact.Components.Details.Instance().isPortletModified = true;
  313. }
  314. if (installedappid == 0) {
  315. }
  316. }
  317. }
  318. getAppWidgets(widgettype, widgetlayout, _AppsStructureId) {
  319. let instance = this;
  320. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/widgets/managers/widgetmanager.js", function () {
  321. var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  322. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getAppWidgets_(installedAppId, widgettype, widgetlayout).then(function (response) {
  323. var _a, _b, _c;
  324. if (response != null) {
  325. var widgetData = response.result;
  326. $('#commonwidgetsBind').html('');
  327. $('#detailsWidgetBind').html('');
  328. $('#userDesignedBind').html('');
  329. $('#reportwidgetsBind').html('');
  330. $('#kpiWidgetsBind').html('');
  331. $('#allWidgetsBind').html('');
  332. for (var i = 0; i < widgetData.length; i++) {
  333. let findexistingwidget = instance.existingwidgets.indexOf(+widgetData[i].WidgetId);
  334. var html = `<li class="col-md-3 my-2 widgets_card" data-widgettype="${widgetData[i].WidgetTypeId}" data-widgetname="${widgetData[i].WidgetName}">
  335. <div class="card flex-row p-3 bg-grey-light-5 align-items-center justify-content-between">
  336. <a href="javascript:;" onclick="Unibase.Platform.Widgets.Components._Widget.Instance().selectWidget(this,${_AppsStructureId});">
  337. <div class="search d-flex justify-content-between align-items-center" data-isselect="${((_a = instance.existingwidetsname[findexistingwidget]) === null || _a === void 0 ? void 0 : _a.state) == 'exist' || ((_b = instance.existingwidetsname[findexistingwidget]) === null || _b === void 0 ? void 0 : _b.state) == 'added' ? true : false}" data-widgetid="${widgetData[i].WidgetId}" data-typewidget="${widgetData[i].WidgetTypeId}" data-uniquewidgetid="${widgetData[i].UniqueId}" data-widgetname="${widgetData[i].WidgetName}">
  338. <p class="text-dark text-truncate w-250p mr-2">${widgetData[i].WidgetName}</p>`;
  339. if (findexistingwidget > -1) {
  340. if (((_c = instance.existingwidetsname[findexistingwidget]) === null || _c === void 0 ? void 0 : _c.state) != 'removed') {
  341. html += `<div class="selected">
  342. <i class="fa fa-check-circle text-success font-20"></i>
  343. </div>
  344. </div></a><a href="javascript:;" onclick ="Unibase.Platform.Widgets.Components.Widget.Instance().loadWidgetData(${widgetData[i].WidgetId},${installedAppId},true,0,true)"><i class="la-edit las"></i></a></div></li>`;
  345. }
  346. }
  347. else {
  348. html += '</div></a><a href="javascript:;" onclick ="Unibase.Platform.Widgets.Components.Widget.Instance().loadWidgetData(' + widgetData[i].WidgetId + ',' + installedAppId + ',true,0,true)" ><i class="la-edit las"></i></a></div></li >';
  349. }
  350. if (widgettype == 0 && widgetlayout == -1) {
  351. $('#allWidgetsBind').append(html);
  352. }
  353. else if (widgetlayout == Number(Unibase.Platform.Widgets.Enums.WidgetLayout.Kpi)) {
  354. $('#kpiWidgetsBind').append(html);
  355. }
  356. else if (widgetlayout == Number(Unibase.Platform.Widgets.Enums.WidgetLayout.Report)) {
  357. $('#reportwidgetsBind').append(html);
  358. }
  359. else if (widgetlayout == Number(Unibase.Platform.Widgets.Enums.WidgetLayout.UserDesigned)) {
  360. $('#userDesignedBind').append(html);
  361. }
  362. else if (widgetlayout == Number(Unibase.Platform.Widgets.Enums.WidgetLayout.Detail)) {
  363. $('#detailsWidgetBind').append(html);
  364. }
  365. else if (widgettype == Number(Unibase.Platform.Widgets.Enums.WidgetType.CommonWidget)) {
  366. $('#commonwidgetsBind').append(html);
  367. }
  368. $(".widgets_card").each(function () {
  369. var checklength = $(this).find(".selected").length;
  370. if (checklength == 1) {
  371. $(this).addClass("d-none");
  372. }
  373. });
  374. }
  375. }
  376. });
  377. });
  378. }
  379. getAddedWidgets() {
  380. let installedappid = Unibase.Themes.Providers.DetailHelper.installedAppId;
  381. let instance = this;
  382. $('#addedwidgetsBind').html('');
  383. $('#commonwidgetsBind').html('');
  384. $('#detailsWidgetBind').html('');
  385. $('#userDesignedBind').html('');
  386. $('#reportwidgetsBind').html('');
  387. $('#kpiWidgetsBind').html('');
  388. $('#allWidgetsBind').html('');
  389. if (installedappid != 0) {
  390. $('.portletwidget-item').each(function (index, elem) {
  391. let findexistingwidget = instance.existingwidgets.indexOf(+$(this).attr('data-widgetid'));
  392. var html = `<li class="col-md-3 my-2 added_widgets" data-widgetid="${$(this).attr('data-widgetid')}" data-widgetname="${$(this).attr('data-widgetname')}">
  393. <a href="javascript:;" onclick="Unibase.Platform.Widgets.Components._Widget.Instance().selectWidget(this,undefined);">
  394. <div class="card flex-row justify-content-between align-items-center p-3 h-55p bg-grey-light-5 search" data-isselect="${instance.existingwidetsname[findexistingwidget].state != 'removed' ? true : false}" data-widgetid="${$(this).attr('data-widgetid')}" data-typewidgets="" data-uniquewidgetid="" data-widgetname="${$(this).attr('data-widgetname')}">
  395. <p class="text-dark text-truncate mr-2">${$(this).attr('data-widgetname')}</p>`;
  396. if (findexistingwidget > -1) {
  397. if (instance.existingwidetsname[findexistingwidget].state != 'removed') {
  398. html += `<div class="selected">
  399. <i class="fa fa-check-circle text-success font-20"></i>
  400. </div>
  401. </div></a></li>`;
  402. }
  403. }
  404. else {
  405. html += '</div></a></li>';
  406. }
  407. $('#addedwidgetsBind').append(html);
  408. });
  409. }
  410. else if (installedappid == 0) {
  411. $('.dashboardwidget-addeditem').each(function (index, elem) {
  412. let hf_portletwidgetId = $(this).find('.hf_portletwidgetId').val();
  413. let findexistingwidget = instance.existingwidgets.indexOf(+$(this).attr('id'));
  414. let widgetId = $(this).attr('id');
  415. let widgetItem = $(this).find('#hf_portletwidgetId').val();
  416. let widgetName;
  417. if ($(this).find('#hf_widgetName_' + widgetItem).val() != undefined) {
  418. widgetName = $(this).find('#hf_widgetName_' + widgetItem).val();
  419. }
  420. else {
  421. widgetName = $(this).find('#hf_kpi_widgetName_' + widgetId).text();
  422. }
  423. var html = `<li class="col-md-3 my-2" data-widgetid="${widgetId}" data-widgetname="${widgetName}">
  424. <a href="javascript:;" onclick="Unibase.Platform.Widgets.Components._Widget.Instance().selectWidget(this,undefined);">
  425. <div class="card flex-row justify-content-between align-items-center p-3 h-55p bg-grey-light-5 search" data-isselect="${instance.existingwidetsname[findexistingwidget].state != 'removed' ? true : false}" data-widgetid="${$(this).attr('id')}" data-typewidgets="" data-uniquewidgetid="" data-widgetname="${$(this).find('#hf_widgetName_' + hf_portletwidgetId).val()}">
  426. <p class="text-dark text-truncate mr-2">${widgetName}</p>`;
  427. if (findexistingwidget > -1) {
  428. if (instance.existingwidetsname[findexistingwidget].state != 'removed') {
  429. html += `<div class="selected">
  430. <i class="fa fa-check-circle text-success font-20"></i>
  431. </div>
  432. </div></a></li>`;
  433. }
  434. }
  435. else {
  436. html += '</div></a></li>';
  437. }
  438. $('#addedwidgetsBind').append(html);
  439. });
  440. }
  441. }
  442. getWidgets(widgettype, widgetlayout, structureId) {
  443. let installedappid = Unibase.Themes.Providers.DetailHelper.installedAppId;
  444. let instance = this;
  445. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/widgets/managers/widgetmanager.js", function () {
  446. if (installedappid == 0) {
  447. instance.getDashboardWidgets(widgettype, widgetlayout, structureId.id);
  448. }
  449. else if (installedappid != 0) {
  450. let AppsStructureId;
  451. if (structureId != undefined) {
  452. AppsStructureId = $(structureId).attr('id');
  453. }
  454. instance.getAppWidgets(widgettype, widgetlayout, AppsStructureId);
  455. }
  456. });
  457. }
  458. getDashboardWidgets(widgettype, widgetlayout, structureId) {
  459. let instance = this;
  460. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/widgets/managers/widgetmanager.js", function () {
  461. var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  462. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getDashboardWidgets(widgetlayout, widgettype).then(function (response) {
  463. var _a, _b;
  464. if (response != null) {
  465. var widgetData = response.result;
  466. $('#commonwidgetsBind').html('');
  467. $('#detailsWidgetBind').html('');
  468. $('#userDesignedBind').html('');
  469. $('#reportwidgetsBind').html('');
  470. $('#kpiWidgetsBind').html('');
  471. $('#allWidgetsBind').html('');
  472. for (var i = 0; i < widgetData.length; i++) {
  473. let findIndex = instance.existingwidgets.indexOf(widgetData[i].WidgetId);
  474. var html = `<li class=" col-md-3 my-2 widgets_card" data-widgettype="${widgetData[i].WidgetTypeId}" data-widgetname="${widgetData[i].WidgetName}">
  475. <a href="javascript:;" onclick="Unibase.Platform.Widgets.Components._Widget.Instance().selectWidget(this,${structureId});">
  476. <div class="card h-100 mb-0 p-3 bg-grey-light-5 search justify-content-between align-items-center flex-row" data-isselect="${((_a = instance.existingwidetsname[findIndex]) === null || _a === void 0 ? void 0 : _a.state) == 'exist' || ((_b = instance.existingwidetsname[findIndex]) === null || _b === void 0 ? void 0 : _b.state) == 'added' ? true : false}" data-widgetid="${widgetData[i].WidgetId}" data-typewidget="${widgetData[i].WidgetTypeId}" data-uniquewidgetid="${widgetData[i].UniqueId}" data-widgetname="${widgetData[i].WidgetName}">
  477. <p class="text-dark text-truncate mr-2">${widgetData[i].WidgetName}</p>`;
  478. if (findIndex > -1) {
  479. if (instance.existingwidetsname[findIndex].state != 'removed') {
  480. html += `<div class="selected">
  481. <i class="fa fa-check-circle text-success font-20"></i>
  482. </div>
  483. </div></a></li>`;
  484. }
  485. }
  486. else {
  487. html += '</div></a></li>';
  488. }
  489. if (widgettype == 0 && widgetlayout == -1) {
  490. $('#allWidgetsBind').append(html);
  491. }
  492. else if (widgetlayout == Number(Unibase.Platform.Widgets.Enums.WidgetLayout.Kpi)) {
  493. $('#kpiWidgetsBind').append(html);
  494. }
  495. else if (widgetlayout == Number(Unibase.Platform.Widgets.Enums.WidgetLayout.Report)) {
  496. $('#reportwidgetsBind').append(html);
  497. }
  498. else if (widgetlayout == Number(Unibase.Platform.Widgets.Enums.WidgetLayout.UserDesigned)) {
  499. $('#userDesignedBind').append(html);
  500. }
  501. else if (widgetlayout == Number(Unibase.Platform.Widgets.Enums.WidgetLayout.Detail)) {
  502. $('#detailsWidgetBind').append(html);
  503. }
  504. else if (widgettype == Number(Unibase.Platform.Widgets.Enums.WidgetType.CommonWidget)) {
  505. $('#commonwidgetsBind').append(html);
  506. }
  507. $(".widgets_card").each(function () {
  508. var checklength = $(this).find(".selected").length;
  509. if (checklength == 1) {
  510. $(this).addClass("d-none");
  511. }
  512. });
  513. }
  514. }
  515. });
  516. });
  517. }
  518. saveWidgets(structureId) {
  519. let instance = this;
  520. console.log(instance.existingwidetsname);
  521. let installedappid = Unibase.Themes.Providers.DetailHelper.installedAppId;
  522. let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  523. instance.existingwidetsname.forEach((elem, index) => {
  524. if (elem.state == 'added') {
  525. if ($('#' + VisibleContainerId).find('.portletwidget-item.widgetid-' + elem.widgetId).length == 0) {
  526. let installedappid = Number(Unibase.Themes.Providers.DetailHelper.installedAppId), portletId;
  527. if (installedappid != 0) {
  528. portletId = $('#' + VisibleContainerId).find('#layout-detail-tabs .nav-link.active').find('#hf_PortletId').val();
  529. }
  530. else {
  531. portletId = $('#' + VisibleContainerId).find('._bizgaze_detail_container').find('#hf_PortletId').val();
  532. }
  533. let widgetId = elem.widgetId;
  534. let widgetName = elem.widgetName;
  535. let sortable = "";
  536. if (Unibase.Themes.Compact.Components.Index.Instance().isAppStructureEnable) {
  537. sortable = "dashboardwidget-item px-0";
  538. }
  539. if (installedappid != 0) {
  540. let dropInPortlet = `<div class="portletwidget-item ${sortable} dashboarddisplaynone portletwidget-addeditem widgetItem-${widgetId} widgetid-${widgetId} col-sm-12 mb-sm-20 mb-2" id="${widgetId}" data-portletwidgetid="" data-widgetid="${widgetId}" data-portletid="${portletId}" data-widgetname="${widgetName}">
  541. <div class="card"><input type="hidden" value="${widgetId}" id="hf_widgetId"><input type="hidden" value="0" id="hf_widgetId_uniq"><div class="card-header"><div class="dragWidget dargwidget-${widgetId} pull-left" id="dragWidget"><a class="btn btn-icon btn-rounded btn-flush-primary flush-soft-hover"><span class="btn-icon-wrap"><i class="ti-fullscreen"></i></span></a></div><div class="card-action-wrap editwidget editwidget-${widgetId} pull-right m-t-sm m-r-lg" id="editwidget">
  542. <a href="javascript:;" class="inline-block btn btn-icon btn-rounded btn-flush-primary flush-soft-hover" title="Edit Widget" onclick="Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('platform/widgets/components/widget.js',function () {Unibase.Platform.Widgets.Components.Widget.Instance().loadWidgetData(${widgetId},${installedappid}, true, 0));});"><span class="btn-icon-wrap"><i class="ti-pencil" id="EditWidget-${widgetId}"></i></span></a><a href="javascript:;" class="btn btn-icon btn-rounded btn-flush-primary flush-soft-hover" title="delete widget" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().deletePortletWidgets(0,${widgetId})"><span class="btn-icon-wrap"><i class="ti-trash"></i></span></a></div></div><div class="card-body rounded-4 py-15 bg-white"><span class="biz-highlight-bg-color widget-font widget-title-link">${widgetName}</span></div></div></div>`;
  543. if (Unibase.Themes.Compact.Components.Index.Instance().isAppStructureEnable && structureId != undefined) {
  544. $('#' + VisibleContainerId).find(`#${structureId.id} .widgetplace:first`).append(dropInPortlet);
  545. }
  546. else {
  547. $('#' + VisibleContainerId).find('#tab-container').append(dropInPortlet);
  548. }
  549. }
  550. else if (installedappid == 0) {
  551. let dashboardHtml = `<div class="mt-2 dashboardwidget-item dashboarddisplaynone dashboardwidget-addeditem widgetItem-${widgetId} widgetid-${widgetId} w-100" id="${widgetId}"><div class="card"><input type="hidden" value="${widgetId}" id="hf_widgetId"><input type="hidden" value="0" id="hf_widgetId_uniq">
  552. <div class="card-header"><div class="dragWidget dargwidget-${widgetId} pull-left d-none" id="dragWidget"><a class="btn btn-icon btn-rounded btn-flush-primary flush-soft-hover"><span class="btn-icon-wrap"><i class="ti-fullscreen"></i></span></a></div><div class="card-action-wrap editwidget editwidget-${widgetId} pull-right m-t-sm m-r-lg" id="editwidget"><a href="javascript:;" class="inline-block btn btn-icon btn-rounded btn-flush-primary flush-soft-hover d-none" title="Edit Widget" onclick="Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('platform/widgets/components/widget.js',function () {Unibase.Platform.Widgets.Components.Widget.Instance().loadWidgetData(${widgetId},${installedappid}, true, 0));});"><span class="btn-icon-wrap"><i class="ti-pencil" id="EditWidget-${widgetId}"></i></span></a><a href="javascript:;" class="btn btn-icon btn-rounded btn-flush-primary flush-soft-hover" title="delete widget" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().deletePortletWidgets(0,${widgetId})"><span class="btn-icon-wrap"><i class="ti-trash"></i></span></a></div></div>
  553. <div class="card-body rounded-4 py-15 bg-white"><span class="biz-highlight-bg-color widget-font widget-title-link" id="hf_kpi_widgetName_${widgetId}">${widgetName}</span></div></div></div>`;
  554. $('#' + structureId.id).find('.widgetplace').first().append(dashboardHtml);
  555. }
  556. }
  557. }
  558. else if (elem.state == 'removed') {
  559. if (installedappid != 0) {
  560. $('.portletwidget-item.widgetid-' + elem.widgetId).find('a[title="delete widget"]').click();
  561. }
  562. else if (installedappid == 0) {
  563. $('.dashboardwidget-addeditem.widgetid-' + elem.widgetId).find('a[title="delete widget"]').click();
  564. }
  565. instance.existingwidgets = instance.existingwidgets.filter(id => id != +elem.widgetId);
  566. instance.existingwidetsname = instance.existingwidetsname.filter(obj => obj.widgetId != elem.widgetId);
  567. }
  568. });
  569. }
  570. createWidget() {
  571. $('#dashboardWidgetModal').modal('hide');
  572. $('.dashboardcreatewidgetbtn').click();
  573. }
  574. structSetting(e) {
  575. let instance = this;
  576. let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId();
  577. $('#' + VisibleContainerId).find("#structure_settingModal").remove();
  578. let block_len, Blockhtml = '', paramater_id = [], bindMobile = [], bindTab = [], data = [];
  579. block_len = $(e).parent().siblings().length;
  580. $(e).parent().siblings().each(function (i, e) {
  581. Blockhtml += '<li class="d-flex flex-column pt-1 pb-20" id="li_block_' + i + '"> <label for="txt_block_' + i + '" class="font-weight-600">Width - ' + i + ' <span class="text-danger">*</span></label> <input type="text" class="form-control shadow-none txt_block_' + i + '" data-isdynamic="false" placeholder="Width - ' + i + '*" data-placeholder="Enter Width - ' + i + '" data-validatename="Width - ' + i + '" data-label="Width - ' + i + ' *" autocomplete="off"> </li>';
  582. let id = $(this).attr('id');
  583. paramater_id.push(id);
  584. if ($('#' + VisibleContainerId).find("#" + id).attr('data-mobile_settingwidth') != undefined) {
  585. bindMobile = $('#' + VisibleContainerId).find("#" + id).attr('data-mobile_settingwidth').split('|');
  586. }
  587. if ($('#' + VisibleContainerId).find("#" + id).attr('data-tab_settingwidth') != undefined) {
  588. bindTab = $('#' + VisibleContainerId).find("#" + id).attr('data-tab_settingwidth').split('|');
  589. }
  590. data.push({ "Mobile": bindMobile[i], "Tab": bindTab[i], "id": id, "index": i });
  591. });
  592. let structbindhtml = '<ul class="card border-0"><li class="card-body p-0"><ul class="nav nav-tabs w-100 border-0 d-flex flex-row" id="structures-settings-m-t" role="tablist"><li class="nav-item"><a class="nav-link active border-0 ml-0" id="mobile-setting-t" data-toggle="tab" href="#mobile-tab-setting" role="tab" aria-controls="mobile" aria-selected="true">Mobile</a></li><li class="nav-item"><a class="nav-link border-0" id="tab-setting-t" data-toggle="tab" href="#tab-tab-setting" role="tab" aria-controls="tab" aria-selected="false">Tab</a></li></ul><div class="tab-content"><div class="tab-pane fade show active" id="mobile-tab-setting" role="tabpanel" aria-labelledby="mobile-tab"><ul class="d-flex flex-column">' + Blockhtml + '</ul></div><div class="tab-pane fade" id="tab-tab-setting" role="tabpanel" aria-labelledby="tab-tab"><ul class="d-flex flex-column">' + Blockhtml + '</ul></div></div></li></li>';
  593. let pasParameter = paramater_id.join('|');
  594. let modalhtml = '<div class="modal fade" id="structure_settingModal" tabindex="-1" role="dialog" data-backdrop="false" data-keyboard="false" aria-labelledby="structureModalLabel" aria-hidden="true" style="background-color: rgba(0,0,0, 0.4);"> <div class="modal-dialog" role="document"> <div class="modal-content"><div class="modal-body structres-setting-modal py-2" id="structres-setting-modal">' + structbindhtml + '</div><div class="modal-footer py-10 d-flex justify-content-between"> <a class="btn btn-secondary" data-dismiss="modal" data-btn_close="closed">Close</a> <a class="btn btn-primary" onclick="Unibase.Platform.Widgets.Components._Widget.Instance().structureSetting(this,`' + pasParameter + '`)">Save</a> </div></div></div></div>';
  595. if (Unibase.Themes.Providers.DetailHelper.installedAppId) {
  596. $('#' + VisibleContainerId).css('z-index', 1201);
  597. $('#' + VisibleContainerId).find(".detail-container-content-outer").append(modalhtml);
  598. }
  599. else {
  600. $('#' + VisibleContainerId).find("#dashboardwidget-container-outer").prepend(modalhtml);
  601. }
  602. $('#' + VisibleContainerId).find("#structure_settingModal").modal('show');
  603. for (var k = 0; k < data.length; k++) {
  604. if (data[k].Mobile != undefined && data[k].Mobile != null && data[k].Mobile != '') {
  605. $('#' + VisibleContainerId + ' #mobile-tab-setting').find('.txt_block_' + data[k].index).val(data[k].Mobile);
  606. }
  607. else {
  608. $('#' + VisibleContainerId + ' #mobile-tab-setting').find('.txt_block_' + data[k].index).val('');
  609. }
  610. if (data[k].Tab != undefined && data[k].Tab != null && data[k].Tab != '') {
  611. $('#' + VisibleContainerId + ' #tab-tab-setting').find('.txt_block_' + data[k].index).val(data[k].Tab);
  612. }
  613. else {
  614. $('#' + VisibleContainerId + ' #tab-tab-setting').find('.txt_block_' + data[k].index).val('');
  615. }
  616. }
  617. $('[data-btn_close="closed"]').on('click', function () {
  618. $('#' + Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId()).css('z-index', 9);
  619. });
  620. }
  621. structureSetting(e, id) {
  622. let instance = this, parameter = [], mobileWidth = [], _mobileWidth = '', tabWidth = [], _tabWidth = '', VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId();
  623. parameter = id.split('|');
  624. $('#' + VisibleContainerId).css('z-index', 9);
  625. $('#' + VisibleContainerId + ' #mobile-tab-setting').find('input[type=text]').each(function () {
  626. if (($(this).val() != undefined) && ($(this).val() != '') && ($(this).val() != null)) {
  627. mobileWidth.push($(this).val());
  628. }
  629. else {
  630. mobileWidth.push(0);
  631. }
  632. });
  633. _mobileWidth = mobileWidth.join('|');
  634. $('#' + VisibleContainerId + ' #tab-tab-setting').find('input[type=text]').each(function () {
  635. if (($(this).val() != undefined) && ($(this).val() != '') && ($(this).val() != null)) {
  636. tabWidth.push($(this).val());
  637. }
  638. else {
  639. tabWidth.push(0);
  640. }
  641. });
  642. _tabWidth = tabWidth.join('|');
  643. for (var i = 0; i < parameter.length; i++) {
  644. if ((parameter[i] != '') && (parameter[i] != undefined)) {
  645. $('#' + VisibleContainerId).find('#' + parameter[i]).attr({
  646. 'data-Mobile_SettingWidth': _mobileWidth, 'data-Tab_SettingWidth': _tabWidth
  647. });
  648. }
  649. }
  650. $('#' + VisibleContainerId).find("#structres-setting-modal").siblings('.modal-footer').find('[data-dismiss="modal"]').click();
  651. }
  652. KpiCode() {
  653. if ($('#code-preview-slash').length == 0) {
  654. $('#option-back').before('<a class="btn btn-flush-theme mr-2 btn-icon flush-soft-hover font-22" id="code-preview-slash" data-icon="iconslash" href="javascript:;"><span class="btn-icon-wrap"><span class="line-icon"><i class="la la-eye-slash"></i></span></span></a>');
  655. $('#code-preview-slash').on('click', function () {
  656. let isExecute = false;
  657. if ($(this).attr('data-icon') == "iconslash" && isExecute == false) {
  658. isExecute = true;
  659. let html = $('.designsPreviewAppendClass textarea').val().toString();
  660. $('.designsPreviewAppendClass').html(html);
  661. Unibase.Platform.Widgets.Components.Widget.Instance().customHtml = html;
  662. $(this).attr('data-icon', 'icon');
  663. $(this).find('.la').removeClass('la-eye-slash').addClass('la-eye');
  664. }
  665. if ($(this).attr('data-icon') == "icon" && isExecute == false) {
  666. isExecute = true;
  667. let HTML = $('.designsPreviewAppendClass').html();
  668. $('.designsPreviewAppendClass').html('').append('<textarea class="border-dark h-80 w-100 " data-kpidesigns="CustomDesign" rows="9" cols="90" style="box-shadow: none;"></textarea>');
  669. $('.designsPreviewAppendClass textarea').val(HTML);
  670. $(this).attr('data-icon', 'iconslash');
  671. $(this).find('.la').removeClass('la-eye').addClass('la-eye-slash');
  672. }
  673. });
  674. }
  675. else {
  676. $('#code-preview-slash').attr('data-icon', 'iconslash').find('.la').removeClass('la-eye').addClass('la-eye-slash');
  677. }
  678. }
  679. static Instance() {
  680. if (this._instance === undefined)
  681. this._instance = new Unibase.Platform.Widgets.Components._Widget();
  682. return this._instance;
  683. }
  684. }
  685. Components._Widget = _Widget;
  686. })(Components = Widgets.Components || (Widgets.Components = {}));
  687. })(Widgets = Platform.Widgets || (Platform.Widgets = {}));
  688. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  689. })(Unibase || (Unibase = {}));
  690. var Unibase;
  691. (function (Unibase) {
  692. let Platform;
  693. (function (Platform) {
  694. let Widgets;
  695. (function (Widgets) {
  696. class WidgetHiddenFields {
  697. constructor() {
  698. this.PortletWidgets = [];
  699. this.Portlets = [];
  700. this.NewWidgets = [];
  701. this.NewWidgetsForPortlet = [];
  702. this.SelectedWidgets = [];
  703. this.deleteWidget = [];
  704. this.editWidget = [];
  705. this.EditPortletAndWidgetsIds = [];
  706. this.uniq_new_portletwid = 0;
  707. this.wid = 0;
  708. this.pwid = 0;
  709. this.unix_pwid = 0;
  710. this.StructureDesigns = [];
  711. this.StructureDesignDelete = [];
  712. }
  713. static Instance() {
  714. if (this._instance === undefined)
  715. this._instance = new WidgetHiddenFields();
  716. return this._instance;
  717. }
  718. }
  719. Widgets.WidgetHiddenFields = WidgetHiddenFields;
  720. })(Widgets = Platform.Widgets || (Platform.Widgets = {}));
  721. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  722. })(Unibase || (Unibase = {}));