123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824 |
- var Unibase;
- (function (Unibase) {
- let Platform;
- (function (Platform) {
- let Analytics;
- (function (Analytics) {
- let Reports;
- (function (Reports) {
- class ReportFilter extends Platform.Core.BaseComponent {
- constructor() {
- super();
- this.isUnLimited = true;
- this.isreportViewer = false;
- this.dynamicFilters = [];
- this.datalistColumns = [];
- this.reportManager = Analytics.Managers.ReportManager.Instance();
- this.reportBuilder = Unibase.Platform.Analytics.Reports.ReportBuilder.Instance();
- }
- cssFiles() {
- return [];
- }
- jsFiles() {
- var jsFiles = ['platform/analytics/managers/reportmanager.js', 'platform/datasources/managers/datalistmanager.js'];
- return jsFiles;
- }
- html(id, containerid) {
- var html = `<section id="is-filterable-section" class="modal-content">
- <div class="modal-header pa-10">
- <strong class="modal-title biz-highlight-bg-color">CommonFilter</strong>
- <a class="btn btn-sm btn-theme ml-auto" id="btnClear">Clear</a>
- <div id="report_viewer_filter" class="form-error-message"></div>
- </div>
- <div data-simplebar class="simple-scroll-bar modal-body" id="CardViewer_modal">
- <div class="sub-report-block card">
- <header class="sub-report-head">
- <h6>
- Filter
- </h6>
- <span><i class="las la-filter filter"></i></span>
- </header>
- <div class="report-body">
- <div class="form-row mb-10">
- <div class="form-group col-sm 12">
- <label> Display Name </label>
- <input type="text" class="form-control" id="txt_DisplayName" placeholder="Display Name">
- </div>
- </div>
- <div class="form-row mb-10">
- <div class="col">
- <div id="div_datalistColumn">
- <label> DataList Name </label>
- <select id="datalistauto_AutoComplete" class="form-control text-control required">
- <option value="0" selected="">Select Datalist</option>
- </select>
- </div>
- </div>
- </div>
- <div class="form-row mb-10">
- <div class="col-sm-6">
- <div id="div_datalistvaluecolumn">
- <label> Value Column </label>
- <select id="datalistvalue_AutoComplete" class="form-control text-control required">
- <option value="0" selected="">Select value Column</option>
- </select>
- </div>
- </div>
- <div class="col-sm-6">
- <div id="div_datalisttextcolumn">
- <label> Text Column </label>
- <select id="datalisttext_AutoComplete" class="form-control text-control required">
- <option value="0" selected="">Select Text Column</option>
- </select>
- </div>
- </div>
- </div>
- <div class="form-row mb-10 mappedcolumnsdiv">
- <div class="form-group col-sm 12">
- <label>Mapped Columns</label>
- <select class="form-control custom-select" id="mappedcolumnsdropdown">
- <option value="0" selected="">Select Column</option>
- </select>
- </div>
- </div>
- <div class="form-row mb-10">
- <div class="form-group col-sm 12">
- <label>Control Type</label>
- <select class="form-control custom-select" id="ControlTypeDropDown">
- <option value="0" selected="">Select Control Type</option>
- <option value="1">AutoComplete </option>
- <option value="2"> TextBox </option>
- <option value="3"> Select2 </option>
- </select>
- </div>
- </div>
- <div class="form-row mb-10">
- <div class="form-group col-sm 12">
- <label>FontCase Type</label>
- <select class="form-control custom-select" id="FontCaseTypeDropDown">
- <option value="0" selected="">Select FontCase Type</option>
- <option value="1">No Change</option>
- <option value="2">Upper Case</option>
- <option value="3">Lower Case</option>
- </select>
- </div>
- </div>
- <div class="form-row mb-10">
- <div class="form-group col-6 col-sm-6">
- <label for="unlimited_checkbox">IsUnLimit</label>
- <div><input type="checkbox" class="chkIsUnLimited mr-10" id="isunlimited_checkbox">IsUnLimit</div>
- </div>
- <div class="form-group col-6 col-sm-6">
- <label for="isrequired_checkbox">Is Required</label>
- <div><input type="checkbox" class="chkisrequired mr-10" id="isrequired_checkbox">Is Required</div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="modal-footer pa-10">
- <a class="btn btn-sm btn-light mr-auto" id="btnClose">Close</a>
- <a class="btn btn-sm btn-primary" id="btnSave">Save</a>
- </div>
- </section>`;
- return html;
- }
- load(index, containerid, callback) {
- var instance = this;
- $("#isunlimited_checkbox").click(function () {
- if ($('#isunlimited_checkbox').prop('checked') == false) {
- instance.isUnLimited = false;
- $('#isunlimited_checkbox').prop('checked', false);
- }
- else {
- instance.isUnLimited = true;
- $('#isunlimited_checkbox').prop('checked', true);
- }
- });
- var reportcolumn = Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.selectedColumns[index];
- var filtercols = [];
- if (!instance.isreportViewer) {
- filtercols = Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().dynamicFilters.filter(function (o) { return o.IsFilterableColumn === reportcolumn.AliasName; });
- }
- else {
- filtercols = instance.dynamicFilters.filter(function (o) { return o.IsFilterableColumn === instance.displayText; });
- }
- if (filtercols.length > 0) {
- if (filtercols[0].IsUnLimited) {
- $('#isunlimited_checkbox').prop('checked', true);
- }
- if (filtercols[0].IsRequired) {
- $('#isrequired_checkbox').prop('checked', true);
- }
- $("#ControlTypeDropDown").val(filtercols[0].ControlTypeId);
- $("#FontCaseTypeDropDown").val(filtercols[0].FontCaseTypeId);
- $("#datalistauto_AutoComplete").append("<option value=" + filtercols[0].DataListId + " selected>" + filtercols[0].DataListName + "</option>");
- $('#datalistauto_AutoComplete').unbind().trigger('change');
- Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportManager.getDataListColumns(Number($("#datalistauto_AutoComplete").val()), null, null).then((response) => {
- if (response.status == Unibase.Data.Status.Success) {
- if (response.result != "") {
- this.datalistColumns = JSON.parse(response.result);
- var data = [];
- for (let i = 0; i < this.datalistColumns.length; i++) {
- data.push({ id: this.datalistColumns[i].ColumnId, text: this.datalistColumns[i].AliasName });
- }
- var valcol;
- var txtcol;
- if (data.filter(function (o) { return o.text === filtercols[0].ValueColumn; }).length > 0) {
- valcol = data.filter(function (o) { return o.text === filtercols[0].ValueColumn; })[0].id;
- }
- if (data.filter(function (o) { return o.text === filtercols[0].TextColumn; }).length > 0) {
- txtcol = data.filter(function (o) { return o.text === filtercols[0].TextColumn; })[0].id;
- }
- $("#datalistvalue_AutoComplete").select2({
- placeholder: 'Select DataList',
- data: data,
- });
- $("#datalisttext_AutoComplete").select2({
- placeholder: 'Select DataList',
- data: data,
- });
- $("#datalistvalue_AutoComplete").val(valcol).trigger("change");
- $("#datalisttext_AutoComplete").val(txtcol).trigger("change");
- }
- else {
- return MessageHelper.Instance().showError("No DatalistColumns", "divDynamicFilter_ErrorMessage");
- }
- }
- else {
- return MessageHelper.Instance().showError(response.message, "divDynamicFilter_ErrorMessage");
- }
- });
- $("#txt_DisplayName").val(filtercols[0].DisplayName);
- }
- else {
- (reportcolumn) && $("#txt_DisplayName").val(reportcolumn.DisplayText);
- }
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/datalists/getall_autocomplete';
- AutoCompleteHelper.getHelper().Create("#datalistauto_AutoComplete", "#hfcommmonfilterAutoComplete_DataList", url, function (response) {
- var data = response;
- $("#btnClear").click(function () {
- let dynamicFilters = [];
- if (!Unibase.Platform.Analytics.Reports.ReportFilter.Instance().isreportViewer) {
- dynamicFilters = Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.dynamicFilters;
- var index = Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.dynamicFilters.findIndex(function (o) {
- return (o.IsFilterableColumn === reportcolumn.DisplayText);
- });
- if (index !== -1)
- Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.dynamicFilters.splice(index, 1);
- reportcolumn.IsFilterable = false;
- }
- else {
- dynamicFilters = Unibase.Platform.Filters.Components.Editfilters.Instance().dynamicFilters;
- }
- var filter = dynamicFilters.find(x => x.TextColumn == $("#datalisttext_AutoComplete").select2('data')[0].text.trim());
- Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportManager.deleteDynamicFilter(filter.DynamicFilterId).then(function (response) { });
- $("#datalistauto_AutoComplete").text("select");
- $("#datalisttext_AutoComplete").text("select");
- $("#datalistvalue_AutoComplete").text("select");
- });
- $("#btnSave").unbind().click(function () {
- if (instance.isreportViewer)
- Unibase.Platform.Filters.Components.Editfilters.Instance().saveDynamicFilter(containerid);
- else
- instance.save(reportcolumn, containerid);
- });
- $("#btnClose").unbind().click(function () {
- $('#' + containerid).modal('hide');
- $('#' + containerid).remove();
- instance.isreportViewer = false;
- });
- $("#datalistauto_AutoComplete").unbind().change(function () {
- Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportManager.getDataListColumns(Number($("#datalistauto_AutoComplete").val()), null, null).then(function (response) {
- if (response.status == Unibase.Data.Status.Success) {
- var res;
- if (response.result != "") {
- res = JSON.parse(response.result);
- var data = [];
- for (let i = 0; i < res.length; i++) {
- data.push({ id: res[i].ColumnId, text: res[i].AliasName });
- }
- $("#datalistvalue_AutoComplete").html("");
- $("#datalisttext_AutoComplete").html("");
- $("#datalistvalue_AutoComplete").select2({
- placeholder: 'Select DataList',
- data: data,
- });
- $("#datalisttext_AutoComplete").select2({
- placeholder: 'Select DataList',
- data: data,
- });
- }
- else {
- return MessageHelper.Instance().showError("No DataListColumns", "divDynamicFilter_ErrorMessage");
- }
- }
- else {
- return MessageHelper.Instance().showError(response.message, "divDynamicFilter_ErrorMessage");
- }
- });
- });
- });
- let dlId = Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().DataListId;
- Unibase.Platform.DataSources.Managers.DataListManager.Instance().getDataList(dlId).then((res) => {
- if (res.status == Unibase.Data.Status.Success) {
- if (res.result.Parameters) {
- let params = res.result.Parameters.replaceAll("@", "");
- params = params.split("|");
- let paramOptions = "";
- for (var i = 0; i < params.length; i++) {
- let currentFilter = filtercols.find(x => x.MappedColumn == params[i]);
- if (currentFilter)
- paramOptions += `<option value="${params[i]}" selected > ${params[i]} </option>`;
- else
- paramOptions += `<option value="${params[i]}"> ${params[i]} </option>`;
- }
- $("#mappedcolumnsdropdown").append(paramOptions);
- }
- else {
- $(".mappedcolumnsdiv").addClass("d-none");
- }
- }
- });
- }
- save(reportcolumn, containerid) {
- let currentDatalistCol;
- let IsFilterable = reportcolumn.IsFilterable;
- if (IsFilterable == false)
- reportcolumn.IsFilterable = !IsFilterable;
- var dynamicFilters = Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.dynamicFilters;
- let dynamicfilterid = 0;
- var dynamicfilIndex = dynamicFilters.find(d => d.IsFilterableColumn == reportcolumn.DisplayText);
- var dynFill = dynamicFilters.filter(function (o) { return o.IsFilterableColumn === reportcolumn.DisplayText; });
- if (dynFill.length > 0) {
- dynamicfilterid = dynFill[0].DynamicFilterId;
- var index = dynamicFilters.findIndex(function (o) {
- return (o.IsFilterableColumn === reportcolumn.DisplayText);
- });
- if (index !== -1)
- dynamicFilters.splice(index, 1);
- }
- var model = new DynamicFilterModel();
- model.IsFilterableColumn = reportcolumn.AliasName;
- model.DynamicFilterId = dynamicfilterid;
- model.DataListId = Number($("#datalistauto_AutoComplete").val());
- model.DataListName = $("#datalistauto_AutoComplete").select2('data')[0].text;
- model.ReportId = 0;
- model.MappedColumn = $("#mappedcolumnsdropdown option:selected").val() === "0" ? "" : $("#mappedcolumnsdropdown option:selected").val().toString();
- model.TextColumn = $("#datalisttext_AutoComplete").select2('data')[0].text.trim();
- model.ValueIdColumn = Number($("#datalistvalue_AutoComplete").val());
- model.ValueColumn = $("#datalistvalue_AutoComplete").select2('data')[0].text.trim();
- model.TextIdColumn = Number($("#datalisttext_AutoComplete").val());
- model.Index = (dynamicfilIndex) ? dynamicfilIndex.Index : dynamicFilters.length;
- model.ControlTypeId = Number($("#ControlTypeDropDown").val());
- model.FontCaseTypeId = Number($("#FontCaseTypeDropDown").val());
- model.DataType = reportcolumn.DataType;
- model.DisplayName = $("#txt_DisplayName").val().toString();
- model.IsDefault = $(".dynamicfilter-defaultdate_" + reportcolumn.ColumnName).is(":checked");
- model.IsUnLimited = $("#isunlimited_checkbox").prop("checked");
- model.IsRequired = $("#isrequired_checkbox").prop("checked");
- currentDatalistCol = this.datalistColumns.find(x => x.ColumnId == model.ValueIdColumn);
- if (currentDatalistCol && reportcolumn.DataType == Reports.Enums.DataType.string &&
- currentDatalistCol.DataTypeId != Reports.Enums.DataType.string && currentDatalistCol.DataTypeId != Reports.Enums.DataType.text)
- return MessageHelper.Instance().showError("Selected value column data type should be string", "report_viewer_filter");
- else if (currentDatalistCol && (reportcolumn.DataType == Reports.Enums.DataType.int32 || reportcolumn.DataType == Reports.Enums.DataType.int64 ||
- reportcolumn.DataType == Reports.Enums.DataType.decimal) && currentDatalistCol.DataTypeId != Reports.Enums.DataType.int32 &&
- currentDatalistCol.DataTypeId != Reports.Enums.DataType.int64 && currentDatalistCol.DataTypeId != Reports.Enums.DataType.decimal)
- return MessageHelper.Instance().showError("Selected value column data type should be integer as dynamic filter data type is integer", "report_viewer_filter");
- Unibase.Platform.Analytics.Reports.ReportFilter.Instance().sortDynamicFilter(model);
- Unibase.Platform.Analytics.Reports.ReportFilter.Instance().reportBuilder.dynamicFilters.push(model);
- $('#' + containerid).modal('hide');
- $('#' + containerid).remove();
- }
- sortDynamicFilter(model) {
- var instance = this;
- let filetersList = $('#dynamic-list-group-wrapper');
- if (!filetersList)
- return;
- filetersList.sortable({
- connectWith: "#dynamic-list-group-wrapper",
- cursor: 'move',
- update: function (event, ui) {
- $.each($('#dynamic-list-group-wrapper .datagroup'), function (index, item) {
- let itemName = $(item).attr('data-isfilterablecolumn');
- let dynamicFilters = instance.dynamicFilters;
- if (dynamicFilters.length != 0) {
- for (let x = 0; x < dynamicFilters.length; x++) {
- if (dynamicFilters[x].IsFilterableColumn == itemName) {
- dynamicFilters[x].Index = index;
- break;
- }
- }
- }
- if (instance.isreportViewer)
- $(item).find('.filter-index').text(index + 1);
- });
- if (!instance.isreportViewer)
- instance.reportBuilder.load_data(instance.reportBuilder.table);
- }
- });
- }
- dynamicFilterIsDefaultDateColumn(columnName) {
- var dIndex = this.getIndexByDisplayText_dynamicFilterColumns(columnName);
- if (dIndex != -1) {
- let filtermodelarray = new Array();
- let currentFilter = this.reportBuilder.dynamicFilters[dIndex];
- if (currentFilter.IsPartition) {
- $("#dynamicfilter-defaultdate_" + columnName).prop("checked", false);
- return MessageHelper.Instance().showError("Dynamic filter cannot be both partition and default, uncheck partition before making default", "div_ReportBuilderErrorMessage");
- }
- if ($("#dynamicfilter-defaultdate_" + columnName).hasClass("imchecked")) {
- $("input[type=radio][name=defaultdate]").prop('checked', false);
- $("#dynamicfilter-defaultdate_" + columnName).removeClass("imchecked");
- }
- var isdefault = $("#dynamicfilter-defaultdate_" + columnName).is(":checked");
- if (isdefault)
- $("#dynamicfilter-defaultdate_" + columnName).addClass("imchecked");
- currentFilter.IsDefault = isdefault;
- this.reportBuilder.dynamicFilters[dIndex] = currentFilter;
- Unibase.Platform.Analytics.Managers.ReportManager.Instance().saveDynamicFilter(this.reportBuilder.reportid, this.reportBuilder.dynamicFilters).then((res) => {
- if (res.status == Unibase.Data.Status.Success)
- MessageHelper.Instance().showSuccess("Filter Saved Sucessfully", "divEditFiltersErrMsg");
- else
- MessageHelper.Instance().showError(res.message, "div_ReportBuilderErrorMessage");
- });
- }
- }
- dynamicFilterIsPartition(columnName) {
- var dIndex = this.getIndexByDisplayText_dynamicFilterColumns(columnName);
- if (dIndex != -1) {
- let filtermodelarray = new Array();
- let currentFilter = this.reportBuilder.dynamicFilters[dIndex];
- if (currentFilter.IsDefault) {
- $("#chk_ispartition_" + columnName).prop("checked", false);
- return MessageHelper.Instance().showError("Dynamic filter cannot be both partition and default, uncheck default before making partition", "div_ReportBuilderErrorMessage");
- }
- var ispartition = $("#chk_ispartition_" + columnName).prop("checked");
- currentFilter.IsPartition = ispartition;
- this.reportBuilder.dynamicFilters[dIndex] = currentFilter;
- Unibase.Platform.Analytics.Managers.ReportManager.Instance().saveDynamicFilter(this.reportBuilder.reportid, this.reportBuilder.dynamicFilters).then((res) => {
- if (res.status == Unibase.Data.Status.Success)
- MessageHelper.Instance().showSuccess("Filter Saved Sucessfully", "divEditFiltersErrMsg");
- else
- MessageHelper.Instance().showError(res.message, "div_ReportBuilderErrorMessage");
- });
- }
- }
- removeDynamicFilterSelectedColumn_table(DisplayText) {
- var instance = this;
- bootbox.confirm("Do you want to Delete the Filter?", function (result) {
- if (result) {
- var index = instance.dynamicFilters.findIndex(function (o) {
- if (o.IsFilterableColumn === DisplayText) {
- instance.reportManager.deleteDynamicFilter(o.DynamicFilterId).then(function (response) {
- if (response.status == Unibase.Data.Status.Success) {
- MessageHelper.Instance().showSuccess(response.message, '');
- }
- else if (response.status == Unibase.Data.Status.Error) {
- MessageHelper.Instance().showError(response.message, 'divEditFiltersErrMsg');
- }
- });
- }
- return o.IsFilterableColumn === DisplayText;
- });
- if (index !== -1)
- instance.dynamicFilters.splice(index, 1);
- $(`[data-isfilterablecolumn="${DisplayText}"]`).remove();
- if (instance.dynamicFilters.length != 0) {
- for (var i = 0; i < instance.dynamicFilters.length; i++) {
- let filterIndex = instance.getIndexByDisplayText_dynamicFilterColumns(instance.dynamicFilters[i].IsFilterableColumn);
- instance.dynamicFilters[filterIndex].Index = i;
- if (instance.isreportViewer)
- $("#dynamic-list-group-wrapper .filter-item").eq(i).find('.filter-index').text(i + 1);
- }
- }
- else {
- if (instance.isreportViewer) {
- $('#dynamicFiltersCard').addClass('d-none');
- if (!$('#staticFiltersCard').is(':visible')) {
- $('#noFiltersErrMsg').removeClass('d-none');
- }
- }
- }
- }
- });
- }
- getIndexByDisplayText_dynamicFilterColumns(isFilterableColumn) {
- return this.reportBuilder.dynamicFilters.findIndex(x => x.IsFilterableColumn == isFilterableColumn);
- }
- static Instance() {
- if (this.instance === undefined) {
- this.instance = new ReportFilter();
- }
- return this.instance;
- }
- }
- Reports.ReportFilter = ReportFilter;
- })(Reports = Analytics.Reports || (Analytics.Reports = {}));
- })(Analytics = Platform.Analytics || (Platform.Analytics = {}));
- })(Platform = Unibase.Platform || (Unibase.Platform = {}));
- })(Unibase || (Unibase = {}));
-
- var Unibase;
- (function (Unibase) {
- let Platform;
- (function (Platform) {
- let Analytics;
- (function (Analytics) {
- let Reports;
- (function (Reports) {
- let Requests;
- (function (Requests) {
- class ReportGroup {
- }
- Requests.ReportGroup = ReportGroup;
- })(Requests = Reports.Requests || (Reports.Requests = {}));
- })(Reports = Analytics.Reports || (Analytics.Reports = {}));
- })(Analytics = Platform.Analytics || (Platform.Analytics = {}));
- })(Platform = Unibase.Platform || (Unibase.Platform = {}));
- })(Unibase || (Unibase = {}));
-
- var Unibase;
- (function (Unibase) {
- let Platform;
- (function (Platform) {
- let Analytics;
- (function (Analytics) {
- let Reports;
- (function (Reports) {
- class ReportGroup extends Platform.Core.BaseComponent {
- constructor() {
- super();
- this.parentGroupId = 0;
- this.groupId = 0;
- this.groupName = '';
- this._reportManager = Analytics.Managers.ReportManager.Instance();
- }
- cssFiles() {
- return [];
- }
- jsFiles() {
- var jsFiles = ['platform/analytics/requests/reportgroup.js', 'platform/core/infos/status.js'];
- return jsFiles;
- }
- html(id, containerid) {
- let html = `<form id="" method="post" class="" data-formuniquekey="" data-validate="parsley"><header class="b-b bg-white modal-header"><strong class="text-dark Title" id="div_FormName">Create Report Group</strong></header><div class="bg-light control-sorting modal-body bg-white" style="overflow-y:auto; height:475px;"><div id="" class="clear bizgaze_FormErrorMessages"></div><div id="divReportGroup_ErrorMessage"></div><div class="section_ReportGroup card"><div class="card-body">
- <div class="row">
- <div class="col-sm-6">
- <div>
- <label for="lbl" id="lbl_GroupName">Report Group Name
- <span class="text-danger" id="spnIsRequired_reportgroup"> *</span>
- </label>
- <input type="text" id="txt_GroupName" class="type-control form-control type-control value-control required"
- data-regularexp="" data-validatemsg="" placeholder="Enter Report Group Name *">
- </div>
- <label for="Validation" id="lblValidation_GroupName"></label>
- </div>
- <div class="col-sm-6">
- <label for="lbl" id="lbl_displayname">Display Name</label>
- <input type="text" id="txt_displayname" class="type-control form-control type-control value-control required"
- data-regularexp="" data-validatemsg="" placeholder="Enter Display Name ">
- <label for="Validation" id="lblValidation_displayname"></label>
- </div>
-
- <div class="IsInternalGroupDiv col-sm-6 flex-between-center">
- <span>IsInternalGroup</span>
- <label class="switch mb-0" for="reportGroup_IsInternalGroup">
- <input type="checkbox" id="reportGroup_IsInternalGroup"><span></span>
- <input type="hidden" id="hf_IsInternalGroup"> <input type="hidden" class="value-control"
- id="hf_IsInternalGroupid">
- </label>
- </div>
-
- <div id="" class="form-group col-sm-6">
- <label for="lbl" id="lbl_reportgroupindex">Report Group Index
- <span class="text-danger " id="spnIsRequired_reportgroupindex"></span>
- </label>
- <input type="text" id="txt_reportgroupindex"
- class="type-control form-control type-control value-control required"
- data-regularexp="" data-validatemsg="" placeholder="Enter Report Group Index *">
- </div>
- <div class="form-group col-sm-6">
- <label for="parentgroupid">
- Parent Group
- </label>
- <select class="form-control" id="parentgroupid" >
- </select>
- </div>
- <div class="IsEnableFolder col-sm-6 flex-between-center">
- <span>EnableFolder</span>
- <label class="switch mb-0" for="reportGroup_IsEnableFolder">
- <input type="checkbox" id="reportGroup_IsEnableFolder"><span></span>
- <input type="hidden" id="hf_IsEnableFolder"> <input type="hidden" class="value-control" id="hf_IsEnableFolder">
- </label>
- </div>
- <label for="Validation" id="lblValidation_GroupName"></label>
- </div></div></div></div></div><footer class="bg-white modal-footer" id="formFooter"><a href="javascript:;" id="btn_CloseForm" class="btn btn-light btn-sm mr-auto" onclick=""> Close</a><a href="javascript:;" id="btn_SaveReportGrp" class="btn btn-primary btn-sm" > Save</a></footer></form>`;
- return html;
- }
- load(id, containerid, callback) {
- var instance = this;
- instance.parentGroupId = 0;
- $("#" + containerid).find(".modal-body").css('height', $(window).outerHeight() - $("#" + containerid).find(".modal-header").outerHeight() - $("#" + containerid).find(".modal-footer").outerHeight() + 'px');
- if (id != 0)
- instance.loadReportGroup(id);
- $("#btn_SaveReportGrp").click(function () {
- let isInternal = $("#reportGroup_IsInternalGroup").prop("checked");
- let isEnableFolder = $("#reportGroup_IsEnableFolder").prop("checked");
- let groupIndex = $("#txt_reportgroupindex").val();
- if ($("#txt_GroupName").val() == "")
- return MessageHelper.Instance().showError("Please select ReportGroup", 'divReportGroup_ErrorMessage');
- let model = new Unibase.Platform.Analytics.Reports.Requests.ReportGroup();
- model.GroupName = String($("#txt_GroupName").val());
- model.ReportGroupId = id;
- model.IsInternalGroup = isInternal;
- model.EnableFolder = isEnableFolder;
- model.ReportGroupIndex = !parseInt(groupIndex) ? 0 : parseInt(groupIndex);
- model.ParentGroupId = instance.parentGroupId;
- model.DisplayName = String($("#txt_displayname").val());
- instance._reportManager.saveReportGroup(model).then(function (response) {
- let res = JSON.parse(response.result);
- if (response.status == Unibase.Data.Status.Error) {
- MessageHelper.Instance().showError(response.message, 'divReportGroup_ErrorMessage');
- }
- else {
- $("#RptGroup_AutoComplete").append("<option selected value=" + res.ReportGroupId + ">" + res.GroupName + "</option>");
- MessageHelper.Instance().showSuccess(response.message, '');
- $('#' + containerid).modal('hide');
- $('#' + containerid).remove();
- }
- });
- });
- $("#btn_CloseForm").click(function () {
- $('#' + containerid).modal('hide');
- $('#' + containerid).remove();
- $("#RptGroup_AutoComplete").remove();
- });
- instance.loadReportGroups();
- $("#parentgroupid").change(function (e) {
- instance.parentGroupId = Number(e.currentTarget.value);
- var parentGroupName = e.currentTarget.textContent.trim();
- if (instance.groupId == instance.parentGroupId) {
- e.currentTarget.value = "0";
- e.currentTarget.textContent = "";
- MessageHelper.Instance().showError(`Cannot select same report group as parent group`, 'divReportGroup_ErrorMessage');
- return false;
- }
- if (instance.groupId && instance.parentGroupId) {
- instance._reportManager.checkReportGroupDependency(instance.groupId, instance.parentGroupId).then((response) => {
- if (response.status == Unibase.Data.Status.Success && response.result) {
- e.currentTarget.value = "0";
- e.currentTarget.textContent = "";
- MessageHelper.Instance().showError(`Parent group ${parentGroupName} has the current report group ${instance.groupName} as parent group, change the parent report group and try again`, 'divReportGroup_ErrorMessage');
- return false;
- }
- });
- }
- });
- }
- loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
- var instance = this;
- instance.navigationHelper.popup(0, '', instance, null, Platform.Helpers.Size.Large);
- }
- loadReportGroupForm(iscreate) {
- var Pk_Value = 0;
- var instance = this;
- if (!iscreate) {
- Pk_Value = Unibase.Themes.Providers.DetailHelper.recordId;
- }
- instance.navigationHelper.popup(Pk_Value, '', instance, null, Platform.Helpers.Size.Large);
- }
- editReportGroup() {
- var instance = this;
- var reportGroupId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key.endsWith("reportgroupid")).Value);
- instance.navigationHelper.popup(reportGroupId, "", instance, null, Unibase.Platform.Helpers.Size.Large);
- }
- loadReportGroup(id) {
- var instance = this;
- instance._reportManager.getReportGroupById(id).then(function (response) {
- if (response.status == Unibase.Data.Status.Success) {
- var res = response.result;
- instance.groupId = response.result.ReportGroupId;
- instance.groupName = response.result.GroupName;
- instance.displayName = response.result.DisplayName;
- $("#txt_GroupName").val(res.GroupName).attr("disabled", "disabled");
- $("#reportGroup_IsInternalGroup").prop("checked", res.IsInternalGroup);
- $("#reportGroup_IsEnableFolder").prop("checked", res.EnableFolder);
- $("#txt_reportgroupindex").val(res.ReportGroupIndex);
- $("#txt_displayname").val(res.DisplayName);
- if (res.ParentGroupId) {
- instance.parentGroupId = res.ParentGroupId;
- instance._reportManager.getReportGroupById(res.ParentGroupId).then(res => {
- if (res.status == Unibase.Data.Status.Success) {
- var option = new Option(res.result.RecursiveParentName, res.result.ReportGroupId.toString(), true, true);
- $("#parentgroupid").append(option);
- }
- });
- }
- }
- else {
- return MessageHelper.Instance().showError(response.message, "divReportGroup_ErrorMessage");
- }
- });
- }
- exportGroupReports(reportgroupid) {
- var instance = this;
- var ReportGroupId = 0;
- if (reportgroupid == 0)
- ReportGroupId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key.endsWith("reportgroupid")).Value);
- else
- ReportGroupId = reportgroupid;
- if (ReportGroupId != 0) {
- instance.navigationHelper.showLoading();
- instance._reportManager.getReportGroupById(ReportGroupId).then(function (response) {
- let groupname = response.result.GroupName;
- instance._reportManager.exportGroupreports(ReportGroupId).then(function (rptgrpresponse) {
- var filename = groupname + ".xml";
- var xmltext = rptgrpresponse.result;
- var pom = document.createElement('a');
- var bb = new Blob([xmltext], { type: 'text/plain' });
- pom.setAttribute('href', window.URL.createObjectURL(bb));
- pom.setAttribute('download', filename);
- pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
- pom.draggable = true;
- pom.classList.add('dragout');
- pom.click();
- instance.navigationHelper.hideLoading();
- });
- });
- }
- }
- deleteReportGroup() {
- const reportGroupId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key.endsWith("reportgroupid")).Value);
- const reportCount = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key.endsWith("reportcount")).Value);
- if (!reportCount) {
- bootbox.confirm("Are you sure to delete this group?", (result) => {
- if (result) {
- this._reportManager.deleteReportGroup(reportGroupId).then((response) => {
- if (response.status == Unibase.Data.Status.Success) {
- MessageHelper.Instance().showSuccess("Report group has been sucessfully deleted", 'divReportGroup_ErrorMessage');
- Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallAppId("Unibase_Platform_Analytics_Reports_App_ReportsGroup").then((response) => {
- if (response.status == Unibase.Data.Status.Success)
- Unibase.Themes.Compact.Components.Nav.Instance().loadList(response.result.InstalledAppId);
- });
- }
- else
- MessageHelper.Instance().showError(response.message, 'divReportGroup_ErrorMessage');
- });
- }
- });
- }
- else
- bootbox.confirm("One or more reports are associated with this group, Please ensure to delete all reports associated with this group before deleting", () => { });
- }
- loadReportGroups() {
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reportgroups_autocompleterecursive';
- AutoCompleteHelper.getHelper().Create("#parentgroupid", "#hfAutoComplete_ReportGroup", url, null);
- }
- updateStatus() {
- var instance = this;
- let reportidGroupId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key.endsWith("reportgroupid")).Value);
- let statusId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key.endsWith("statusid")).Value);
- let installedappId = Number(Unibase.Themes.Providers.DetailHelper.installedAppId);
- $("#DetailSetting_" + installedappId + "_Active").removeClass("btn-outline-primary");
- if (statusId == Unibase.Platform.Core.Enums.RowStatus.Active) {
- $("#DetailSetting_" + installedappId + "_Active").addClass("btn-success");
- $("#DetailSetting_" + installedappId + "_Active").removeClass("btn-red");
- }
- else {
- $("#DetailSetting_" + installedappId + "_Active").removeClass("btn-success");
- $("#DetailSetting_" + installedappId + "_Active").addClass("btn-red");
- }
- $("#DetailSetting_" + installedappId + "_Active").text((statusId == Unibase.Platform.Core.Enums.RowStatus.Active) ? "Active" : "InActive");
- $("#DetailSetting_" + installedappId + "_Active").click(function () {
- let id = Unibase.Platform.Core.Enums.RowStatus.Active;
- if ($("#DetailSetting_" + installedappId + "_Active").text() == "Active")
- id = Unibase.Platform.Core.Enums.RowStatus.InActive;
- instance._reportManager.updateReportGroupStatus(reportidGroupId, id).then(function (statusres) {
- if (statusres.status == Unibase.Data.Status.Success) {
- }
- });
- });
- }
- static Instance() {
- if (this.instance === undefined) {
- this.instance = new ReportGroup();
- }
- return this.instance;
- }
- }
- Reports.ReportGroup = ReportGroup;
- })(Reports = Analytics.Reports || (Analytics.Reports = {}));
- })(Analytics = Platform.Analytics || (Platform.Analytics = {}));
- })(Platform = Unibase.Platform || (Unibase.Platform = {}));
- })(Unibase || (Unibase = {}));
-
- 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 = {}));
-
- var Unibase;
- (function (Unibase) {
- let Platform;
- (function (Platform) {
- let Analytics;
- (function (Analytics) {
- let Reports;
- (function (Reports) {
- class ColumnFormat {
- loadFormats(DataType) {
- var formats = [];
- if (DataType == Unibase.Platform.Analytics.Reports.Enums.DataType.dateTime) {
- formats = [{ id: 0, format: 'Default' }, { id: 1, format: 'dd/mm/yyyy' }, { id: 2, format: 'mm/dd/yyyy' }, { id: 3, format: 'yyyy/mm/dd' }, { id: 4, format: 'Mon dd, yyyy' }, { id: 5, format: 'Mon/yyyy' }, { id: 6, format: 'hh' }, { id: 7, format: 'mm' }, { id: 8, format: 'ss' }, { id: 9, format: 'hh:mm:ss' }, { id: 10, format: 'hh:mm:ss AM' }, { id: 11, format: 'dd/mm/yyyy hh:mm:ss' }, { id: 12, format: 'dd/mm/yyyy hh:mm' }, { id: 13, format: 'dd/mm/yyyy hh:mm:ss AM' }, { id: 14, format: 'Mon dd, yyyy hh:mm:ss AM' }];
- }
- else if (DataType == Unibase.Platform.Analytics.Reports.Enums.DataType.decimal) {
- formats = [{ id: 0, format: 'Default' }, { id: 1, format: '0.0' }, { id: 2, format: '0.00' }, { id: 3, format: '0.000' }, { id: 3, format: '0.0000' }];
- }
- return formats;
- }
- static Instance() {
- if (this.instance === undefined) {
- this.instance = new ColumnFormat();
- }
- return this.instance;
- }
- }
- Reports.ColumnFormat = ColumnFormat;
- })(Reports = Analytics.Reports || (Analytics.Reports = {}));
- })(Analytics = Platform.Analytics || (Platform.Analytics = {}));
- })(Platform = Unibase.Platform || (Unibase.Platform = {}));
- })(Unibase || (Unibase = {}));
-
- var Unibase;
- (function (Unibase) {
- let Platform;
- (function (Platform) {
- let Analytics;
- (function (Analytics) {
- let Reports;
- (function (Reports) {
- class ReportRoleSettings extends Platform.Core.BaseComponent {
- constructor() {
- super();
- this.isSingleAppSelected = false;
- this.reportManager = Analytics.Managers.ReportManager.Instance();
- }
- cssFiles() {
- return [];
- }
- jsFiles() {
- var jsFiles = ['platform/analytics/managers/reportmanager.js'];
- return jsFiles;
- }
- html(id, containerid) {
- let html = `<section id="link-report-section" class="modal-content">
- <div class="modal-header pa-10" id="reportrolesetting_header">
- <strong class="modal-title biz-highlight-bg-color">Role Settings</strong>
- </div>
- <div data-simplebar class="simple-scroll-bar">
- <div id="divRoleSetting_ErrorMessage"></div>
- <div class="modal-body bg-charcoal-light-5 sub-report-block" id="reportrolesetting_modal">
- <div class="report-rolesettings-block card" data-select2-id="24">
- <div data-select2-id="23">
- <header class="report-rolesettings-head">
- <h6 class="required">
- Role Settings
- </h6>
- <span>
- <i class="las la-braille dragger"></i>
- </span>
- </button>
- </header>
- <div id="subrpts_div" data-select2-id="subrpts_div" class="">
- <div class="report-body">
- <div class="form-group">
- <div id="divsubrpt_0" data-select2-id="divsubrpt_">
- <div class="form-row">
- <div class="col">
- <div id="div_installedapps">
- <input type="hidden" id="hfrolesettings_installedapps">
- <select id="rolesettings_installedapps" class="form-control text-control required">
- <option value="0" selected="">Apps</option>
- </select>
- </div>
- </div>
- <div class="col">
- <div id="div_rolesettings">
- <select id="rolesettings_ddl" class="form-control custom-select mb-10 required">
- <option value="0" selected="">Role Settings</option>
- </select>
- </div>
- </div>
- <div class="col-auto">
- <a class="btn btn-icon btn-theme" id="btnConfigAddRoleSetting" onclick="" ;="">
- <span class="btn-icon-wrap"><span class="line-icon text-white"><i class="las la-plus"></i></span></span>
- </a>
- </div>
- </div>
- <div class="m-t-sm">
- <div class="form-row">
- <div class="col px-4 py-2">
- <strong> App Name </strong>
- </div>
- <div class="col py-2">
- <strong> RoleSetting </strong>
- </div>
- <div class="col-auto py-2 px-4">
- <a class="invisible"><i class="fa fa-close text-danger"></i></a>
- </div>
- </div>
- </div>
- <div id="RoleSettingExp"></div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div></div>
- <div class="modal-footer pa-10" id="linkreport_footer">
- <button type="button" class="btn btn-sm btn-light mr-auto" id="btnRoleSettingsClose">Cancel</button>
- <button type="button" class="btn btn-sm btn-primary" id="btnRoleSettingsSave">Save</button>
- </div>
- </section>`;
- return html;
- }
- load(id, containerid, callback) {
- var instance = this;
- let isRoleSettingsExists = false;
- instance._reportbuilder = Reports.ReportBuilder.Instance();
- $("#btnRoleSettingsClose").click(function () {
- $('#' + containerid).modal('hide');
- $('#' + containerid).remove();
- if (instance.isSingleAppSelected) {
- instance._reportbuilder.roleSettings = [];
- instance.isSingleAppSelected = false;
- }
- });
- $('#rolesettings_installedapps').empty();
- if (instance._reportbuilder.roleSettings && instance._reportbuilder.roleSettings.length)
- isRoleSettingsExists = true;
- if (instance._reportbuilder.roleSettings != null) {
- for (let i = 0; i < instance._reportbuilder.roleSettings.length; i++) {
- let item = instance._reportbuilder.roleSettings[i];
- instance.appendRoleSetting(item.AppTitle, item.SettingName);
- }
- }
- $("#btnConfigAddRoleSetting").click(function () {
- if (instance._reportbuilder.roleSettings && instance._reportbuilder.roleSettings.length >= 1) {
- let idx = instance._reportbuilder.selectedColumns.findIndex(x => x.AliasName == 'installedappid');
- if (idx == -1) {
- MessageHelper.Instance().showError("Please add installedappid column in order to select app", "divRoleSetting_ErrorMessage");
- return false;
- }
- }
- var appName = $("#rolesettings_installedapps option:selected").text();
- var installedappid = $("#rolesettings_installedapps option:selected").val();
- var rolesetting = $("#rolesettings_ddl option:selected").text();
- if (appName == "" || rolesetting == "")
- return;
- var lefNavigationInstalledAppId = Number($("#InstalledApp_AutoComplete option:selected").val());
- if (installedappid == lefNavigationInstalledAppId) {
- if (instance._reportbuilder.roleSettings && instance._reportbuilder.roleSettings.length == 1) {
- instance.isSingleAppSelected = true;
- }
- return MessageHelper.Instance().showError(`Cannot use same app ${appName} in both role settings and installed app field of left navigation in report builder.`, 'divRoleSetting_ErrorMessage');
- }
- var rolset = false;
- if (instance._reportbuilder.roleSettings != null)
- rolset = instance._reportbuilder.roleSettings.find(x => x.AppTitle == appName && x.SettingName == rolesetting) ? true : false;
- if (!rolset) {
- instance.appendRoleSetting(appName, rolesetting);
- instance._reportbuilder.roleSettings.push({
- InstalledAppId: Number($("#rolesettings_installedapps option:selected").val()),
- AppPermissionId: Number($("#rolesettings_ddl option:selected").val()),
- AppTitle: appName,
- SettingName: rolesetting,
- });
- }
- $("#rolesettings_installedapps").html('<option value="0" selected="">Apps</option>').val("0");
- $("#rolesettings_ddl").html('<option value="0" selected="">Role Settings</option>').val("0");
- });
- $("#btnRoleSettingsSave").click(function () {
- if (instance._reportbuilder.roleSettings != null) {
- if (instance._reportbuilder.roleSettings.length == 0 && !isRoleSettingsExists) {
- return MessageHelper.Instance().showError('Please Select Role Setting', 'divRoleSetting_ErrorMessage');
- }
- else if (instance._reportbuilder.roleSettings.length < 2) {
- var inst = $("#InstalledApp_AutoComplete").val();
- if (instance._reportbuilder.roleSettings.length == 1) {
- instance.isSingleAppSelected = true;
- }
- if (!inst)
- return MessageHelper.Instance().showError('Use installed app field in left navigation of report builder, if report have only one role setting', 'divRoleSetting_ErrorMessage');
- }
- else if (instance._reportbuilder.roleSettings.length == 2) {
- let installedid = $("#InstalledApp_AutoComplete option:selected").val();
- if (installedid) {
- return MessageHelper.Instance().showError('Remove installedapp from left navigation of report builder to use multiple report role settings', 'divRoleSetting_ErrorMessage');
- }
- }
- if (instance._reportbuilder.roleSettings.length > 1) {
- instance.isSingleAppSelected = false;
- }
- }
- else {
- return MessageHelper.Instance().showError('Please Select Role Setting', 'divRoleSetting_ErrorMessage');
- }
- $('#' + containerid).modal('hide');
- $('#' + containerid).remove();
- });
- instance.loadInstalledApps();
- }
- loadInstalledApps() {
- var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/InstalledAppAutocomplete';
- AutoCompleteHelper.getHelper().Create("#rolesettings_installedapps", "#hfrolesettings_installedapps", url, function (response) {
- var installedappid = $("#hfrolesettings_installedapps").val();
- Unibase.Platform.Apps.Managers.AppManager.Instance().getAppPermissions(installedappid).then(function (response) {
- var drpdata = '';
- $("#rolesettings_ddl").html("");
- var data = response.result;
- let viewPermission = data.find(function (x) { return x.SettingName.toLowerCase() == 'view'; });
- if (viewPermission) {
- $("#rolesettings_ddl").append('<option value="' + viewPermission.AppPermissionId + '" columnvalue="" selected>' + viewPermission.SettingName + '</option>').val(viewPermission.AppPermissionId).trigger("change");
- }
- });
- });
- }
- appendRoleSetting(appName, rolesetting) {
- let ulDiv = 'ulAppName_' + appName.replace(/ /g, "_") + '-' + rolesetting.replace(/ /g, "_");
- var rshtml = '<div class="border border-1 mt-2 ulDatalistFilters_' + appName.replace(" ", "_") + rolesetting.replace(" ", "_") + '" id = "' + ulDiv + '">' +
- '<div class="form-row" id="li_AppName_' + appName + rolesetting + '"> ' +
- '<div class="col py-2 px-4 lblappname"> ' + appName + ' </div> ' +
- '<div class="col py-2 px-4 lblrolesetting"> ' + rolesetting + ' </div>' +
- '<div class="col-auto py-2 px-4"><a id = "btnRemove" onclick="Unibase.Platform.Analytics.Reports.ReportRoleSettings.Instance().RemoveRoleSettingExp(' + "'" + appName + "'" + ',' + "'" + rolesetting + "'" + ',' + "'" + ulDiv + "'" + ')" class="pull-right" ><i class="fa fa-close text-danger"></i></a></div>' +
- '</div>' +
- '</div>';
- $("#RoleSettingExp").append(rshtml);
- }
- RemoveRoleSettingExp(appname, rolesetting, ul) {
- var instance = this;
- $("#" + ul + "").remove();
- var index = instance._reportbuilder.roleSettings.findIndex(function (r) {
- return (r.AppTitle === appname && r.SettingName === rolesetting);
- });
- if (index !== -1)
- instance._reportbuilder.roleSettings.splice(index, 1);
- }
- static Instance() {
- if (this.instance === undefined) {
- this.instance = new ReportRoleSettings();
- }
- return this.instance;
- }
- }
- Reports.ReportRoleSettings = ReportRoleSettings;
- })(Reports = Analytics.Reports || (Analytics.Reports = {}));
- })(Analytics = Platform.Analytics || (Platform.Analytics = {}));
- })(Platform = Unibase.Platform || (Unibase.Platform = {}));
- })(Unibase || (Unibase = {}));
|