123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806 |
- 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 Platform;
- (function (Platform) {
- let Analytics;
- (function (Analytics) {
- let Reports;
- (function (Reports) {
- class SubReport extends Platform.Core.BaseComponent {
- constructor() {
- super();
- this.subReportId = 0;
- this.isDetail = false;
- this.linkreport_aliasname = "";
- this.inline = true;
- this.appName = "";
- this.childReportName = "";
- this.filters = [];
- this.filterIndex = 0;
- this.subReportsExists = false;
- this.childReportId = 0;
- this.parentReportId = 0;
- this.isReportDuplicate = false;
- this._reportManager = Analytics.Managers.ReportManager.Instance();
- this._reportBuilder = Reports.ReportBuilder.Instance();
- this._reportBuilderTemplate = Reports.ReportBuilder_Template.Instance();
- }
- cssFiles() {
- return [];
- }
- jsFiles() {
- var jsFiles = ['platform/analytics/managers/reportmanager.js', 'platform/analytics/enums/subreporttype.js'];
- return jsFiles;
- }
- html(id, containerid) {
- let html = this._reportBuilderTemplate.loadLinkToOtherReportForm();
- return html;
- }
- load(id, containerid, callback) {
- var instance = this;
- instance.filters = [];
- instance.filterIndex = 0;
- instance.isDetail = false;
- instance.inline = true;
- instance.subReportEdit();
- $("#btnConfigAddFilter").click(function (e) {
- instance.filterIndex++;
- let isValueElement = $(e.target).closest(".form-row").find("[id^=isvalue_radio]");
- let isValue = isValueElement.prop("checked");
- let parametername = $("#cmbmainrptCols option:selected").text().trim();
- let parametervalue = $("#cmbsbrptCols option:selected").text().trim();
- let operator = $("#slctdoperater option:selected").text().trim();
- let isValueText = $("#cmbmainrptCols_textbox").val();
- if (!isValue && parametername.toLowerCase() == "main report columns")
- return MessageHelper.Instance().showError("Please select main report column", "sub_report_error_message");
- else if (isValue && !isValueText)
- return MessageHelper.Instance().showError("Please enter text in main report value column", "sub_report_error_message");
- if (operator.toLowerCase() == '-select-')
- return MessageHelper.Instance().showError("Please select operator type", "sub_report_error_message");
- if (isValue && isValueText == parametervalue.toLowerCase())
- return MessageHelper.Instance().showError("Main report column name and value column and is value text cannot be same", "sub_report_error_message");
- if (parametervalue.toLowerCase() == "sub report column")
- return MessageHelper.Instance().showError("Please select sub report column", "sub_report_error_message");
- if (isValue)
- parametername = isValueText;
- instance.filters.push({
- ParameterName: parametername,
- ParameterValue: parametervalue,
- Operator: operator,
- Isvalue: isValue,
- });
- instance.addSubReportFilter(parametername, parametervalue, operator, isValue);
- if (isValue) {
- $("#cmbmainrptCols_textbox").val("");
- isValueElement.trigger("click");
- }
- $('#cmbmainrptCols').val(0).trigger('change');
- $('#cmbsbrptCols').val(0).trigger('change');
- $('#slctdoperater').val(0).trigger('change');
- });
- $("#btnLinkReportSave").click(() => {
- let subReportArray = instance.getSubReportContainerArray();
- if (instance.isDetail) {
- instance.saveSubReport_DetailFields();
- }
- else {
- if (instance.saveSubReport_Report(subReportArray))
- return;
- }
- if (instance.linkreport_aliasname == undefined) {
- var table = instance._reportBuilder.table;
- var autoNumFormatter = function (cell) {
- var row = cell.getRow();
- var rowIndex = row.getPosition(false);
- return (rowIndex + 1);
- };
- if (table.element && table.element.children[1] && table.element.children[1].lastChild && table.element.children[1].lastChild.firstChild && table.element.children[1].lastChild.firstChild.firstElementChild && table.element.children[1].lastChild.firstChild.firstElementChild.firstChild && table.element.children[1].lastChild.firstChild.firstElementChild.firstChild.className != "fa fa-eye") {
- var hideIcon = function (cell, formatterParams, onRendered) {
- return "<i class='fa fa-eye'></i>";
- };
- table.addColumn({ formatter: autoNumFormatter, title: "", headerSort: false, minWidth: 20, }, true);
- table.addColumn({ formatter: hideIcon, title: "", headerSort: false }, true);
- }
- }
- $('#' + containerid).modal('hide');
- $('#' + containerid).remove();
- });
- $("#btnLinkReportClose").click(function () {
- $('#' + containerid).modal('hide');
- $('#' + containerid).remove();
- });
- $("#subrpt_clear").click(function () {
- if (instance._reportBuilder.subreportdata.length != 0) {
- var subfil_Index = instance._reportBuilder.subreportdata.findIndex(s => s.AliasName == instance.linkreport_aliasname);
- if (subfil_Index > -1) {
- instance._reportBuilder.subreportdata.splice(subfil_Index, 1);
- }
- }
- });
- $(".select_reports").change(function () {
- let reportId = Number($(".select_reports").val());
- instance.subReportColumns(reportId);
- });
- $('.subreport-radio-btn').change(function () {
- if ($(this).val() == 'report') {
- $('#linkreport_modal,#detailScreenBody').toggleClass('d-none');
- if ($('.opentype-radio-btn:checked').val() == 'inline') {
- $('#subrpt_plus').removeClass('d-none');
- }
- }
- else {
- $('#linkreport_modal,#detailScreenBody').toggleClass('d-none');
- $('#subrpt_plus').addClass('d-none');
- }
- });
- $('.opentype-radio-btn').change(function () {
- if ($(this).val() == 'inline') {
- instance.inline = true;
- $('#subrpt_plus').removeClass('d-none');
- }
- else {
- instance.inline = false;
- $('#subrpt_plus').addClass('d-none');
- }
- if (instance._reportBuilder.subreportdata.length != 0) {
- let index;
- if (instance.linkreport_aliasname) {
- index = instance._reportBuilder.subreportdata.findIndex(s => s.AliasName == instance.linkreport_aliasname);
- }
- else {
- index = instance._reportBuilder.subreportdata.findIndex(s => s.RowClick == true);
- }
- if (index > -1) {
- instance._reportBuilder.subreportdata[index].Inline = instance.inline;
- }
- }
- });
- $("#isvalue_radio_0").unbind().click((e) => {
- let isChecked = $(e.target).prop("checked");
- $(e.target).closest(".form-row").find("#div_mainreportColumn_textbox").parent().toggleClass("hidden");
- $(e.target).closest(".form-row").find("#div_mainreportColumn").parent().toggleClass("hidden");
- });
- }
- loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
- return [];
- }
- linkreport(aliasname) {
- var instance = this;
- instance.linkreport_aliasname = aliasname;
- instance.navigationHelper.popup(0, '', this, null, Platform.Helpers.Size.Medium);
- }
- ;
- loadReports() {
- var instance = this;
- instance.childReportName = "";
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reports';
- AutoCompleteHelper.getHelper().Create(".select_reports", "hfReportAutoComplete", url, function (res) { instance.childReportName = res.text.trim(); });
- }
- mainReportColumns() {
- var instance = this;
- var mainrpt_Cols = [];
- if (instance._reportBuilder.selectedColumns.length != 0) {
- mainrpt_Cols.push({ id: 0, text: "Main Report Columns" });
- for (let i = 0; i < instance._reportBuilder.selectedColumns.length; i++) {
- let sCol = instance._reportBuilder.selectedColumns[i];
- mainrpt_Cols.push({ id: sCol.AliasName, text: sCol.AliasName });
- }
- $('#cmbmainrptCols').select2({
- placeholder: 'Select',
- data: mainrpt_Cols,
- });
- }
- }
- subReportColumns(reportid) {
- var instance = this;
- instance._reportManager.getColumns(reportid).then(function (subresponse) {
- var subrpt_data = [];
- for (let i = 0; i < subresponse.result.length; i++) {
- subrpt_data.push({ id: subresponse.result[i].ReportColumnId, text: subresponse.result[i].AliasName });
- }
- $('#cmbsbrptCols').select2({
- placeholder: 'Select',
- data: subrpt_data,
- });
- });
- }
- loadInstalledApps() {
- return __awaiter(this, void 0, void 0, function* () {
- var instance = this;
- instance.appName = "";
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/InstalledAppAutocomplete';
- AutoCompleteHelper.getHelper().Create("#detailInstalledApps", "#hfAutoComplete_InstalledApp", url, function (res) { instance.appName = res.text.trim(); });
- });
- }
- primaryColumns() {
- var instance = this;
- var mainrpt_Cols = [];
- if (instance._reportBuilder.selectedColumns.length != 0) {
- mainrpt_Cols.push({ id: 0, text: "Main Report Columns" });
- for (let i = 0; i < instance._reportBuilder.selectedColumns.length; i++) {
- let sCol = instance._reportBuilder.selectedColumns[i];
- mainrpt_Cols.push({ id: sCol.AliasName, text: sCol.AliasName });
- }
- $('#detailPrimaryKeyColumns').select2({
- placeholder: 'Select',
- data: mainrpt_Cols,
- });
- }
- }
- addSubReportFilter(paramname, paramvalue, operator, isValue) {
- var Confightml = "";
- let id = paramname.replace(' ', '_').trim() + paramvalue.replace(' ', '_').trim();
- Confightml = `<li id="li_filter_ul2list_0${id}" class="fltr-row filteritems-addedrow clear" ><div class="form-row mb-10">
- <div class="col-auto mt-2 mr-2">
- <input class="" type="checkbox" readonly title="Is value" ${isValue && 'checked'} onclick="return false">
- </div>
- <div class="col"><input type="text" class="form-control disabled-border" value="` + paramname + `" disabled></div><div class="col-auto"><input type="text" class="form-control disabled-border text-center" value="` + operator + `" disabled></div><div class="col"><input type="text" class="form-control disabled-border" value="` + paramvalue + `" disabled></div><div class="col-auto"><a id="btnDeleteCouponItem" onclick = "Unibase.Platform.Analytics.Reports.SubReport.Instance().removefilters( ` + Number($('.select_reports').val()) + `,'` + paramname + `','` + paramvalue + `','li_filter_ul2list_0${id}');" class="btn btn-icon btn-flush-danger flush-soft-hover btn-rounded filter-remove-btn"><span class="btn-icon-wrap"><span class="line-icon"><i class="las la-trash-alt font-26 text-danger"></i></span></span></a></div></div></li>`;
- $(".ul2list_0").append(Confightml);
- if ($(".ul2list_0").children().length == 1) {
- $(".ul2list_0").children().first().find(".filter-remove-btn").addClass("disabled");
- }
- }
- subReportEdit() {
- return __awaiter(this, void 0, void 0, function* () {
- var instance = this;
- yield instance.loadReports();
- instance.mainReportColumns();
- instance.primaryColumns();
- yield instance.loadInstalledApps();
- instance.subReportsExists = false;
- let subReportArray = instance.getSubReportContainerArray();
- if (subReportArray != undefined) {
- var subfil_Index;
- if (subReportArray.length)
- instance.subReportsExists = true;
- if (instance.linkreport_aliasname)
- subfil_Index = subReportArray.findIndex(s => s.AliasName == instance.linkreport_aliasname);
- else {
- subfil_Index = subReportArray.findIndex(s => s.RowClick == true);
- if (subfil_Index == -1) {
- subfil_Index = subReportArray.findIndex(s => !s.AliasName && s.SubReportTypeId == Unibase.Platform.Analytics.Reports.Enums.SubReportType.Detail);
- }
- }
- if (subfil_Index > -1) {
- var subrpt_data = subReportArray[subfil_Index];
- if (subrpt_data.SubReportTypeId == Unibase.Platform.Analytics.Reports.Enums.SubReportType.Report) {
- $("#reportRadioBtn").prop("checked", true);
- $(".select_reports").empty().append('<option value = "' + subrpt_data.ChildReportId + '" > ' + subrpt_data.ChildReportName + ' </option>');
- $(".select_reports").val(subrpt_data.ChildReportId);
- instance.subReportId = subrpt_data.SubReportId;
- instance.childReportId = subrpt_data.ChildReportId;
- instance.parentReportId = subrpt_data.ReportId;
- instance.subReportColumns(subrpt_data.ChildReportId);
- var filters = JSON.parse(subrpt_data.Filters);
- for (var f = 0; f < filters.length; f++) {
- let fill = filters[f];
- let id = fill.ParameterName.replaceAll(' ', '_').trim() + fill.ParameterValue.replaceAll(' ', '_').trim();
- Confightml = `<li id="li_filter_ul2list_0${id}" class="fltr-row filteritems-addedrow clear" ><div class="form-row mb-10">
- <div class="col-auto mt-2 mr-2">
- <input class="" type="checkbox" readonly title="Is value" ${fill.Isvalue && 'checked'} onclick="return false">
- </div>
- <div class="col"><input type="text" class="form-control disabled-border" value="` + fill.ParameterName + `" disabled></div><div class="col-auto"><input type="text" class="form-control disabled-border text-center" value="` + fill.Operator + `" disabled></div><div class="col"><input type="text" class="form-control disabled-border" value="` + fill.ParameterValue + `" disabled></div><div class="col-auto"><a id="btnDeleteCouponItem" onclick = "Unibase.Platform.Analytics.Reports.SubReport.Instance().removefilters( ` + Number($('.select_reports').val()) + `,'` + fill.ParameterName + `','` + fill.ParameterValue + `','li_filter_ul2list_0${id}');" class="btn btn-icon btn-flush-danger flush-soft-hover btn-rounded filter-remove-btn"><span class="btn-icon-wrap"><span class="line-icon"><i class="las la-trash-alt font-26 text-danger"></i></span></span></a></div></div></li>`;
- $(".ul2list_0").append(Confightml);
- !f && $(".ul2list_0").find(".filter-remove-btn").addClass("disabled");
- instance.filters.push(fill);
- }
- var Confightml = "";
- if (!subrpt_data.Inline)
- $("#outlineRadioBtn").prop("checked", true);
- else
- $("#inlineRadioBtn").prop("checked", true);
- instance.inline = subrpt_data.Inline;
- }
- else {
- instance.isDetail = true;
- instance.subrpt_AliasName = subrpt_data.AliasName;
- instance.installedAppId = subrpt_data.InstalledAppId;
- instance.primaryKeyColumn = subrpt_data.PrimaryKeyColumn;
- $("#detailRadioBtn").prop("checked", true);
- $('#linkreport_modal,#detailScreenBody').toggleClass('d-none');
- $('#subrpt_plus').addClass('d-none');
- $("#detailInstalledApps").empty().append('<option value = "' + subrpt_data.InstalledAppId + '" > ' + subrpt_data.AppName + ' </option>');
- $("#detailInstalledApps").val(subrpt_data.InstalledAppId);
- $('#detailPrimaryKeyColumns').val(subrpt_data.PrimaryKeyColumn).trigger('change');
- }
- }
- }
- });
- }
- subReportType_Deatil() {
- var instance = this;
- instance.isDetail = true;
- var subfil_Index = instance._reportBuilder.subreportdata.findIndex(s => s.AliasName == instance.linkreport_aliasname);
- if (subfil_Index > -1) {
- var subfill = instance._reportBuilder.subreportdata[subfil_Index];
- var fil = JSON.parse(subfill.Filters);
- for (var i = 0; i < fil.length; i++) {
- let id = fil[i].ParameterName.replace(' ', '_') + fil[i].ParameterValue.replace(' ', '_');
- $("#li_filter_ul2list_0" + id).remove();
- instance._reportBuilder.subreportdata.splice(subfil_Index, 1);
- }
- }
- $('.select_reports').val(0).trigger('change');
- $('#cmbmainrptCols').val(0).trigger('change');
- $('#cmbsbrptCols').val(0).trigger('change');
- instance.primaryColumns();
- instance.loadInstalledApps();
- }
- subReportType_Report() {
- var instance = this;
- instance.isDetail = false;
- var subfil_Index = instance._reportBuilder.subreportdata.findIndex(s => s.AliasName == instance.linkreport_aliasname);
- if (subfil_Index > -1) {
- $('#detailInstalledApps').val('0').trigger('change');
- $('#detailPrimaryKeyColumns').val('0').trigger('change');
- $("#txt_detailonclick").val("");
- instance._reportBuilder.subreportdata.splice(subfil_Index, 1);
- }
- }
- saveSubReport_Report(subReportArray) {
- var instance = this;
- var rowclick = true;
- if (instance.linkreport_aliasname)
- rowclick = false;
- let reportType = this._reportBuilder.res ? this._reportBuilder.res.ReportTypeId : this._reportBuilder.reportType;
- let isChart = reportType == Unibase.Platform.Analytics.Reports.Enums.ReportType.Table ? false : true;
- var subreportdata = new NestedTableModel();
- subreportdata.ChildReportId = Number($('.select_reports').val());
- subreportdata.ChildReportName = instance.childReportName;
- subreportdata.Filters = JSON.stringify(instance.filters);
- subreportdata.SubReportTypeId = ($("#reportRadioBtn").is(":checked")) ? Unibase.Platform.Analytics.Reports.Enums.SubReportType.Report : 0;
- subreportdata.Inline = instance.inline;
- subreportdata.RowClick = rowclick;
- subreportdata.AliasName = instance.linkreport_aliasname;
- if (!subreportdata.ChildReportId && !instance.subReportsExists) {
- MessageHelper.Instance().showError("Please select sub report ", "sub_report_error_message");
- return true;
- }
- else if (subreportdata.Filters == '[]' && !instance.subReportsExists && !isChart) {
- MessageHelper.Instance().showError("Please select sub report columns ", "sub_report_error_message");
- return true;
- }
- if (isChart && subreportdata.Filters == '[]') {
- this._reportBuilder.linkReportId = subreportdata.ChildReportId;
- }
- if (subReportArray.length != 0 && typeof (subReportArray) == 'object') {
- var Index;
- if (instance.linkreport_aliasname)
- Index = subReportArray.findIndex(s => s.AliasName == instance.linkreport_aliasname);
- else
- Index = subReportArray.findIndex(s => s.RowClick == true);
- if (Index > -1 && subreportdata.Filters != "[]" && subreportdata.ChildReportId) {
- subReportArray[Index] = subreportdata;
- }
- else if (subreportdata.Filters != "[]" && subreportdata.ChildReportId) {
- subReportArray.push(subreportdata);
- }
- }
- else {
- if (subreportdata.ChildReportId)
- subReportArray.push(subreportdata);
- }
- instance._reportBuilder.subreporttabledata = subReportArray;
- return false;
- }
- saveSubReport_DetailFields() {
- var instance = this;
- var subreportdata = new NestedTableModel();
- subreportdata.InstalledAppId = Number($("#detailInstalledApps").val());
- subreportdata.PrimaryKeyColumn = $("#detailPrimaryKeyColumns option:selected").text().trim();
- subreportdata.Inline = instance.inline;
- subreportdata.SubReportTypeId = ($("#detailRadioBtn").is(":checked")) ? Unibase.Platform.Analytics.Reports.Enums.SubReportType.Detail : 0;
- subreportdata.AliasName = instance.linkreport_aliasname;
- subreportdata.AppName = instance.appName;
- if (subreportdata.PrimaryKeyColumn.toLowerCase() == "select column")
- return MessageHelper.Instance().showError("Please select primary key column", "sub_report_error_message");
- else if (!subreportdata.InstalledAppId)
- return MessageHelper.Instance().showError("Please select installed app", "sub_report_error_message");
- let subReportArray = instance.getSubReportContainerArray();
- if (subReportArray.length != 0) {
- var Index;
- if (instance.linkreport_aliasname)
- Index = subReportArray.findIndex(s => s.AliasName == instance.linkreport_aliasname);
- else
- Index = subReportArray.findIndex(s => s.RowClick == true);
- if (Index > -1 && subreportdata.AppName != 'Select') {
- subReportArray[Index] = subreportdata;
- }
- else if (subreportdata.AppName != 'Select') {
- subReportArray.push(subreportdata);
- }
- }
- else {
- subReportArray.push(subreportdata);
- }
- }
- removefilters(reportid, mainreportcolumn, subreportcolumn, id) {
- var instance = this;
- if (instance.linkreport_aliasname) {
- if (instance._reportBuilder.subreportdata.length != 0) {
- var index = instance._reportBuilder.subreportdata.findIndex(s => s.AliasName == instance.linkreport_aliasname);
- if (index > -1) {
- instance._reportBuilder.subreportdata.splice(index, 1);
- }
- }
- }
- else {
- if (instance.filters.length == 1) {
- var index = instance._reportBuilder.subreportdata.findIndex(function (o) {
- return (o.ChildReportId === reportid);
- });
- if (index !== -1)
- instance._reportBuilder.subreportdata.splice(index, 1);
- }
- }
- var fillIndex = instance.filters.findIndex(function (f) { return (f.ParameterName == mainreportcolumn) && (f.ParameterValue === subreportcolumn); });
- if (fillIndex > -1)
- instance.filters.splice(fillIndex, 1);
- if (!instance.filters.length)
- $(event.target).closest(".report-body").find(".select_reports.custom-select").empty();
- $("#" + id + "").empty();
- }
- ;
- load_old(id, containerid, callback) {
- var instance = this;
- $('#cmbmainrptCols_1').empty();
- var data = [];
- var subreportid = 0;
- instance._reportManager.getReports().then(function (response) {
- var Data = response;
- data.push({ id: 0, text: "Select" });
- data.push({ id: 0, text: "Select" });
- for (let i = 0; i < Data.length; i++) {
- data.push({ id: Data[i].ReportId, text: Data[i].ReportName });
- }
- $('.select_reports').select2({
- placeholder: 'Select',
- data: data,
- }).on('select2:select', function (e) {
- var reportid = Number($(".select_reports").val());
- let sub_blk = this.closest(".sub-report-block");
- if (sub_blk)
- $(sub_blk).data("subreportid", reportid.toString());
- $("#cmbsbrptCols_1").find('option').not(':first').remove();
- instance._reportManager.getColumns(reportid).then(function (response) {
- for (let i = 0; i < response.result.length; i++) {
- var columnname = response.result[i].DisplayText;
- var columnvalue = response.result[i].ReportColumnId;
- $('<option>').val(columnvalue).text(columnname).appendTo('#cmbsbrptCols_1');
- }
- });
- });
- if (instance._reportBuilder.subreporttabledata != undefined && instance._reportBuilder.subreporttabledata != null && instance._reportBuilder.subreporttabledata != "") {
- if (instance._reportBuilder.subreporttabledata.length > 0) {
- var subreports_array = [];
- var subarray = [];
- var element = [];
- var currentsubreport = [];
- instance._reportBuilder.subreportdata = [];
- instance._reportBuilder.subreport_count = 1;
- for (let m = 0; m < instance._reportBuilder.subreporttabledata.length; m++) {
- instance._reportManager.getColumns(instance._reportBuilder.subreporttabledata[m].ChildReportId).then(function (response) {
- currentsubreport.push(instance._reportBuilder.subreporttabledata[m]);
- element.push(response.result[0].ReportId);
- subarray.push(response.result);
- if (element.length == instance._reportBuilder.subreporttabledata.length) {
- let k = 1;
- for (let i = 0; i < currentsubreport.length; i++) {
- if (i != 0) {
- instance.subReportId = currentsubreport[i].SubReportId;
- $("#subrpt_plus").trigger("click");
- k = i + 1;
- if (data.length == 0) {
- }
- $("#cmdsub_" + k + "").select2({
- placeholder: 'Select',
- data: data,
- });
- let lastSubEle = $("#linkreport_modal").find(".sub-report-block").last();
- lastSubEle.data("subreportid", currentsubreport[i].ChildReportId);
- lastSubEle.data("subreportcolumnid", currentsubreport[i].SubReportColumnId);
- }
- $("#cmdsub_" + k + "").val(currentsubreport[i].ChildReportId).trigger('change');
- $('<option>').val(0).text('Select Column').appendTo("#cmbmainrptCols_" + k + "");
- var whole_tableData = instance._reportBuilder.selectedColumns;
- for (let j = 0; j < whole_tableData.length; j++) {
- var columnname = whole_tableData[j].DisplayText;
- var columnvalue = whole_tableData[j].ColumnId;
- $('<option>').val(columnvalue).text(columnname).appendTo("#cmbmainrptCols_" + k + "");
- }
- let subcolumns = subarray[i].filter(function (o) { return o.ReportId === currentsubreport[i].ChildReportId; });
- $("#cmbsbrptCols_" + k + "").find('option').not(':first').remove();
- for (let l = 0; l < subcolumns.length; l++) {
- var columnname = subcolumns[l].DisplayText;
- var columnvalue = subcolumns[l].ReportColumnId;
- $('<option>').val(columnvalue).text(columnname).appendTo("#cmbsbrptCols_" + k + "");
- }
- $("#btnAdd_" + instance._reportBuilder.subreport_count + "").unbind().click(function () {
- var id = $(this).attr('id').match(/\d+/g).map(Number);
- instance.addfilter(id[0], 0);
- $("#btnDeleteCouponItem_" + id[0] + "").click(function () {
- instance.removefilters(Number($("#reporthid_" + id[0] + "").val()), Number($("#mainreportcolumnhid_" + id[0] + "").val()), Number($("#subreportcolumnhid_" + id[0] + "").val()), "ul2list_" + id[0] + "");
- });
- });
- $("#cmbmainrptCols_" + k + " option:contains('" + (currentsubreport[i].ParameterValue).replace('@', '').trim() + "')").prop('selected', true);
- $("#cmbsbrptCols_" + k + " option:contains('" + (currentsubreport[i].ParameterName).trim() + "')").prop('selected', true);
- if (k == 1) {
- subreportid = currentsubreport[i].SubReportId;
- $("#btnConfigAddFilter").click();
- }
- else {
- subreportid = currentsubreport[i].SubReportId;
- $("#btnAdd_" + k + "").click();
- }
- instance.subReportId = 0;
- }
- }
- });
- }
- }
- }
- else {
- $('<option>').val(0).text('Select Column').appendTo('#cmbmainrptCols_1');
- var whole_tableData = instance._reportBuilder.selectedColumns;
- for (let i = 0; i < whole_tableData.length; i++) {
- var columnname = whole_tableData[i].ColumnName;
- var columnvalue = whole_tableData[i].ColumnId;
- $('<option>').val(columnvalue).text(columnname).appendTo('#cmbmainrptCols_1,#detailPrimaryKeyColumns');
- }
- }
- });
- $("#btnLinkReportSave").click(function () {
- if (instance.isDetail) {
- instance.subReportType_Deatil();
- }
- var table = instance._reportBuilder.table;
- var autoNumFormatter = function (cell) {
- var row = cell.getRow();
- var rowIndex = row.getPosition(false);
- return (rowIndex + 1);
- };
- if (table.element.children[1].lastChild.firstChild.firstElementChild.firstChild.className != "fa fa-eye") {
- var hideIcon = function (cell, formatterParams, onRendered) {
- return "<i class='fa fa-eye'></i>";
- };
- table.addColumn({ formatter: autoNumFormatter, title: "", headerSort: false, minWidth: 20, }, true);
- table.addColumn({ formatter: hideIcon, title: "", headerSort: false }, true);
- }
- $('#' + containerid).modal('hide');
- $('#' + containerid).remove();
- var data = instance._reportBuilder.subreportdata;
- });
- var Confightml = "";
- $("#btnConfigAddFilter").click(function (e) {
- let text = $("#cmbmainrptCols_1 option:selected").text();
- let text1 = $("#cmbsbrptCols_1 option:selected").text();
- if (text == "Select Column" || text1 == "Sub report column")
- return;
- let exists = instance._reportBuilder.subreportdata.find(x => x.ParameterValue == text && x.ParameterName == text1);
- if (exists)
- return;
- let opertaor = $("#slctdoperater_0 option:selected").text();
- let id = text.replaceAll(' ', '_') + text1.replaceAll(' ', '_');
- Confightml = `<li id="li_filter_ul2list_0${id}" class="fltr-row filteritems-addedrow clear" ><div class="form-row mb-10"><div class="col"><input type="text" class="form-control disabled-border" value="` + text + `" disabled></div><div class="col-auto"><input type="text" class="form-control disabled-border text-center" value="` + opertaor + `" disabled></div><div class="col"><input type="text" class="form-control disabled-border" value="` + text1 + `" disabled></div><div class="col-auto"><a id="btnDeleteCouponItem" onclick = "Unibase.Platform.Analytics.Reports.SubReport.Instance().removefilters( ` + Number($('.select_reports').val()) + `,` + Number($("#cmbmainrptCols_1 option:selected").val()) + `,` + Number($("#cmbsbrptCols_1 option:selected").val()) + `,'li_filter_ul2list_0${id}');" class="btn btn-icon btn-flush-danger flush-soft-hover btn-rounded filter-remove-btn"><span class="btn-icon-wrap"><span class="line-icon"><i class="las la-trash-alt font-26 text-danger"></i></span></span></a></div></div></li>`;
- $(".ul2list_0").append(Confightml);
- if ($(".ul2list_0").children().length == 1)
- $(".ul2list_0").children().first().find(".filter-remove-btn").addClass("hidden");
- var subreportdata = new NestedTableModel();
- if (instance._reportBuilder.reportid != 0) {
- subreportdata.SubReportId = subreportid;
- }
- subreportdata.ChildReportId = Number($('.select_reports').val());
- subreportdata.Operator = $("#slctdoperater_0 option:selected").text();
- subreportdata.ReportColumnId = Number($("#cmbmainrptCols_1 option:selected").val());
- subreportdata.SubReportColumnId = Number($("#cmbsbrptCols_1 option:selected").val());
- subreportdata.ReportColumnName = $("#cmbmainrptCols_1 option:selected").text();
- subreportdata.SubReportColumnName = $("#cmbsbrptCols_1 option:selected").text();
- subreportdata.ParameterValue = $("#cmbmainrptCols_1 option:selected").text();
- subreportdata.ParameterName = $("#cmbsbrptCols_1 option:selected").text();
- subreportdata.SubReportTypeId = ($("#reportRadioBtn").is(":checked")) ? Unibase.Platform.Analytics.Reports.Enums.SubReportType.Report : 0;
- subreportdata.ReportId = instance._reportBuilder.reportid;
- instance.childReportId = subreportdata.ChildReportId;
- instance.parentReportId = subreportdata.ReportId;
- instance._reportBuilder.subreportdata.push(subreportdata);
- instance._reportBuilder.subreporttabledata = instance._reportBuilder.subreportdata;
- $("#cmbmainrptCols_1").val("0");
- $("#cmbsbrptCols_1").val("0");
- });
- $("#btnLinkReportClose").click(function () {
- $('#' + containerid).modal('hide');
- $('#' + containerid).remove();
- });
- $("#subrpt_plus").click(function () {
- const subreportCnt = $("[id^=btnAdd]").length + 2;
- var template = instance._reportBuilderTemplate.del_loadSubReports_Section();
- var templateScript = Handlebars.compile(template);
- var context = { "subreport_count": subreportCnt };
- var html = templateScript(context);
- $("#linkreport_modal").append(html);
- $("#cmdsub_" + subreportCnt + "").select2({
- placeholder: 'Select',
- data: data,
- });
- var main_reportcolumns = instance._reportBuilder.selectedColumns;
- $("#cmbmainrptCols_" + subreportCnt + "").empty();
- $('<option>').val(0).text('Select Column').appendTo("#cmbmainrptCols_" + subreportCnt + "");
- for (let i = 0; i < main_reportcolumns.length; i++) {
- var columnname = main_reportcolumns[i].ColumnName;
- var columnvalue = main_reportcolumns[i].ColumnId;
- $('<option>').val(columnvalue).text(columnname).appendTo("#cmbmainrptCols_" + subreportCnt + "");
- }
- $("#btnAdd_" + subreportCnt + "").click(function () {
- var colid = $(this).closest(".sub-report-block").find("#div_subColumn").children().first().val();
- var id = $(this).attr('id').match(/\d+/g).map(Number);
- instance.addfilter(id[0], 0);
- let sub_blk = this.closest(".sub-report-block");
- if (sub_blk && colid)
- $(sub_blk).data("subreportcolumnid", colid);
- });
- $("#cmdsub_" + subreportCnt + "").on('select2:select', function (e) {
- var id = $(this).attr('id').match(/\d+/g).map(Number);
- var reportid = Number($("#cmdsub_" + id[0] + "").val());
- let sub_blk = this.closest(".sub-report-block");
- if (sub_blk)
- $(sub_blk).data("subreportid", reportid.toString());
- $("#cmbsbrptCols_" + id[0] + "").find('option').not(':first').remove();
- instance._reportManager.getColumns(reportid).then(function (response) {
- for (let i = 0; i < response.result.length; i++) {
- var columnname = response.result[i].DisplayText;
- var columnvalue = response.result[i].ReportColumnId;
- $('<option>').val(columnvalue).text(columnname).appendTo("#cmbsbrptCols_" + id[0] + "");
- }
- });
- });
- $("#cmbsbrpt_" + subreportCnt).empty();
- $("#cmbsbrpt_" + subreportCnt).append('<option value="0">--Select SubReport--</option>');
- });
- $("#linkreport_modal").click(this.subReportMdown.bind(this));
- const installedAppsUrl = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/InstalledAppAutocomplete';
- AutoCompleteHelper.getHelper().Create("#detailInstalledApps", "#hfDetailInstalledApps", installedAppsUrl, null);
- $('.subreport-radio-btn').change(function () {
- if ($(this).val() == 'report') {
- $('#linkreport_modal,#detailScreenBody').toggleClass('d-none');
- if ($('.opentype-radio-btn:checked').val() == 'inline') {
- $('#subrpt_plus').removeClass('d-none');
- }
- }
- else {
- $('#linkreport_modal,#detailScreenBody').toggleClass('d-none');
- $('#subrpt_plus').addClass('d-none');
- }
- });
- $('.opentype-radio-btn').change(function () {
- if ($(this).val() == 'inline') {
- $('#subrpt_plus').removeClass('d-none');
- }
- else {
- $('#subrpt_plus').addClass('d-none');
- }
- });
- }
- removefilters_old(reportid, mainreportcolumn, subreportcolumn, id) {
- var instance = this;
- $("#" + id + "").empty();
- var index = instance._reportBuilder.subreportdata.findIndex(function (o) {
- return (o.ChildReportId === reportid) && (o.ReportColumnId === mainreportcolumn) && (o.SubReportColumnId === subreportcolumn);
- });
- if (index !== -1)
- instance._reportBuilder.subreportdata.splice(index, 1);
- }
- ;
- addfilter(id, SubReportId) {
- var instance = this;
- let text = $("#cmbmainrptCols_" + id + " option:selected").text();
- let text1 = $("#cmbsbrptCols_" + id + " option:selected").text();
- let opertaor = $("#slctdoperater_" + id + " option:selected").text();
- var filterhtml = `<li id="li_filter_ul2list` + id + `" class="fltr-row filteritems-addedrow clear"><div class="form-row mb-10"><div class="col"> <input type="text" class="form-control lblViewerFilter_MainReportColumnName disabled-border" value="` + text + ` " disabled> </div><div class="col-auto my-auto text-center"> <input type="text" class="form-control lblViewerFilter_Operator disabled-border text-center" value="` + opertaor + ` " disabled> </div ><div class="col"> <input type="text" class="form-control lblViewerFilter_FilterValue disabled-border" value="` + text1 + ` " disabled></div> <div class="col-auto" > <a id="btnDeleteCouponItem_` + id + `" class="btn btn-icon btn-flush-danger flush-soft-hover btn-rounded" ><span class="btn-icon-wrap"><span class="line-icon"><i class="las la-trash-alt font-26 text-danger"></i></span></span></a></div><input type="hidden" id="operatorhid_` + id + `" name="zyx" value="` + opertaor + `" /><input type="hidden" id="reporthid_` + id + `" name="zyx" value="` + Number($("#cmdsub_" + id + "").val()) + `" /><input type="hidden" id="mainreportcolumnhid_` + id + `" name="zyx" value="` + Number($("#cmbmainrptCols_" + id + " option:selected").val()) + `" /><input type="hidden" id="subreportcolumnhid_` + id + `" name="zyx" value="` + Number($("#cmbsbrptCols_" + id + " option:selected").val()) + `" /></div></li>`;
- $(".ul2list_" + id + "").append(filterhtml);
- var subreportdata = new NestedTableModel();
- subreportdata.SubReportId = instance.subReportId || SubReportId;
- subreportdata.ChildReportId = Number($("#cmdsub_" + id + "").val());
- subreportdata.Operator = $("#slctdoperater_" + id + " option:selected").text();
- subreportdata.ParameterValue = $("#cmbmainrptCols_" + id + " option:selected").text();
- subreportdata.ParameterName = $("#cmbsbrptCols_" + id + " option:selected").text();
- subreportdata.ReportColumnId = Number($("#cmbmainrptCols_" + id + " option:selected").val());
- subreportdata.SubReportColumnId = Number($("#cmbsbrptCols_" + id + " option:selected").val());
- subreportdata.ReportColumnName = ($("#cmbmainrptCols_" + id + " option:selected").text());
- subreportdata.SubReportColumnName = $("#cmbsbrptCols_" + id + " option:selected").text();
- instance._reportBuilder.subreportdata.push(subreportdata);
- $("#cmbmainrptCols_" + id).val("0");
- $("#cmbsbrptCols_" + id).val("0");
- }
- ;
- linkreport_old() {
- var instance = this;
- instance.navigationHelper.popup(0, '', this, null, Platform.Helpers.Size.Medium);
- }
- ;
- subReportMdown(e) {
- let subrp = e.target.closest(".sub-report-block");
- let childReportId = $(subrp).data("subreportid");
- if (childReportId)
- childReportId = Number(childReportId);
- if (e.target.classList.contains("remove_subrpt") || e.target.closest(".remove_subrpt")) {
- let sRIdx;
- if (this._reportBuilder.subreportdata.filter(x => x.ChildReportId == childReportId).length == 1) {
- sRIdx = this._reportBuilder.subreportdata.findIndex(x => x.ChildReportId == childReportId);
- if (sRIdx != -1)
- this._reportBuilder.subreportdata.splice(sRIdx, 1);
- }
- else if (this._reportBuilder.subreportdata.filter(x => x.ChildReportId == childReportId).length > 1) {
- let childReportColumnId = Number($(subrp).data("subreportcolumnid"));
- if (childReportColumnId) {
- sRIdx = this._reportBuilder.subreportdata.findIndex(x => x.ChildReportId == childReportId && x.SubReportColumnId == childReportColumnId);
- if (sRIdx != -1)
- this._reportBuilder.subreportdata.splice(sRIdx, 1);
- }
- }
- subrp.remove();
- }
- else if (e.target.classList.contains("remove_subrpt_columns") || e.target.closest(".remove_subrpt_columns")) {
- let sRIdx = this._reportBuilder.subreportdata.findIndex(x => x.ChildReportId == childReportId);
- if (sRIdx != -1)
- this._reportBuilder.subreportdata.splice(sRIdx, 1);
- $(e.target).closest(".filteritems-addedrow").remove();
- }
- }
- removeSubreport() {
- let idx = -1;
- let subReportArray = this.getSubReportContainerArray();
- if (!this.isDetail) {
- if (this.subReportId)
- idx = subReportArray.findIndex(x => x.SubReportId == this.subReportId);
- else
- idx = subReportArray.findIndex(x => x.ReportId == this.parentReportId && x.ChildReportId == this.childReportId);
- if (idx > -1) {
- this.linkreport_aliasname = '';
- this.filters = [];
- this.childReportName = '';
- subReportArray.splice(idx, 1);
- }
- $("#subreports-filters-list").empty();
- $("#cmdsub_1").val("0").empty();
- }
- else {
- if (this.installedAppId)
- idx = subReportArray.findIndex(x => x.AliasName == this.subrpt_AliasName && x.InstalledAppId == this.installedAppId);
- else
- idx = subReportArray.findIndex(x => x.ReportId == this.parentReportId && x.ChildReportId == this.childReportId);
- if (idx > -1) {
- this.installedAppId = 0;
- subReportArray.splice(idx, 1);
- }
- $("#detailPrimaryKeyColumns").val("0").trigger("change");
- $("#detailInstalledApps").val("0").trigger("change");
- }
- }
- getSubReportContainerArray() {
- if (this.isReportDuplicate) {
- return Analytics.Components.DuplicateReport.Instance().subReports;
- }
- else {
- return this._reportBuilder.subreportdata;
- }
- }
- static Instance() {
- if (this.instance === undefined) {
- this.instance = new SubReport();
- }
- return this.instance;
- }
- }
- Reports.SubReport = SubReport;
- })(Reports = Analytics.Reports || (Analytics.Reports = {}));
- })(Analytics = Platform.Analytics || (Platform.Analytics = {}));
- })(Platform = Unibase.Platform || (Unibase.Platform = {}));
- })(Unibase || (Unibase = {}));
|