Этот коммит содержится в:
2023-03-11 17:30:20 +00:00
Коммит b6c4e025bc
5124 изменённых файлов: 1153349 добавлений и 0 удалений
+31
Просмотреть файл
@@ -0,0 +1,31 @@
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 = {}));
+1
Просмотреть файл
@@ -0,0 +1 @@
{"version":3,"file":"columnformat.js","sourceRoot":"","sources":["columnformat.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CA4BhB;AA5BD,WAAU,OAAO;IACb,IAAiB,QAAQ,CA0BxB;IA1BD,WAAiB,QAAQ;QACrB,IAAiB,SAAS,CAwBzB;QAxBD,WAAiB,SAAS;YACtB,IAAiB,OAAO,CAsBvB;YAtBD,WAAiB,OAAO;gBACpB,MAAa,YAAY;oBAErB,WAAW,CAAC,QAAe;wBACvB,IAAI,OAAO,GAAG,EAAE,CAAC;wBACjB,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE;4BACxE,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,wBAAwB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAA;yBAC9gB;6BAAM,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE;4BAC9E,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;yBAC1J;wBAED,OAAO,OAAO,CAAC;oBACnB,CAAC;oBAGD,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;4BAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;yBACtC;wBACD,OAAO,IAAI,CAAC,QAAQ,CAAC;oBACzB,CAAC;iBACJ;gBApBY,oBAAY,eAoBxB,CAAA;YACL,CAAC,EAtBgB,OAAO,GAAP,iBAAO,KAAP,iBAAO,QAsBvB;QACL,CAAC,EAxBgB,SAAS,GAAT,kBAAS,KAAT,kBAAS,QAwBzB;IACL,CAAC,EA1BgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QA0BxB;AACL,CAAC,EA5BS,OAAO,KAAP,OAAO,QA4BhB"}
поставляемый Исполняемый файл
+1
Просмотреть файл
@@ -0,0 +1 @@
var Unibase;(function(n){let t;(function(t){let i;(function(t){let i;(function(t){class i{loadFormats(t){var i=[];return t==n.Platform.Analytics.Reports.Enums.DataType.dateTime?i=[{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"}]:t==n.Platform.Analytics.Reports.Enums.DataType.decimal&&(i=[{id:0,format:"Default"},{id:1,format:"0.0"},{id:2,format:"0.00"},{id:3,format:"0.000"},{id:3,format:"0.0000"}]),i}static Instance(){return this.instance===undefined&&(this.instance=new i),this.instance}}t.ColumnFormat=i})(i=t.Reports||(t.Reports={}))})(i=t.Analytics||(t.Analytics={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
+640
Просмотреть файл
@@ -0,0 +1,640 @@
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 DynamicFilter extends Platform.Core.BaseComponent {
constructor() {
super();
this.isUnLimited = true;
this.isreportViewer = false;
this.dynamicFilters = [];
this.datalistColumns = [];
this.dataListColumnName = "";
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;
if (this.dataListColumnName) {
this.dataTypeId = this.reportBuilder.datalistColumnsResponseData[id].DataType;
}
else {
this.dataTypeId = this.reportBuilder.selectedColumns[id].DataType;
}
if (this.dataTypeId == Unibase.Platform.Analytics.Reports.Enums.DataType.dateTime) {
html = this.getDateTimeDynamicFilterHtml();
}
else {
html = this.getDynamicFilterHtml();
}
return html;
}
getDynamicFilterHtml() {
return `<section id="is-filterable-section" class="modal-content">
<div class="modal-header pa-10">
<strong class="modal-title biz-highlight-bg-color">Dynamic Filter</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="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>
<option value="4">Cascading AutoComplete</option>
</select>
</div>
</div>
<div class="form-row mb-10">
<div class="col">
<div id="div_datalistColumn">
<label> DataList Name </label>
<select id="dataList_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 dynFil-cascading hidden">
<div class="col-sm-6">
<div id="div_dynFilParentProperty">
<label>Parent Property</label>
<select id="dynFilParentProperty_AutoComplete" class="form-control text-control required">
<option value="0" selected="">Select Parent Column</option>
</select>
</div>
</div>
<div class="col-sm-6">
<div id="div_dynFilApplyFor" class="biz-select2-wrap">
<label>Apply For</label>
<select id="dynFilApplyFor_AutoComplete" class="form-control text-control required">
<option value="0" selected="">Select Value Column</option>
</select>
</div>
</div>
</div>
<div class="form-row mb-10 mappedcolumnsdiv hidden">
<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>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-12">
<div class="form-group col-6 col-sm-4">
<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-4">
<label for="isrequired_checkbox">Is Required</label>
<div><input type="checkbox" class="chkisrequired mr-10" id="isrequired_checkbox">Is Required</div>
</div>
<div class="form-group col-6 col-sm-4">
<label for="iscustomfilter_checkbox">Is CustomFilter</label>
<div><input type="checkbox" class="chkiscustomfilter mr-10" id="iscustomfilter_checkbox">Is CustomFilter</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>`;
}
getDateTimeDynamicFilterHtml() {
return `<section id="is-filterable-section" class="modal-content">
<div class="modal-header pa-10">
<strong class="modal-title biz-highlight-bg-color">Dynamic Filter</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>
</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="form-group col-sm 12">
<label>Date Range</label>
<select name="daterangetypeid" class="form-control custom-select" id="daterangetypeid">
<option value="0" selected>Select Date Range Type</option>
<option value="1">Today</option>
<option value="2">Yesterday</option>
<option value="3">Last 7 Days</option>
<option value="4">Last 30 Days</option>
<option value="5">This Month</option>
<option value="6">Last Month</option>
<option value="7">This Quarter</option>
<option value="8">Last Quarter</option>
<option value="9">YTD</option>
<option value="10">Last Year</option>
<option value="11">FIY Year</option>
<option value="12">PFIY Year</option>
</select>
</div>
<div class="form-group ml-4 mt-1 col-6 col-sm-4">
<label for="replaceexistingdates">Replace Existing Dates</label>
<div class="mt-2"><input type="checkbox" checked="true" class="replaceexistingdates mr-10" id="replaceexistingdates">Replace exiting fromdate and todate with selected date range</div>
</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>
`;
}
load(index, containerid, callback) {
var instance = this;
instance.selectedDatalistColumns = [];
instance.loadDataLists();
var reportcolumn = instance.reportBuilder.selectedColumns[index];
if (!reportcolumn) {
let col = this.reportBuilder.datalistColumnsResponseData.find(x => x.ColumnName == this.dataListColumnName);
if (col) {
reportcolumn = { AliasName: col.ColumnName, IsFilterable: true, DisplayText: col.ColumnName, DataType: col.DataType, ColumnName: col.ColumnName };
}
}
var dynamicfilters = [];
if (!instance.isreportViewer) {
dynamicfilters = instance.reportBuilder.dynamicFilters.filter(function (o) { return o.IsFilterableColumn === reportcolumn.AliasName; });
}
else {
dynamicfilters = instance.dynamicFilters.filter(function (o) { return o.IsFilterableColumn === instance.displayText; });
}
$("#daterangetypeid").val(0);
instance.editDynamicFilter(dynamicfilters, reportcolumn);
$("#dataList_AutoComplete").on('change', function () {
instance.loadDataListColumns();
});
$("#btnClear").click(() => {
this.clearDynamicFilterFields(reportcolumn);
});
$("#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;
instance.dataListColumnName = "";
});
$("#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);
}
});
$("#ControlTypeDropDown").change(function () {
if (Number($("#ControlTypeDropDown option:selected").val()) == Unibase.Platform.Analytics.Enums.ControlType.cascadingautocomplete) {
$(".dynFil-cascading").removeClass("hidden");
instance.loadDynamicFilters();
}
else {
$("#dynFilParentProperty_AutoComplete").val(0).trigger("change");
$("#dynFilApplyFor_AutoComplete").val(0).trigger("change");
$(".dynFil-cascading").addClass("hidden");
}
});
}
loadDataLists() {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/datalists/getall_autocomplete';
AutoCompleteHelper.getHelper().Create("#dataList_AutoComplete", "#hfDynamicFilterAutoComplete_DataList", url, null);
}
loadDataListColumns() {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
yield instance.reportManager.getDataListColumns(Number($("#dataList_AutoComplete").val()), null, null).then(function (response) {
if (response.status == Unibase.Data.Status.Success) {
var res;
if (response.result != "") {
res = JSON.parse(response.result);
instance.selectedDatalistColumns = res;
var data = [];
for (let i = 0; i < res.length; i++) {
data.push({ id: res[i].AliasName, text: res[i].AliasName });
}
$("#datalistvalue_AutoComplete").empty().select2({
placeholder: 'Select Value Column',
data: data,
});
$("#datalisttext_AutoComplete").empty().select2({
placeholder: 'Select Text Column',
data: data,
});
$("#dynFilApplyFor_AutoComplete").empty().select2({
placeholder: 'Select Value Column',
data: data,
});
}
else {
return MessageHelper.Instance().showError("No DataListColumns", "divDynamicFilter_ErrorMessage");
}
}
else {
return MessageHelper.Instance().showError(response.message, "divDynamicFilter_ErrorMessage");
}
});
});
}
loadDynamicFilters() {
var instance = this;
debugger;
if (instance.reportBuilder.dynamicFilters.length > 0) {
var dFilters = [];
for (var d = 0; d < instance.reportBuilder.dynamicFilters.length; d++) {
var dfill = instance.reportBuilder.dynamicFilters[d];
dFilters.push({ id: dfill.IsFilterableColumn, text: dfill.IsFilterableColumn });
}
$("#dynFilParentProperty_AutoComplete").select2({
placeholder: 'Select Parent Column',
data: dFilters,
});
}
}
save(reportcolumn, containerid) {
var instance = this;
let currentDatalistCol;
let IsFilterable = reportcolumn.IsFilterable;
if (IsFilterable == false)
reportcolumn.IsFilterable = !IsFilterable;
var dynamicFilters = instance.reportBuilder.dynamicFilters;
let dynamicfilterid = 0;
var dynamicfilIndex = dynamicFilters.find(d => d.IsFilterableColumn == reportcolumn.AliasName);
var dynFill = dynamicFilters.filter(function (o) { return o.IsFilterableColumn === reportcolumn.AliasName; });
if (dynFill.length > 0) {
dynamicfilterid = dynFill[0].DynamicFilterId;
var index = dynamicFilters.findIndex(function (o) {
return (o.IsFilterableColumn === reportcolumn.AliasName);
});
if (index !== -1)
dynamicFilters.splice(index, 1);
}
var model = new DynamicFilterModel();
model.IsFilterableColumn = reportcolumn.AliasName;
model.DataType = reportcolumn.DataType;
model.DisplayName = $("#txt_DisplayName").val().toString();
model.Index = (dynamicfilIndex) ? dynamicfilIndex.Index : dynamicFilters.length;
if (this.dataTypeId == Reports.Enums.DataType.dateTime) {
model.ReplaceExistingDates = $("#replaceexistingdates").prop("checked");
model.DateRangeTypeId = Number($("#daterangetypeid").val());
}
else {
model.DynamicFilterId = dynamicfilterid;
model.DataListId = Number($("#dataList_AutoComplete").val());
model.DataListName = instance.getSelect2Data("#dataList_AutoComplete");
model.ReportId = 0;
model.MappedColumn = $("#mappedcolumnsdropdown option:selected").val() === "0" ? "" : $("#mappedcolumnsdropdown option:selected").val().toString();
model.TextColumn = instance.getSelect2Data("#datalisttext_AutoComplete");
model.ValueIdColumn = Number($("#datalistvalue_AutoComplete").val());
model.ValueColumn = instance.getSelect2Data("#datalistvalue_AutoComplete");
model.TextIdColumn = Number($("#datalisttext_AutoComplete").val());
model.ControlTypeId = Number($("#ControlTypeDropDown").val());
model.FontCaseTypeId = Number($("#FontCaseTypeDropDown").val());
model.IsDefault = $(".dynamicfilter-defaultdate_" + reportcolumn.ColumnName).is(":checked");
model.IsUnLimited = $("#isunlimited_checkbox").prop("checked");
model.IsRequired = $("#isrequired_checkbox").prop("checked");
model.IsCustomFilter = $("#iscustomfilter_checkbox").prop("checked");
model.DateRangeTypeId = 0;
if (model.ControlTypeId == Unibase.Platform.Analytics.Enums.ControlType.cascadingautocomplete) {
model.ParentColumn = $("#dynFilParentProperty_AutoComplete").select2('data')[0].text.trim();
model.ApplyFor = $("#dynFilApplyFor_AutoComplete").select2('data')[0].text.trim();
}
let textCol = instance.selectedDatalistColumns.find(x => x.AliasName == model.TextColumn);
let valCol = instance.selectedDatalistColumns.find(x => x.AliasName == model.ValueColumn);
if (textCol && valCol && valCol.ColumnId == textCol.ColumnId) {
return MessageHelper.Instance().showError("Text column and value column cannot be same", "report_viewer_filter");
}
if (textCol && (textCol.DataTypeId == Reports.Enums.DataType.int32 || textCol.DataTypeId == Reports.Enums.DataType.int64)) {
return MessageHelper.Instance().showError("Text column cannot be interger type, convert to string and try again", "report_viewer_filter");
}
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");
}
instance.sortDynamicFilter(model);
instance.reportBuilder.dynamicFilters.push(model);
instance.reportBuilder.togglePinDynamicFilters();
instance.navigationHelper.closePopUp();
this.dataListColumnName = '';
}
getSelect2Data(id) {
let Element = $(id);
if (Element && Element.length && Element.hasClass("select2-hidden-accessible"))
return Element.select2('data')[0].text.trim();
else
return "";
}
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);
});
}
});
}
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);
}
loadMappedColumns(filtercols) {
var instance = this;
Unibase.Platform.DataSources.Managers.DataListManager.Instance().getDataList(instance.reportBuilder.DataListId).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");
}
}
});
}
editDynamicFilter(dynamicfilters, reportcolumn) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
if (dynamicfilters.length > 0) {
this.bindDisplayNameOnEdit(dynamicfilters[0].DisplayName || reportcolumn && reportcolumn.DisplayText);
if (instance.dataTypeId == Unibase.Platform.Analytics.Reports.Enums.DataType.dateTime) {
$('#daterangetypeid').val(dynamicfilters[0].DateRangeTypeId || 0);
$('#replaceexistingdates').prop('checked', dynamicfilters[0].ReplaceExistingDates);
}
else {
if (dynamicfilters[0].IsUnLimited) {
$('#isunlimited_checkbox').prop('checked', true);
}
if (dynamicfilters[0].IsRequired) {
$('#isrequired_checkbox').prop('checked', true);
}
if (dynamicfilters[0].IsCustomFilter) {
$('#iscustomfilter_checkbox').prop('checked', true);
}
$("#ControlTypeDropDown").val(dynamicfilters[0].ControlTypeId);
$("#FontCaseTypeDropDown").val(dynamicfilters[0].FontCaseTypeId);
$("#dataList_AutoComplete").append("<option value=" + dynamicfilters[0].DataListId + " selected>" + dynamicfilters[0].DataListName + "</option>");
if (instance.dataTypeId != Unibase.Platform.Analytics.Reports.Enums.DataType.dateTime) {
yield instance.loadDataListColumns();
}
$("#datalistvalue_AutoComplete").val(dynamicfilters[0].ValueColumn).trigger("change");
$("#datalisttext_AutoComplete").val(dynamicfilters[0].TextColumn).trigger("change");
if (dynamicfilters[0].ControlTypeId == Unibase.Platform.Analytics.Enums.ControlType.cascadingautocomplete) {
$(".dynFil-cascading").removeClass("hidden");
instance.loadDynamicFilters();
$("#dynFilParentProperty_AutoComplete").val(dynamicfilters[0].ParentColumn).trigger("change");
$("#dynFilApplyFor_AutoComplete").val(dynamicfilters[0].ApplyFor).trigger("change");
}
}
}
else {
reportcolumn && this.bindDisplayNameOnEdit(reportcolumn.DisplayText);
}
});
}
clearDynamicFilterFields(reportcolumn) {
var instance = this;
if (instance.dataTypeId == Unibase.Platform.Analytics.Reports.Enums.DataType.dateTime) {
$("#daterangetypeid").val(0);
$("#replaceexistingdates").prop("checked", true);
}
else {
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;
}
$("#datalistvalue_AutoComplete, #dataList_AutoComplete, #datalisttext_AutoComplete, #datalistauto_AutoComplete").val("0").text("select");
$("#FontCaseTypeDropDown").val("0");
$("#isunlimited_checkbox, #isrequired_checkbox, #iscustomfilter_checkbox").prop("checked", false);
}
}
bindDisplayNameOnEdit(DisplayName) {
if (DisplayName)
$("#txt_DisplayName").val(DisplayName);
}
static Instance() {
if (this.instance === undefined) {
this.instance = new DynamicFilter();
}
return this.instance;
}
}
Reports.DynamicFilter = DynamicFilter;
})(Reports = Analytics.Reports || (Analytics.Reports = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
+87
Просмотреть файл
@@ -0,0 +1,87 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Analytics;
(function (Analytics) {
let Components;
(function (Components) {
let ReportBuilder;
(function (ReportBuilder) {
class Import extends Platform.Core.BaseComponent {
constructor() {
super();
this.reportmanager = Analytics.Managers.ReportManager.Instance();
this.navigationhelper = Unibase.Platform.Helpers.NavigationHelper.Instance();
}
cssFiles() {
var cssfiles = ["libs/nestable/JqueryminMenu.css"];
return cssfiles;
}
jsFiles() {
return ['platform/analytics/managers/reportmanager.js',
'platform/analytics/components/reportbuilder/import.js',
"platform/forms/components/formviewer/formviewer.js",
'libs/parsley/parsley.min.js',
'platform/core/infos/status.js', '/platform/core/helpers/file/filehelper.js'];
}
html(id, containerid) {
var instance = this;
let html = '<form id="form_Import" data-validate="parsley" data-isdynamic="false"><div id="div_importmessage" class="clear"></div><div class="import-export-body modal-body" style="overflow-y: auto;"><div class="card"><div class="card-header"><span class="h6 text-dark ">Import</span></div><div id="industry_validation" class="clear"></div><div class="card-body scrollable"><div id="div_importexport" class=""><div class="card" id = "importexportsection"><div class="card-body"><div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required" style="width:150px"><hr /> <a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.Import.Instance().FileUpload(' + containerid + ');">Upload</a></div></div></div><div class="hidden" id="div_Export"><span id="sp_formName"></span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download</a></div></div></div></div></div><div class="bg-white card-footer footer" ><button id="btn_CloseImport" class="btn btn-secondary btn-sm mr-auto">Close</button></div></form>';
return html;
}
showImport() {
this.navigationHelper.popup(0, '', Unibase.Platform.Analytics.Components.ReportBuilder.Import.Instance(), null, Platform.Helpers.Size.Large);
}
FileUpload(containerid) {
var instance = this;
instance.navigationHelper.showLoading();
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/exportreports/np';
Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Analytics.Components.ReportBuilder.Import.fileData).then(function (response) {
MessageHelper.Instance().showSuccess('success', "div_importmessage");
instance.navigationHelper.hideLoading();
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
}
load(id, containerid, callback) {
var instance = this;
$("#btn_CloseImport").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_Import").click(function () {
$("#importexportsection").removeClass("hidden");
$("#div_Import").removeClass("hidden");
});
$('#import_File').change(function (e) {
Unibase.Platform.Analytics.Components.ReportBuilder.Import.Instance().fileEvent(e);
});
$("#txt_Icon").focus(function () {
$(".div_Icons").fadeIn();
$("#icons").toggleClass("hidden");
$(".div_Icons").removeClass('hidden');
});
$("#txt_Icon").focusout(function () {
$(".div_Icons").fadeOut();
});
}
fileEvent($event) {
const fileSelected = $event.target.files[0];
Unibase.Platform.Analytics.Components.ReportBuilder.Import.fileData = new FormData();
Unibase.Platform.Analytics.Components.ReportBuilder.Import.fileData.append(fileSelected.name, fileSelected);
}
static Instance() {
if (this.instance === undefined) {
this.instance = new Import();
}
return this.instance;
}
}
Import.fileData = new FormData();
ReportBuilder.Import = Import;
})(ReportBuilder = Components.ReportBuilder || (Components.ReportBuilder = {}));
})(Components = Analytics.Components || (Analytics.Components = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
+1
Просмотреть файл
@@ -0,0 +1 @@
{"version":3,"file":"import.js","sourceRoot":"","sources":["import.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CAmGhB;AAnGD,WAAU,OAAO;IACb,IAAiB,QAAQ,CAiGxB;IAjGD,WAAiB,QAAQ;QACrB,IAAiB,SAAS,CA+FzB;QA/FD,WAAiB,SAAS;YACtB,IAAiB,UAAU,CA6F1B;YA7FD,WAAiB,UAAU;gBACvB,IAAiB,aAAa,CA2F7B;gBA3FD,WAAiB,aAAa;oBAC1B,MAAa,MAAO,SAAQ,SAAA,IAAI,CAAC,aAAa;wBAI1C;4BACI,KAAK,EAAE,CAAC;4BACR,IAAI,CAAC,aAAa,GAAG,UAAA,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;4BACvD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;wBACjF,CAAC;wBAED,QAAQ;4BACJ,IAAI,QAAQ,GAAG,CAAC,iCAAiC,CAAC,CAAC;4BACnD,OAAO,QAAQ,CAAC;wBACpB,CAAC;wBAED,OAAO;4BACH,OAAO,CAAC,8CAA8C;gCAClD,uDAAuD;gCACvD,oDAAoD;gCACpD,6BAA6B;gCAC7B,+BAA+B,EAAE,2CAA2C,CAAC,CAAC;wBACtF,CAAC;wBACD,IAAI,CAAC,EAAE,EAAE,WAAW;4BAChB,IAAI,QAAQ,GAAG,IAAI,CAAC;4BAEpB,IAAI,IAAI,GAAG,gwBAAgwB,GAAG,WAAW,GAAG,mWAAmW,CAAC;4BAChoC,OAAO,IAAI,CAAC;wBAChB,CAAC;wBACD,UAAU;4BACN,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACxI,CAAC;wBACD,UAAU,CAAC,WAAW;4BAClB,IAAI,QAAQ,GAAG,IAAI,CAAC;4BACpB,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;4BACxC,IAAI,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,GAAG,sDAAsD,CAAC;4BAC7F,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,QAAQ;gCAC3I,aAAa,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;gCACrE,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;gCACxC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gCACnC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;4BAGlC,CAAC,CAAC,CAAC;wBAIP,CAAC;wBAED,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,QAAkB;4BACpC,IAAI,QAAQ,GAAG,IAAI,CAAC;4BACpB,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC;gCACxB,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gCACnC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;4BAElC,CAAC,CAAC,CAAC;4BACH,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;gCACnB,CAAC,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gCAChD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;4BAC3C,CAAC,CAAC,CAAC;4BACH,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;gCAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;4BACvF,CAAC,CAAC,CAAC;4BAEH,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;gCACjB,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;gCACzB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gCAClC,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;4BAE1C,CAAC,CAAC,CAAC;4BACH,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC;gCACpB,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;4BAE9B,CAAC,CAAC,CAAA;wBAGN,CAAC;wBACD,SAAS,CAAC,MAAM;4BACZ,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;4BACrF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;wBAChH,CAAC;wBAGD,MAAM,CAAC,QAAQ;4BACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;gCAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,EAAE,CAAC;6BAChC;4BACD,OAAO,IAAI,CAAC,QAAQ,CAAC;wBACzB,CAAC;;oBAvFM,eAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;oBADxB,oBAAM,SAyFlB,CAAA;gBACL,CAAC,EA3FgB,aAAa,GAAb,wBAAa,KAAb,wBAAa,QA2F7B;YACL,CAAC,EA7FgB,UAAU,GAAV,oBAAU,KAAV,oBAAU,QA6F1B;QACL,CAAC,EA/FgB,SAAS,GAAT,kBAAS,KAAT,kBAAS,QA+FzB;IACL,CAAC,EAjGgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAiGxB;AACL,CAAC,EAnGS,OAAO,KAAP,OAAO,QAmGhB"}
поставляемый Исполняемый файл
+1
Просмотреть файл
@@ -0,0 +1 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){let u;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.reportmanager=i.Managers.ReportManager.Instance();this.navigationhelper=n.Platform.Helpers.NavigationHelper.Instance()}cssFiles(){return["libs/nestable/JqueryminMenu.css"]}jsFiles(){return["platform/analytics/managers/reportmanager.js","platform/analytics/components/reportbuilder/import.js","platform/forms/components/formviewer/formviewer.js","libs/parsley/parsley.min.js","platform/core/infos/status.js","/platform/core/helpers/file/filehelper.js"]}html(n,t){var i=this;return'<form id="form_Import" data-validate="parsley" data-isdynamic="false"><div id="div_importmessage" class="clear"><\/div><div class="import-export-body modal-body" style="overflow-y: auto;"><div class="card"><div class="card-header"><span class="h6 text-dark ">Import<\/span><\/div><div id="industry_validation" class="clear"><\/div><div class="card-body scrollable"><div id="div_importexport" class=""><div class="card" id = "importexportsection"><div class="card-body"><div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required" style="width:150px"><hr /> <a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.Import.Instance().FileUpload('+t+');">Upload<\/a><\/div><\/div><\/div><div class="hidden" id="div_Export"><span id="sp_formName"><\/span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download<\/a><\/div><\/div><\/div><\/div><\/div><div class="bg-white card-footer footer" ><button id="btn_CloseImport" class="btn btn-secondary btn-sm mr-auto">Close<\/button><\/div><\/form>'}showImport(){this.navigationHelper.popup(0,"",n.Platform.Analytics.Components.ReportBuilder.Import.Instance(),null,t.Helpers.Size.Large)}FileUpload(i){var r=this,u;r.navigationHelper.showLoading();u=_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/exportreports/np";t.Helpers.FileHelper.Instance().upload(u,n.Platform.Analytics.Components.ReportBuilder.Import.fileData).then(function(){MessageHelper.Instance().showSuccess("success","div_importmessage");r.navigationHelper.hideLoading();$("#"+i).modal("hide");$("#"+i).remove()})}load(t,i){var r=this;$("#btn_CloseImport").click(function(){$("#"+i).modal("hide");$("#"+i).remove()});$("#btn_Import").click(function(){$("#importexportsection").removeClass("hidden");$("#div_Import").removeClass("hidden")});$("#import_File").change(function(t){n.Platform.Analytics.Components.ReportBuilder.Import.Instance().fileEvent(t)});$("#txt_Icon").focus(function(){$(".div_Icons").fadeIn();$("#icons").toggleClass("hidden");$(".div_Icons").removeClass("hidden")});$("#txt_Icon").focusout(function(){$(".div_Icons").fadeOut()})}fileEvent(t){const i=t.target.files[0];n.Platform.Analytics.Components.ReportBuilder.Import.fileData=new FormData;n.Platform.Analytics.Components.ReportBuilder.Import.fileData.append(i.name,i)}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}u.fileData=new FormData;r.Import=u})(u=r.ReportBuilder||(r.ReportBuilder={}))})(r=i.Components||(i.Components={}))})(i=t.Analytics||(t.Analytics={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
+241
Просмотреть файл
@@ -0,0 +1,241 @@
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 Components;
(function (Components) {
let ReportBuilder;
(function (ReportBuilder) {
class ImportAndExport extends Platform.Core.BaseComponent {
constructor() {
super();
this.reportmanager = Analytics.Managers.ReportManager.Instance();
this.navigationhelper = Unibase.Platform.Helpers.NavigationHelper.Instance();
}
cssFiles() {
var cssfiles = ["libs/nestable/JqueryminMenu.css"];
return cssfiles;
}
jsFiles() {
return ['platform/analytics/managers/reportmanager.js',
'platform/analytics/components/reportbuilder/import.js',
"platform/forms/components/formviewer/formviewer.js",
'libs/parsley/parsley.min.js',
'platform/core/infos/status.js', '/platform/core/helpers/file/filehelper.js'];
}
html(id, containerid) {
var instance = this;
let html = `<form id="form_Import" data-validate="parsley" data-isdynamic="false">
<div class="bg-white modal-header pa-10"><strong class="biz-highlight-bg-color Title">Import/Export</strong>
<div class="dropdown report-options-dp my-auto">
<a class="nav-link no-caret btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p reportview-remove-none ml-1 " href="javascript:;" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" id="" data-tooltip="true" title="" aria-describedby="ui-id-16">
<span class="btn-icon-wrap"><i class="fa fa-ellipsis-v ellipsis-hover-1" aria-hidden="true"></i></span>
</a>
<div class="dropdown-menu dropdown-menu-right ViewerTypes_dropdown">
<a href="javascript:;" id="fileExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().exportsReports();">Reports</a>
<a href="javascript:;" id="viewersExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().exportViewers(0,0,0,'');">Viewers</a>
<a href="javascript:;" id="dyfilExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().exportDynamicFilters(0);">Dynamic Filters</a>
<a href="javascript:;" id="dyfilExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components._CommonFilter.Instance().exportFilter(0, 0);">Common Filters</a>
</div>
</div>
<div id="div_importmessage" class="form-error-message"></div>
</div>
<div data-simplebar class="import-export-body modal-body simple-scroll-bar">
<div id="industry_validation" class="clear"></div>
<div id="div_importexport" class="">
<div class="card" id="importexportsection">
<div class="card-body">
<div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required">
<br>
<input type="radio" id="report_radio_btn" class="importreport" onclick="" name="report_viewer_dyfil_import_radio_btn" value="report">
<label for="report_radio_btn">Report</label>
<br>
<input type="radio" id="viewer_radio_btn" class="importviewer" onclick="" name="report_viewer_dyfil_import_radio_btn" value="viewer">
<label for="viewer_radio_btn">Viewers</label>
<br>
<input type="radio" id="dyfil_radio_btn" class="importdynamicfilters" onclick="" name="report_viewer_dyfil_import_radio_btn" value="dynamic filters">
<label for="dyfil_radio_btn">Dynamic Filters</label>
<br>
<input type="radio" id="cmfil_radio_btn" class="importcommonfilters" onclick="" name="report_viewer_dyfil_import_radio_btn" value="common filters">
<label for="cmfil_radio_btn">Common Filters</label>
<br>
<hr/> <a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().FileUpload('${containerid}');">Upload</a>
</div>
</div>
</div>
<div class="hidden" id="div_Export"><span id="sp_formName"></span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download</a></div>
</div>
</div>
<div class="bg-white card-footer"><button id="btn_CloseImport" class="btn btn-secondary btn-sm mr-auto">Close</button></div>
</form>`;
return html;
}
showImportExport() {
this.navigationHelper.popup(0, '', Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance(), null, Platform.Helpers.Size.Large);
}
exportsReports() {
var instance = this;
instance.navigationHelper.showLoading();
instance.reportmanager.exportReports().then(function (response) {
if (response.result != "") {
MessageHelper.Instance().showSuccess(response.message, '');
}
instance.downloadResponseAndHideLoading(response, "Reports.xml");
});
}
FileUpload(containerid) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
var url;
instance.navigationhelper.showLoading();
let isReportUpload = $("#report_radio_btn").prop("checked");
let isDynamicFiltersUpload = $("#dyfil_radio_btn").prop("checked");
let isCommonFiltersUpload = $("#cmfil_radio_btn").prop("checked");
if (isReportUpload) {
url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/importreports/np';
}
else if (isDynamicFiltersUpload) {
url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/importdynamicfilters/np';
}
else if (isCommonFiltersUpload) {
url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/importcommonfilters/np';
}
else {
url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/importreportviews/np';
}
var delay = ms => new Promise(res => { setTimeout(res, ms); });
yield delay(0);
yield Platform.Helpers.FileHelper.Instance().upload(url, Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.fileData).then(function (response) {
if (response.status == Unibase.Data.Status.Error) {
MessageHelper.Instance().showError(response.message, "div_importmessage");
}
else {
MessageHelper.Instance().showSuccess('success', "div_importmessage");
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
}
instance.navigationhelper.hideLoading();
});
});
}
load(id, containerid, callback) {
var instance = this;
$("#btn_CloseImport").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_Import").click(function () {
$("#importexportsection").removeClass("hidden");
$("#div_Import").removeClass("hidden");
});
$('#import_File').change(function (e) {
Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().fileEvent(e);
});
$("#txt_Icon").focus(function () {
$(".div_Icons").fadeIn();
$("#icons").toggleClass("hidden");
$(".div_Icons").removeClass('hidden');
});
$("#txt_Icon").focusout(function () {
$(".div_Icons").fadeOut();
});
}
fileEvent($event) {
const fileSelected = $event.target.files[0];
Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.fileData = new FormData();
Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.fileData.append(fileSelected.name, fileSelected);
}
exportViewers(viewerId, viewerName, reportid, containerId) {
this.navigationHelper.showLoading();
let rv_ins;
if (containerId) {
rv_ins = Unibase.Platform.Analytics.Components.ReportViewer.Instance().getReportViewerInstance(containerId);
}
let _id = reportid || rv_ins && rv_ins.ReportId || 0;
Unibase.Platform.Analytics.Managers.ViewerManager.Instance().exportViewers(viewerId || 0, _id).then((response) => {
if (response.status == Unibase.Data.Status.Success && response.result != null) {
var filename;
if (viewerName && containerId) {
filename = rv_ins.reportname + "_" + viewerName + ".xml";
}
else if (containerId) {
filename = rv_ins.reportname + "_viewers.xml";
}
else {
let ip = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters;
if (ip && ip.length) {
let reportNameIP = ip.find(x => x.Key.endsWith("_reportname"));
if (reportNameIP.Value)
filename = reportNameIP.Value + "_viewers.xml";
}
!filename && (filename = "AllReportViewers.xml");
}
this.downloadResponseAndHideLoading(response, filename);
}
else if (response.status == Unibase.Data.Status.Warning) {
MessageHelper.Instance().showError(response.message, "div_message");
this.navigationHelper.hideLoading();
}
});
}
exportReportViewers(reportId) {
if (!reportId)
reportId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key.endsWith("_reportid")).Value);
this.exportViewers(0, "", reportId, "");
}
exportDynamicFilters(reportId) {
this.navigationHelper.showLoading();
let ip = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters;
let reportName = "";
if (!reportId && ip.length) {
let _reportid = ip.find(x => x.Key.endsWith("_reportid"));
if (_reportid && _reportid.Value)
reportId = Number(_reportid.Value);
}
reportId && (reportName = ip.find(x => x.Key.endsWith("_reportname")).Value);
this.reportmanager.exportDynamicFilters(reportId).then((res) => {
if (res.status == Unibase.Data.Status.Success) {
this.downloadResponseAndHideLoading(res, (reportName || "AllReports") + "_DynamicFilters.xml");
}
else {
this.navigationHelper.hideLoading();
}
});
}
downloadResponseAndHideLoading(response, filename) {
var xmltext = response.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();
this.navigationHelper.hideLoading();
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ImportAndExport();
}
return this.instance;
}
}
ImportAndExport.fileData = new FormData();
ReportBuilder.ImportAndExport = ImportAndExport;
})(ReportBuilder = Components.ReportBuilder || (Components.ReportBuilder = {}));
})(Components = Analytics.Components || (Analytics.Components = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
поставляемый Исполняемый файл
+43
Просмотреть файл
@@ -0,0 +1,43 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){let u;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.reportmanager=i.Managers.ReportManager.Instance();this.navigationhelper=n.Platform.Helpers.NavigationHelper.Instance()}cssFiles(){return["libs/nestable/JqueryminMenu.css"]}jsFiles(){return["platform/analytics/managers/reportmanager.js","platform/analytics/components/reportbuilder/import.js","platform/forms/components/formviewer/formviewer.js","libs/parsley/parsley.min.js","platform/core/infos/status.js","/platform/core/helpers/file/filehelper.js"]}html(n,t){var i=this;return`<form id="form_Import" data-validate="parsley" data-isdynamic="false">
<div class="bg-white modal-header pa-10"><strong class="biz-highlight-bg-color Title">Import/Export</strong>
<div class="dropdown report-options-dp my-auto">
<a class="nav-link no-caret btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p reportview-remove-none ml-1 " href="javascript:;" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" id="" data-tooltip="true" title="" aria-describedby="ui-id-16">
<span class="btn-icon-wrap"><i class="fa fa-ellipsis-v ellipsis-hover-1" aria-hidden="true"></i></span>
</a>
<div class="dropdown-menu dropdown-menu-right ViewerTypes_dropdown">
<a href="javascript:;" id="fileExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().exportsReports();">Reports</a>
<a href="javascript:;" id="viewersExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().exportViewers(0,0,0,'');">Viewers</a>
<a href="javascript:;" id="dyfilExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().exportDynamicFilters(0);">Dynamic Filters</a>
<a href="javascript:;" id="dyfilExport" class="dropdown-item" onclick="Unibase.Platform.Analytics.Components._CommonFilter.Instance().export(0, 0);">Common Filters</a>
</div>
</div>
<div id="div_importmessage" class="form-error-message"></div>
</div>
<div data-simplebar class="import-export-body modal-body simple-scroll-bar">
<div id="industry_validation" class="clear"></div>
<div id="div_importexport" class="">
<div class="card" id="importexportsection">
<div class="card-body">
<div class="" id="div_Import"><input type="file" id="import_File" class="bg-light d-none d-sm-block required">
<br>
<input type="radio" id="report_radio_btn" class="importreport" onclick="" name="report_viewer_dyfil_import_radio_btn" value="report">
<label for="report_radio_btn">Report</label>
<br>
<input type="radio" id="viewer_radio_btn" class="importviewer" onclick="" name="report_viewer_dyfil_import_radio_btn" value="viewer">
<label for="viewer_radio_btn">Viewers</label>
<br>
<input type="radio" id="dyfil_radio_btn" class="importdynamicfilters" onclick="" name="report_viewer_dyfil_import_radio_btn" value="dynamic filters">
<label for="dyfil_radio_btn">Dynamic Filters</label>
<br>
<input type="radio" id="cmfil_radio_btn" class="importcommonfilters" onclick="" name="report_viewer_dyfil_import_radio_btn" value="common filters">
<label for="cmfil_radio_btn">Common Filters</label>
<br>
<hr/> <a href="javascript:;" id="fileUpload" class="btn btn-warning text-white" onclick="Unibase.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().FileUpload('${t}');">Upload</a>
</div>
</div>
</div>
<div class="hidden" id="div_Export"><span id="sp_formName"></span><a href="javascript:;" id="fileExport" class="btn btn-primary text-white">Download</a></div>
</div>
</div>
<div class="bg-white card-footer"><button id="btn_CloseImport" class="btn btn-secondary btn-sm mr-auto">Close</button></div>
</form>`}showImportExport(){this.navigationHelper.popup(0,"",n.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance(),null,t.Helpers.Size.Large)}exportsReports(){var n=this;n.navigationHelper.showLoading();n.reportmanager.exportReports().then(function(t){t.result!=""&&MessageHelper.Instance().showSuccess(t.message,"");n.downloadResponseAndHideLoading(t,"Reports.xml")})}FileUpload(i){var r=this,u;r.navigationhelper.showLoading();let f=$("#report_radio_btn").prop("checked"),e=$("#dyfil_radio_btn").prop("checked"),o=$("#cmfil_radio_btn").prop("checked");u=f?_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/importreports/np":e?_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/importdynamicfilters/np":o?_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/importcommonfilters/np":_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/importreportviews/np";t.Helpers.FileHelper.Instance().upload(u,n.Platform.Analytics.Components.ReportBuilder.ImportAndExport.fileData).then(function(t){t.status==n.Data.Status.Error?MessageHelper.Instance().showError(t.message,"div_importmessage"):(MessageHelper.Instance().showSuccess("success","div_importmessage"),$("#"+i).modal("hide"),$("#"+i).remove());r.navigationhelper.hideLoading()})}load(t,i){var r=this;$("#btn_CloseImport").click(function(){$("#"+i).modal("hide");$("#"+i).remove()});$("#btn_Import").click(function(){$("#importexportsection").removeClass("hidden");$("#div_Import").removeClass("hidden")});$("#import_File").change(function(t){n.Platform.Analytics.Components.ReportBuilder.ImportAndExport.Instance().fileEvent(t)});$("#txt_Icon").focus(function(){$(".div_Icons").fadeIn();$("#icons").toggleClass("hidden");$(".div_Icons").removeClass("hidden")});$("#txt_Icon").focusout(function(){$(".div_Icons").fadeOut()})}fileEvent(t){const i=t.target.files[0];n.Platform.Analytics.Components.ReportBuilder.ImportAndExport.fileData=new FormData;n.Platform.Analytics.Components.ReportBuilder.ImportAndExport.fileData.append(i.name,i)}exportViewers(t,i,r,u){this.navigationHelper.showLoading();let f;u&&(f=n.Platform.Analytics.Components.ReportViewer.Instance().getReportViewerInstance(u));let e=r||f&&f.ReportId||0;n.Platform.Analytics.Managers.ViewerManager.Instance().exportViewers(t||0,e).then(t=>{if(t.status==n.Data.Status.Success&&t.result!=null){var r;if(i&&u)r=f.reportname+"_"+i+".xml";else if(u)r=f.reportname+"_viewers.xml";else{let t=n.Themes.Providers.Detail_Settings.Instance().InputParameters;if(t&&t.length){let n=t.find(n=>n.Key.endsWith("_reportname"));n.Value&&(r=n.Value+"_viewers.xml")}r||(r="AllReportViewers.xml")}this.downloadResponseAndHideLoading(t,r)}else t.status==n.Data.Status.Warning&&(MessageHelper.Instance().showError(t.message,"div_message"),this.navigationHelper.hideLoading())})}exportReportViewers(t){t||(t=Number(n.Themes.Providers.Detail_Settings.Instance().InputParameters.find(n=>n.Key.endsWith("_reportid")).Value));this.exportViewers(0,"",t,"")}exportDynamicFilters(t){this.navigationHelper.showLoading();let i=n.Themes.Providers.Detail_Settings.Instance().InputParameters,r="";if(!t&&i.length){let n=i.find(n=>n.Key.endsWith("_reportid"));n&&n.Value&&(t=Number(n.Value))}t&&(r=i.find(n=>n.Key.endsWith("_reportname")).Value);this.reportmanager.exportDynamicFilters(t).then(t=>{t.status==n.Data.Status.Success?this.downloadResponseAndHideLoading(t,(r||"AllReports")+"_DynamicFilters.xml"):this.navigationHelper.hideLoading()})}downloadResponseAndHideLoading(n,t){var r=n.result,i=document.createElement("a"),u=new Blob([r],{type:"text/plain"});i.setAttribute("href",window.URL.createObjectURL(u));i.setAttribute("download",t);i.dataset.downloadurl=["text/plain",i.download,i.href].join(":");i.draggable=!0;i.classList.add("dragout");i.click();this.navigationHelper.hideLoading()}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}u.fileData=new FormData;r.ImportAndExport=u})(u=r.ReportBuilder||(r.ReportBuilder={}))})(r=i.Components||(i.Components={}))})(i=t.Analytics||(t.Analytics={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
+578
Просмотреть файл
@@ -0,0 +1,578 @@
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 Pivot extends Platform.Core.BaseComponent {
constructor() {
super();
this.pivotTypeId = 0;
this.isDataTreeExpand = false;
this.reportManager = Analytics.Managers.ReportManager.Instance();
this._reportBuilder = Unibase.Platform.Analytics.Reports.ReportBuilder.Instance();
this._reportBuilderTemplate = Reports.ReportBuilder_Template.Instance();
}
cssFiles() {
return [];
}
jsFiles() {
var jsFiles = ['platform/analytics/components/reportbuilder/reportbuilderhiddenfields.js'];
return jsFiles;
}
html(id, containerid) {
var instance = this;
let html = instance._reportBuilderTemplate.loadPivotForm();
return html;
}
load(id, containerid, callback) {
var instance = this;
$("#" + containerid).find(".modal-body").height($(window).outerHeight() - 125);
this.loadPivotSelect2s();
$("#chktreeexpand_checkbox").click(function () {
if ($('#chktreeexpand_checkbox').prop('checked') == false) {
instance.isDataTreeExpand = false;
$('#chktreeexpand_checkbox').prop('checked', false);
}
else {
instance.isDataTreeExpand = true;
$('#chktreeexpand_checkbox').prop('checked', true);
}
});
$("#chkPivotTableConfig_checkbox").click(function () {
if ($('#chkPivotTableConfig_checkbox').prop('checked') == false) {
instance._reportBuilder.enablePivotTableConfig = false;
$('#chkPivotTableConfig_checkbox').prop('checked', false);
}
else {
instance._reportBuilder.enablePivotTableConfig = true;
$('#chkPivotTableConfig_checkbox').prop('checked', true);
}
});
if (instance._reportBuilder.pivot.ColumnName != "" && (instance._reportBuilder.pivot.ColumnName)) {
var colName = instance._reportBuilder.pivot.ColumnName;
var Index = instance._reportBuilder.selectedColumns.findIndex(x => x.ColumnName == colName);
var colId = instance._reportBuilder.selectedColumns[Index].ColumnId;
$("#PivotColumns_AutoComplete").val(colId).trigger("change");
let aggrValue = instance._reportBuilder.getColumnId_ByColumnName_datalistColumnsArray(instance._reportBuilder.pivot.AggColumnName);
$("#PivotAggrColumn").val(aggrValue).trigger("change");
let aggrTypeId = instance._reportBuilder.pivot.AggFuncId;
$("#PivotAggrType").val(aggrTypeId).trigger("change");
let DateValue = instance._reportBuilder.pivot.DateType;
if (DateValue)
$("#PivotDateType").val(DateValue).trigger("change");
if (instance._reportBuilder.TenureReport.length != 0) {
let TimeInterval = instance._reportBuilder.TenureReport[colName].TimeInterval;
if (TimeInterval != undefined) {
$("#tenure_checkbox").prop("checked", true);
$("#div_Intervals").removeClass("hidden");
$("#txt_TimeIntervals").val(TimeInterval);
}
}
if (instance._reportBuilder.pivot.IsPivotRows_Selected == true) {
let val = instance._reportBuilder.pivot.PivotRows;
$("#PivotRows_Select2").val(val).trigger("change");
}
}
if (instance.pivotTypeId == Unibase.Platform.Analytics.Reports.Enums.PivotType.PivotTable) {
if (instance._reportBuilder.pivot.AggColumnName != undefined) {
let aggrValue = instance._reportBuilder.getColumnId_ByColumnName_datalistColumnsArray(instance._reportBuilder.pivot.AggColumnName);
$("#PivotAggrColumn").val(aggrValue).trigger("change");
let aggrTypeId = instance._reportBuilder.pivot.AggFuncId;
$("#PivotAggrType").val(aggrTypeId).trigger("change");
}
}
if (instance._reportBuilder.pivot.ParentColumnName != "" && (instance._reportBuilder.pivot.ParentColumnName)) {
let childCol = instance._reportBuilder.getColumnId_ByColumnName_datalistColumnsArray(instance._reportBuilder.pivot.ChildColumnName);
$("#PivotChildColumnName_AutoComplete").val(childCol).trigger("change");
let childVal = instance._reportBuilder.pivot.PivotValue_Selected;
$("#PivotValue_AutoComplete").val(childVal).trigger("change");
let parentColId = instance._reportBuilder.getColumnId_ByColumnName_datalistColumnsArray(instance._reportBuilder.pivot.ParentColumnName);
$("#PivotParentColumnName_AutoComplete").val(parentColId).trigger("change");
$('#chktreeexpand_checkbox').prop('checked', instance._reportBuilder.pivot.IsDatatreeExpand);
}
$("#tenure_checkbox").click(function () {
if ($('#tenure_checkbox').prop('checked') == true) {
$("#div_Intervals").removeClass("hidden");
$("#PivotDateType").append(`<option value="` + Unibase.Platform.Analytics.Reports.Enums.AggregationType.day + `"> Day </option>`);
Unibase.Platform.Analytics.Reports.Tenure.Instance().CheckedTenure();
}
else {
$("#div_Intervals").addClass("hidden");
$("#txt_TimeIntervals").val("");
$("#PivotDateType option[value='" + Unibase.Platform.Analytics.Reports.Enums.AggregationType.day + "']").remove();
instance._reportBuilder.TenureReport = [];
}
});
$("#btn_Close").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_ApplyPivot").click(function () {
instance.applyPivot();
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
}
loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
return [];
}
selectedpivotType(pivotType) {
var instance = this;
let pivotTypeId;
if (pivotType == 0) {
instance.clearPivotFields();
pivotTypeId = Number($("#pivotType_Select2").val());
instance.intervals = $("#txt_TimeIntervals").val().toString();
this.pivotTypeId = 0;
}
else {
pivotTypeId = pivotType;
$("#pivotType_Select2").val(pivotType);
}
if (pivotTypeId == Unibase.Platform.Analytics.Reports.Enums.PivotType.Pivot) {
$("#div_PivotColumns").removeClass("hidden");
$("#div_PivotDateType").removeClass("hidden");
$("#div_PivotAggrColumn").removeClass("hidden");
$("#div_PivotAggrType").removeClass("hidden");
$(".drawerFooterApplyPivot").removeClass("hidden");
$("#div_Intervals").addClass("hidden");
$("#div_PivotTableConfig").addClass("hidden");
$("#div_datatreeexpand").addClass("hidden");
$("#div_PivotChildColumnName").addClass("hidden");
$("#div_PivotValue").addClass("hidden");
$("#div_PivotParentColumnName").addClass("hidden");
$("#div_PivotRows").removeClass("hidden");
instance.pivotTypeId = Unibase.Platform.Analytics.Reports.Enums.PivotType.Pivot;
}
else if (pivotTypeId == Unibase.Platform.Analytics.Reports.Enums.PivotType.TreeView) {
$("#div_datatreeexpand").removeClass("hidden");
$("#div_PivotChildColumnName").removeClass("hidden");
$("#div_PivotValue").removeClass("hidden");
$("#div_PivotParentColumnName").removeClass("hidden");
$(".drawerFooterApplyPivot").removeClass("hidden");
$("#div_PivotTableConfig").addClass("hidden");
$("#div_PivotColumns").addClass("hidden");
$("#div_PivotDateType").addClass("hidden");
$("#div_PivotAggrColumn").addClass("hidden");
$("#div_PivotAggrType").addClass("hidden");
$("#div_Intervals").addClass("hidden");
$("#div_PivotRows").addClass("hidden");
instance.pivotTypeId = Unibase.Platform.Analytics.Reports.Enums.PivotType.TreeView;
}
else if (pivotTypeId == Unibase.Platform.Analytics.Reports.Enums.PivotType.PivotTreeView) {
$("#div_PivotColumns").removeClass("hidden");
$("#div_PivotDateType").removeClass("hidden");
$("#div_PivotAggrColumn").removeClass("hidden");
$("#div_PivotAggrType").removeClass("hidden");
$("#div_datatreeexpand").removeClass("hidden");
$("#div_PivotChildColumnName").removeClass("hidden");
$("#div_PivotValue").removeClass("hidden");
$("#div_PivotParentColumnName").removeClass("hidden");
$(".drawerFooterApplyPivot").removeClass("hidden");
$("#div_PivotTableConfig").addClass("hidden");
$("#div_PivotRows").addClass("hidden");
$("#div_Intervals").addClass("hidden");
instance.pivotTypeId = Unibase.Platform.Analytics.Reports.Enums.PivotType.PivotTreeView;
}
else if (pivotTypeId == Unibase.Platform.Analytics.Reports.Enums.PivotType.TimeInterval) {
$("#div_Intervals").removeClass("hidden");
$("#div_PivotColumns").removeClass("hidden");
$("#div_PivotDateType").removeClass("hidden");
$("#div_PivotAggrColumn").removeClass("hidden");
$("#div_PivotAggrType").removeClass("hidden");
$(".drawerFooterApplyPivot").removeClass("hidden");
$("#div_PivotTableConfig").addClass("hidden");
$("#div_datatreeexpand").addClass("hidden");
$("#div_PivotChildColumnName").addClass("hidden");
$("#div_PivotValue").addClass("hidden");
$("#div_PivotParentColumnName").addClass("hidden");
instance.pivotTypeId = Unibase.Platform.Analytics.Reports.Enums.PivotType.TimeInterval;
}
else if (pivotTypeId == Unibase.Platform.Analytics.Reports.Enums.PivotType.PivotTable) {
$(".drawerFooterApplyPivot").removeClass("hidden");
$("#div_PivotAggrColumn").removeClass("hidden");
$("#div_PivotAggrType").removeClass("hidden");
$("#div_PivotTableConfig").removeClass("hidden");
$("#div_PivotColumns").addClass("hidden");
$("#div_PivotDateType").addClass("hidden");
$("#div_Intervals").addClass("hidden");
$("#div_PivotRows").addClass("hidden");
$("#div_datatreeexpand").addClass("hidden");
$("#div_PivotChildColumnName").addClass("hidden");
$("#div_PivotValue").addClass("hidden");
$("#div_PivotParentColumnName").addClass("hidden");
instance.pivotTypeId = Unibase.Platform.Analytics.Reports.Enums.PivotType.PivotTable;
}
}
clearPivotFields() {
$("#txt_TimeIntervals").text("");
$('#PivotColumns_AutoComplete').val('0').trigger('change');
$('#PivotDateType').val('0').trigger('change');
$('#PivotAggrColumn').val('0').trigger('change');
$('#PivotAggrType').val('-1').trigger('change');
$('#PivotChildColumnName_AutoComplete').val('0').trigger('change');
$('#PivotValue_AutoComplete').val('0').trigger('change');
$('#PivotParentColumnName_AutoComplete').val('0').trigger('change');
$('#chktreeexpand_checkbox').prop("checked", false);
}
applyPivot() {
var instance = this;
if (this.pivotTypeId != Unibase.Platform.Analytics.Reports.Enums.PivotType.PivotTable) {
$("#ExpandIcon, #CollapseIcon").removeClass("hidden");
instance._reportBuilder.dataTreeRowExpandedColumn = [];
var colId = $("#PivotColumns_AutoComplete option:selected").val();
var colName = $("#PivotColumns_AutoComplete option:selected").text();
instance._reportBuilder.pivot.ColumnName = "";
instance._reportBuilder.pivot.ColumnName = colName;
let val = $("#PivotRows_Select2").val();
if (val.length == 0) {
instance._reportBuilder.pivot.IsPivotRows_Selected = false;
for (var opt = 0; opt < $("#PivotRows_Select2").find("option").length; opt++) {
let option = $($("#PivotRows_Select2").find("option")[opt]).val();
val.push(option);
}
}
else {
instance._reportBuilder.pivot.IsPivotRows_Selected = true;
}
instance._reportBuilder.pivot.PivotRows = val;
instance._reportBuilder.pivot.AggColumnName = $("#PivotAggrColumn option:selected").text();
instance._reportBuilder.pivot.AggFuncId = Number($("#PivotAggrType option:selected").val());
if (Number($("#PivotParentColumnName_AutoComplete option:selected").val()) != 0) {
instance._reportBuilder.IsPivotTree = true;
instance._reportBuilder.pivot.IsDatatreeExpand = instance.isDataTreeExpand;
instance._reportBuilder.pivot.ChildColumnName = $("#PivotChildColumnName_AutoComplete option:selected").text();
instance._reportBuilder.pivot.ChildColumnValue = Number($("#PivotValue_AutoComplete option:selected").text());
instance._reportBuilder.pivot.ParentColumnName = $("#PivotParentColumnName_AutoComplete option:selected").text();
if ($("#PivotValue_AutoComplete option:selected").val() != "-1") {
instance._reportBuilder.pivot.PivotValue_Selected = Number($("#PivotValue_AutoComplete option:selected").text());
}
}
else {
instance._reportBuilder.IsPivotTree = false;
}
instance._reportBuilder.TenureReport = [];
if ($("#txt_TimeIntervals").val() != "") {
instance._reportBuilder.TenureReport[colName] = {
TimeInterval: $("#txt_TimeIntervals").val(),
};
var Values_len = instance._reportBuilder.TenureReport.length;
instance._reportBuilder.TenureReport.length = Values_len + 1;
instance._reportBuilder.Interval = $("#txt_TimeIntervals").val();
}
if (this.pivotTypeId) {
let pivot = instance._reportBuilder.pivot;
if (this.pivotTypeId == Unibase.Platform.Analytics.Reports.Enums.PivotType.TreeView) {
if (!pivot.ParentColumnName || pivot.ParentColumnName == "Select Pivot Parent Column" || !pivot.ChildColumnName || pivot.ChildColumnName == "- Select Pivot Child Column -" || pivot.PivotValue_Selected == -1)
return MessageHelper.Instance().showError("Please select accurate pivot details", "div_ReportBuilderErrorMessage");
if (instance._reportBuilder.selectedColumns.findIndex(x => x.AliasName.toLowerCase().includes("haschild")) == -1)
return MessageHelper.Instance().showError("For Tree View report 'hasChild' report column should be must", "div_ReportBuilderErrorMessage");
}
else if (this.pivotTypeId == Unibase.Platform.Analytics.Reports.Enums.PivotType.PivotTreeView) {
if (!pivot.ParentColumnName || pivot.ParentColumnName == "Select Pivot Parent Column" || !pivot.ChildColumnName || pivot.ChildColumnName == "- Select Pivot Child Column -" ||
!pivot.ColumnName || pivot.ColumnName == "- Select Pivot Column -" || !pivot.AggColumnName || pivot.AggColumnName == "- Select Aggregation Column -")
return MessageHelper.Instance().showError("Please select accurate pivot details", "div_ReportBuilderErrorMessage");
if (instance._reportBuilder.selectedColumns.findIndex(x => x.AliasName.toLowerCase().includes("haschild")) == -1)
return MessageHelper.Instance().showError("For Pivot Treeview report 'hasChild' report column should be must", "div_ReportBuilderErrorMessage");
}
else if (!pivot.ColumnName || pivot.ColumnName == "- Select Pivot Column -" || !pivot.AggColumnName || pivot.AggColumnName == "- Select Aggregation Column -" || pivot.AggFuncId == -1)
return MessageHelper.Instance().showError("Please select accurate pivot details", "div_ReportBuilderErrorMessage");
}
instance._reportBuilder.datatreeIndex_Width = 70;
instance._reportBuilder.load_data(instance._reportBuilder.table);
}
else {
instance._reportBuilder.pivot.AggColumnName = $("#PivotAggrColumn option:selected").text();
instance._reportBuilder.pivot.AggFuncId = Number($("#PivotAggrType option:selected").val());
instance.loadPivotTable(instance._reportBuilder.table);
}
}
loadPivotTable(table) {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
var repObj = instance._reportBuilder.getReportData();
yield instance.reportManager.getTableData(repObj).then(function (response) {
if (response.status == Unibase.Data.Status.Success) {
if (response.result != "") {
var res = JSON.parse(response.result);
var rptData = "";
if (res != "" && res.Data) {
rptData = JSON.parse(res.Data);
instance.pivotTable(rptData);
}
else {
return MessageHelper.Instance().showError("No Data", "div_ReportBuilderErrorMessage");
}
}
else {
return MessageHelper.Instance().showError("No Data", "div_ReportBuilderErrorMessage");
}
}
else {
return MessageHelper.Instance().showError("No Data", "div_ReportBuilderErrorMessage");
}
});
});
}
pivotTable(reportresponse) {
var instance = this;
instance.fileCacheHelper.loadCssFile("libs/pivottable/css/pivot.css", function () {
instance.fileCacheHelper.loadJsFile("libs/pivottable/js/pivot.js", function () {
var rptRowCols = [];
var rptColumnCols = [];
if (instance._reportBuilder.ReportColumns.length != 0) {
for (var p = 0; p < instance._reportBuilder.ReportColumns.length; p++) {
if (instance._reportBuilder.ReportColumns[p].IsPivotTableCol) {
rptColumnCols.push("" + instance._reportBuilder.ReportColumns[p].AliasName + "");
}
else {
rptRowCols.push("" + instance._reportBuilder.ReportColumns[p].AliasName + "");
}
}
}
let containerEl = $("#tabulatorReportbuilder");
containerEl.pivotUI(reportresponse, {
cols: rptColumnCols,
rows: rptRowCols,
unusedAttrsVertical: 'hours',
rendererName: "Table",
onRefresh: function (config) {
return __awaiter(this, void 0, void 0, function* () {
const pvtUnusedList = [];
containerEl.find('.pvtUnused .pvtAttr').each(function (i, e) {
pvtUnusedList.push($(e).contents().get(0).nodeValue);
var hiddencol_index = instance._reportBuilder.getIndexByAliasName_selectedColumnsArray($(e).contents().get(0).nodeValue);
if (hiddencol_index > -1) {
instance._reportBuilder.selectedColumns[hiddencol_index].Isvisible = false;
}
});
for (var c = 0; c < config.cols.length; c++) {
var index = instance._reportBuilder.getIndexByAliasName_selectedColumnsArray(config.cols[c]);
if (index > -1) {
instance._reportBuilder.selectedColumns[index].IsPivotTableCol = true;
}
if (config.vals.length > 0) {
var aggrcol_index = instance._reportBuilder.getIndexByAliasName_selectedColumnsArray(config.vals[0]);
if (aggrcol_index > -1) {
var aggrtypeid = yield instance.getPivotAggregationTypeId(config.aggregatorName);
instance._reportBuilder.selectedColumns[aggrcol_index].PivotTableAggrTypeId = aggrtypeid;
}
}
}
});
}
});
instance._reportBuilder.EditableTabulatorTitle();
containerEl.find('.pvtAttr').append('<span></span>');
containerEl.addClass('pivot-ui-tableview');
containerEl.find('button').each(function (i, e) {
if ($(e).text().toLowerCase().includes('cancel')) {
$(e).addClass('btn btn-outline-danger btn-sm');
}
else {
$(e).addClass('btn btn-primary btn-sm');
}
});
});
});
}
getPivotAggregationTypeId(aggrName) {
var aggrtypeid = 0;
var instance = this;
instance.fileCacheHelper.loadJsFileAsync("platform/analytics/enums/pivottableaggregationtype.js", function () {
switch (aggrName) {
case 'Count':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.Count;
break;
case 'Count Unique Values':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.CountUniqueValues;
break;
case 'List Unique Values':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.ListUniqueValues;
break;
case 'Sum':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.Sum;
break;
case 'Integer Sum':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.IntegerSum;
break;
case 'Average':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.Average;
break;
case 'Median':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.Median;
break;
case 'Sample Variance':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.SampleVariance;
break;
case 'Sample Standard Deviation':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.SampleStandardDeviation;
break;
case 'Minimum':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.Minimum;
break;
case 'Maximum':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.Maximum;
break;
case 'First':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.First;
break;
case 'Last':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.Last;
break;
case 'Sum over Sum':
aggrtypeid = Analytics.Reports.Enums.PivotTableAggregationType.SumoverSum;
break;
}
});
return aggrtypeid;
}
changedPivotColumn() {
var instance = this;
$("#PivotRows_Select2").val("").trigger("change");
$("#PivotRows_Select2").empty();
var colId = Number($("#PivotColumns_AutoComplete option:selected").val());
if (colId != 0) {
var rows;
var dataType = Number($("#allDatalistColumns #li_" + colId + " span.datalist_column").attr('data-column-datatype'));
if (dataType != Unibase.Platform.Analytics.Reports.Enums.DataType.dateTime) {
$("#PivotDateType").val("0");
var colName = $("#PivotColumns_AutoComplete option:selected").text();
var AggrFuncId = Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().Aggregations.findIndex(x => x == $("#PivotDateType option:selected").val());
instance._reportBuilder.getDistinctData(Number(colId), colName, AggrFuncId);
}
else {
if ($("#tenure_checkbox").prop("checked") == true || instance._reportBuilder.TenureReport.length != 0) {
$("#PivotDateType").empty().append(`<option value="0"> Select Date Type </option><option value="` + Unibase.Platform.Analytics.Reports.Enums.AggregationType.day + `"> Day </option><option value="` + Unibase.Platform.Analytics.Reports.Enums.AggregationType.month + `" > Month </option><option value="` + Unibase.Platform.Analytics.Reports.Enums.AggregationType.year + `" > Year </option>`);
}
else {
$("#PivotDateType").empty().append(`<option value="0"> Select Date Type </option><option value="` + Unibase.Platform.Analytics.Reports.Enums.AggregationType.month + `"> Month </option><option value="` + Unibase.Platform.Analytics.Reports.Enums.AggregationType.year + `"> Year </option>`);
}
}
$("#PivotRows_Select2").select2({
placeholder: 'Select Pivot Rows',
data: rows,
});
}
}
changedDateType() {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
var colId = Number($("#PivotColumns_AutoComplete option:selected").val());
if (colId != 0) {
var colName = $("#PivotColumns_AutoComplete option:selected").text();
var AggrFuncId = Number($("#PivotDateType option:selected").val());
var index = instance._reportBuilder.getIndexByColumnName_selectedColumnsArray(colName);
instance._reportBuilder.selectedColumns[index].DataType = AggrFuncId;
yield instance._reportBuilder.getDistinctData(colId, colName, AggrFuncId);
Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().pivot.DateType = Number($("#PivotDateType option:selected").val());
let val = instance._reportBuilder.pivot.PivotRows;
if (!val) {
$("#PivotRows_Select2").select2({
placeholder: 'No data to show',
});
}
else if (val.length != 0) {
$("#PivotRows_Select2").select2({
placeholder: 'Select Pivot Rows',
data: val,
});
}
}
});
}
getDistinctChildColumnData(colName) {
var instance = this;
instance._reportBuilder.distinctColumnData = [];
var cf_fromDate = btoa(Unibase.Platform.Helpers.NavigationHelper.commonFilter_FromDate);
var cf_toDate = btoa(Unibase.Platform.Helpers.NavigationHelper.commonFilter_ToDate);
Unibase.Platform.Analytics.Managers.ReportManager.Instance().getDistinctColumnData(instance._reportBuilder.DataListId, colName, 0, cf_fromDate, cf_toDate).then(function (response) {
if (response != "") {
for (var i = 0; i < response.length; i++) {
instance._reportBuilder.distinctColumnData.push(response[i][colName]);
}
var parentvalues = instance._reportBuilder.distinctColumnData;
$("#PivotValue_AutoComplete").select2({
placeholder: 'Select Pivot Child Value',
data: parentvalues,
});
let childVal = instance._reportBuilder.pivot.PivotValue_Selected;
if (childVal != -1 && childVal != undefined) {
$("#PivotValue_AutoComplete").val(childVal).trigger("change");
}
}
});
}
changedPivotAggrColumn() {
var instance = this;
$("#PivotAggrType").empty().append(`<option value="-1" > Select Aggregation Type </option>`);
var colId = Number($("#PivotAggrColumn option:selected").val());
if (colId != 0) {
let DataType = Number($("#allDatalistColumns #li_" + colId + " span.datalist_column").attr('data-column-datatype'));
let Aggregation = instance._reportBuilder.getAggregationsByDataType(DataType);
for (var i = 0; i < Aggregation.length; i++) {
$("#PivotAggrType").append(`<option value="` + Aggregation[i].Value + `" > ` + Aggregation[i].AggrType + ` </option>`);
}
}
}
changedPivotChildColumn() {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
$("#PivotValue_AutoComplete").empty().append(`<option value="-1" > Select Parent Value </option>`);
$("#div_PivotValue").removeClass("hidden");
var colName = $("#PivotChildColumnName_AutoComplete option:selected").text();
var colId = Number($("#PivotChildColumnName_AutoComplete option:selected").val());
if (colId != 0) {
var Whole_tableData = instance._reportBuilder.tableData;
var tableData = JSON.parse(Whole_tableData);
var columns = [];
yield instance.getDistinctChildColumnData(colName);
}
});
}
loadPivotSelect2s() {
var columns = [];
var selectedColumns = this._reportBuilder.selectedColumns;
for (let i = 0; i < selectedColumns.length; i++)
columns.push({ id: selectedColumns[i].ColumnId, text: selectedColumns[i].ColumnName });
$("#PivotColumns_AutoComplete").select2({
placeholder: 'Select Pivot Column',
data: columns,
});
$("#PivotAggrColumn").select2({
placeholder: 'Select Pivot Aggregation Column',
data: columns,
});
$("#PivotChildColumnName_AutoComplete").select2({
placeholder: 'Select Pivot Parent Column Name',
data: columns,
});
$("#PivotParentColumnName_AutoComplete").select2({
placeholder: 'Select Pivot Parent Column Name',
data: columns,
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new Pivot();
}
return this.instance;
}
}
Reports.Pivot = Pivot;
})(Reports = Analytics.Reports || (Analytics.Reports = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
поставляемый Исполняемый файл
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Разница между файлами не показана из-за своего большого размера Загрузить разницу
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
поставляемый Исполняемый файл
+312
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Разница между файлами не показана из-за своего большого размера Загрузить разницу
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
поставляемый Исполняемый файл
+1210
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
+20
Просмотреть файл
@@ -0,0 +1,20 @@
var Unibase;
(function (Unibase) {
let Platform;
(function (Platform) {
let Analytics;
(function (Analytics) {
let Reports;
(function (Reports) {
class ReportBuilderVariables {
static Instance() {
if (this._instance === undefined)
this._instance = new ReportBuilderVariables();
return this._instance;
}
}
Reports.ReportBuilderVariables = ReportBuilderVariables;
})(Reports = Analytics.Reports || (Analytics.Reports = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
+1
Просмотреть файл
@@ -0,0 +1 @@
{"version":3,"file":"reportbuilderhiddenfields.js","sourceRoot":"","sources":["reportbuilderhiddenfields.ts"],"names":[],"mappings":"AACA,IAAU,OAAO,CAsFhB;AAtFD,WAAU,OAAO;IACb,IAAiB,QAAQ,CAoFxB;IApFD,WAAiB,QAAQ;QACrB,IAAiB,SAAS,CAkFzB;QAlFD,WAAiB,SAAS;YACtB,IAAiB,OAAO,CAgFvB;YAhFD,WAAiB,OAAO;gBACpB,MAAa,sBAAsB;oBAyE/B,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;4BAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAsB,EAAE,CAAC;wBAClD,OAAO,IAAI,CAAC,SAAS,CAAC;oBAC1B,CAAC;iBACJ;gBA9EY,8BAAsB,yBA8ElC,CAAA;YACL,CAAC,EAhFgB,OAAO,GAAP,iBAAO,KAAP,iBAAO,QAgFvB;QACL,CAAC,EAlFgB,SAAS,GAAT,kBAAS,KAAT,kBAAS,QAkFzB;IACL,CAAC,EApFgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAoFxB;AACL,CAAC,EAtFS,OAAO,KAAP,OAAO,QAsFhB"}
+1
Просмотреть файл
@@ -0,0 +1 @@
var Unibase;(function(n){let t;(function(n){let t;(function(n){let t;(function(n){class t{static Instance(){return this._instance===undefined&&(this._instance=new t),this._instance}}n.ReportBuilderVariables=t})(t=n.Reports||(n.Reports={}))})(t=n.Analytics||(n.Analytics={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
+460
Просмотреть файл
@@ -0,0 +1,460 @@
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 = {}));
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
поставляемый Исполняемый файл
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
+274
Просмотреть файл
@@ -0,0 +1,274 @@
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 = {}));
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
поставляемый Исполняемый файл
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
+230
Просмотреть файл
@@ -0,0 +1,230 @@
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 = {}));
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
поставляемый Исполняемый файл
+72
Просмотреть файл
@@ -0,0 +1,72 @@
var Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.isSingleAppSelected=!1;this.reportManager=i.Managers.ReportManager.Instance()}cssFiles(){return[]}jsFiles(){return["platform/analytics/managers/reportmanager.js"]}html(){return`<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>`}load(n,t){var i=this;let u=!1;if(i._reportbuilder=r.ReportBuilder.Instance(),$("#btnRoleSettingsClose").click(function(){$("#"+t).modal("hide");$("#"+t).remove();i.isSingleAppSelected&&(i._reportbuilder.roleSettings=[],i.isSingleAppSelected=!1)}),$("#rolesettings_installedapps").empty(),i._reportbuilder.roleSettings&&i._reportbuilder.roleSettings.length&&(u=!0),i._reportbuilder.roleSettings!=null)for(let n=0;n<i._reportbuilder.roleSettings.length;n++){let t=i._reportbuilder.roleSettings[n];i.appendRoleSetting(t.AppTitle,t.SettingName)}$("#btnConfigAddRoleSetting").click(function(){var u,r;let f=i._reportbuilder.selectedColumns.findIndex(n=>n.AliasName=="installedappid");if(f==-1)return MessageHelper.Instance().showError("Please add installedappid column in order to select app","divRoleSetting_ErrorMessage"),!1;var n=$("#rolesettings_installedapps option:selected").text(),e=$("#rolesettings_installedapps option:selected").val(),t=$("#rolesettings_ddl option:selected").text();if(n!=""&&t!=""){if(u=Number($("#InstalledApp_AutoComplete option:selected").val()),e==u)return i._reportbuilder.roleSettings&&i._reportbuilder.roleSettings.length==1&&(i.isSingleAppSelected=!0),MessageHelper.Instance().showError(`Cannot use same app ${n} in both role settings and installed app field of left navigation in report builder.`,"divRoleSetting_ErrorMessage");r=!1;i._reportbuilder.roleSettings!=null&&(r=i._reportbuilder.roleSettings.find(i=>i.AppName==n&&i.RoleSetting==t)?!0:!1);r||(i.appendRoleSetting(n,t),i._reportbuilder.roleSettings.push({InstalledAppId:Number($("#rolesettings_installedapps option:selected").val()),AppPermissionId:Number($("#rolesettings_ddl option:selected").val()),AppTitle:n,SettingName:t}),$("#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(i._reportbuilder.roleSettings!=null){if(i._reportbuilder.roleSettings.length!=0||u){if(i._reportbuilder.roleSettings.length<2)return i._reportbuilder.roleSettings.length==1&&(i.isSingleAppSelected=!0),MessageHelper.Instance().showError("Use installed app field in left navigation of report builder, if report have only one role setting","divRoleSetting_ErrorMessage");if(i._reportbuilder.roleSettings.length==2){let n=$("#InstalledApp_AutoComplete option:selected").val();if(n)return MessageHelper.Instance().showError("Remove installedapp from left navigation of report builder to use multiple report role settings","divRoleSetting_ErrorMessage")}}else return MessageHelper.Instance().showError("Please Select Role Setting","divRoleSetting_ErrorMessage");i._reportbuilder.roleSettings.length>1&&(i.isSingleAppSelected=!1)}else return MessageHelper.Instance().showError("Please Select Role Setting","divRoleSetting_ErrorMessage");$("#"+t).modal("hide");$("#"+t).remove()});i.loadInstalledApps()}loadInstalledApps(){var t=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/InstalledAppAutocomplete";AutoCompleteHelper.getHelper().Create("#rolesettings_installedapps","#hfrolesettings_installedapps",t,function(){var t=$("#hfrolesettings_installedapps").val();n.Platform.Apps.Managers.AppManager.Instance().getAppPermissions(t).then(function(n){var i;$("#rolesettings_ddl").html("");i=n.result;let t=i.find(function(n){return n.SettingName.toLowerCase()=="view"});t&&$("#rolesettings_ddl").append('<option value="'+t.AppPermissionId+'" columnvalue="" selected>'+t.SettingName+"<\/option>").val(t.AppPermissionId).trigger("change")})})}appendRoleSetting(n,t){let i="ulAppName_"+n.replace(/ /g,"_")+"-"+t.replace(/ /g,"_");var r='<div class="border border-1 mt-2 ulDatalistFilters_'+n.replace(" ","_")+t.replace(" ","_")+'" id = "'+i+'"><div class="form-row" id="li_AppName_'+n+t+'"> <div class="col py-2 px-4 lblappname"> '+n+' <\/div> <div class="col py-2 px-4 lblrolesetting"> '+t+' <\/div><div class="col-auto py-2 px-4"><a id = "btnRemove" onclick="Unibase.Platform.Analytics.Reports.ReportRoleSettings.Instance().RemoveRoleSettingExp(\''+n+"','"+t+"','"+i+'\')" class="pull-right" ><i class="fa fa-close text-danger"><\/i><\/a><\/div><\/div><\/div>';$("#RoleSettingExp").append(r)}RemoveRoleSettingExp(n,t,i){var u=this,r;$("#"+i+"").remove();r=u._reportbuilder.roleSettings.findIndex(function(i){return i.AppTitle===n&&i.SettingName===t});r!==-1&&u._reportbuilder.roleSettings.splice(r,1)}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}r.ReportRoleSettings=u})(r=i.Reports||(i.Reports={}))})(i=t.Analytics||(t.Analytics={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));
+412
Просмотреть файл
@@ -0,0 +1,412 @@
.biz-wrapper .bldr-aside-right {
position: absolute;
right: 0;
width: 290px;
top: 65px;
height: 100%;
background: #fff;
-webkit-transition: all 0.2s ease;
-moz-transition: all 0.2s ease;
transition: all 0.2s ease;
z-index: 3;
border-left: 1px solid #DADDE1;
}
.biz-wrapper .bldr-aside-right .nav-tabs > li.nav-item {
width: 50%;
}
.biz-wrapper .bldr-aside-right .nav-tabs > li.nav-item a {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
justify-content: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
border-radius: 0;
height: 65px;
border: 0;
}
.biz-wrapper .bldr-aside-right .nav-tabs > li.nav-item a.nav-link {
background: #F4F5F6;
font-weight: 500;
}
.biz-wrapper .bldr-aside-right .nav-tabs > li.nav-item a.nav-link.active {
background: #fff;
}
.biz-wrapper .bldr-aside-right #chart-appearance-container > .simple-scroll-bar {
height: calc(100vh - 130px);
}
.biz-wrapper .bldr-aside-right #chart-appearance-container > .simple-scroll-bar .tab-content {
margin-top: 0;
padding: 1.25rem;
}
._bizgaze_popup_container .biz-pg-wrapper {
margin-top: 0px !important;
}
.select2-container--default .select2-results > #select2-RptGroup_AutoComplete-results {
max-height: 115px !important;
}
.rule-value-container .select2-container--bootstrap:nth-of-type(1) {
display: block;
width: 100%;
padding: .375rem .75rem;
font-size: 1rem;
line-height: 1.5;
color: #495057;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da;
border-radius: .25rem;
transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
height: calc(2.25rem + 2px);
}
#link-report-section {
height: 100%;
overflow-y: hidden;
}
#link-report-section .modal-content, #is-filterable-section .modal-content {
max-height: calc(100vh - 160px) !important;
background-color: #F4F5F6;
}
#modalDataListColumns .line-icon i, #allDatalistColumns .line-icon i {
font-size: 25px;
font-weight: bolder;
color: #1f2327;
}
#top-nav-menu .line-icon i {
font-size: 24px;
color: #1f2327;
font-weight: bolder;
}
#top-nav-menu .font-awesome-icon i {
font-size: 18px;
}
#top-nav-menu .line-icon .la-sync {
color: #298DFF;
}
#div_Kanban .select2-container--default .select2-selection--single {
border-radius: 4px;
}
#select2-groupby_select-container .select2-selection__clear {
display: none;
}
.tabulator-reportbuilder .dropdown-menu {
width: max-content;
}
.disabled-border {
border: 1px solid rgba(0, 0, 0, .125);
color: #1f2327 !important;
}
#bl-report-title .fa {
font-size: 17px;
}
.t-90d {
transform: rotate(90deg);
}
.t-270d {
transform: rotate(270deg);
}
/*Tooltip text clear btn*/
#tooltip_selected_columns .dsl-block-name {
position: relative;
width: 400px;
}
#tooltip_selected_columns .dsl-block-name input {
width: 100%;
background: transparent;
border: none;
font-weight: 500;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: #007D88
}
#tooltip_selected_columns .dsl-block-name input:focus {
border: none;
outline: none;
}
#tooltip_selected_columns .dsl-block-name .input-styles {
width: 100%;
padding: 2px;
box-sizing: border-box;
outline: none;
border: 2px solid #aaa;
padding-left: 5px;
padding-right: 20px;
background-color: #fff;
border-radius: 5px;
}
#tooltip_selected_columns .dsl-block-name button[type="reset"] {
position: absolute;
top: 2px;
bottom: 2px;
right: 2px;
color: #666;
border: 0;
display: none;
padding: 0 4px;
border-radius: 50%;
transition: background 200ms;
background: transparent;
outline: none;
}
#tooltip_selected_columns .dsl-block-name button[type="reset"]:hover {
background-color: #eee;
}
#tooltip_selected_columns .dsl-block-name input:valid ~ button[type="reset"] {
display: block;
}
.bldr-body .tabulator-row.tabulator-row-even {
background-color: #fff;
}
.tabulator-reportbuilder .tabulator-col-title .dropdown {
text-align: left;
display: inline-block;
padding: 0px 4px 0px 0px;
}
.tabulator-reportbuilder.tabulator .tabulator-header .tabulator-col {
overflow: visible !important;
}
.tabulator-reportbuilder.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title {
overflow: visible !important;
}
.tabulator-reportbuilder.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-menu-button {
font-size: 16px;
padding: 0 2px 0 0;
color: #000 !important;
font-weight: 600;
}
#reportBuilderModal .modal-footer {
z-index: 1;
}
#QueryBuilder .pull-right {
float: none;
}
.biz-bldr-wrap .table-wrap {
height: 100%;
}
.biz-bldr-wrap.chart_view .bldr-body .chart-wrap {
padding-bottom: 25px;
min-height: 65%;
max-height: 100%;
}
.biz-bldr-wrap.chart_view .bldr-body .table-wrap {
max-height: 35%;
}
.custom-right-chart-nav .nav-tabs > li.nav-item {
width: 50%;
}
.custom-right-chart-nav .nav-tabs > li.nav-item a {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
justify-content: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
border-radius: 0;
height: 65px;
border: 0;
}
.custom-right-chart-nav .nav-tabs > li.nav-item a.nav-link {
background: #F4F5F6;
font-weight: 500;
}
custom-right-chart-nav .nav-tabs > li.nav-item a.nav-link.active {
background: #fff;
}
.custom-right-chart-nav > .simple-scroll-bar {
height: calc(100vh - 65px);
}
.custom-right-chart-nav .drawer-body {
height: calc(100% - 125px);
/*height: 700px !important;*/
height: calc(100vh - 200px) !important;
}
.custom-right-chart-nav #tab_dynamic_pivote .simple-scroll-bar {
height: calc(100vh - 130px);
}
.custom-right-chart-nav #tab_dynamic_pivote .dynamic-list-group-wrapper {
padding: 1.25rem;
}
.collapse-simple > .card > .card-header > a.custom-collapse::before {
top: 50%;
transform: translateY(-50%);
}
.bldr-aside-right .btn-filter.in-active {
border: none !important;
cursor: not-allowed !important;
background-color: rgba(255, 204, 204, 0.3) !important;
color: white !important;
}
@media (max-width: 1200px) {
.biz-body-margin-right {
margin-right: 290px !important;
}
.biz-aside-margin-right {
margin-right: -290px !important;
}
}
/* Chart Responsive*/
@media (max-height: 700px) {
.biz-bldr-wrap.chart_view .bldr-body .chart-wrap .card-header {
height: 40px;
padding-top: .5rem !important;
padding-bottom: .5rem !important;
}
}
/* End Chart Responsive*/
@media (max-width: 530px) {
/* Header Mobile Responsive*/
.biz-bldr-wrap header.bldr-head {
padding: 0 .5rem;
}
header.bldr-head input.form-control {
padding: .375rem .5rem;
}
header.bldr-head input.w-180p {
width: 120px !important;
}
.biz-bldr-wrap header.bldr-head input.report-name {
font-size: 1.25rem;
}
/*End Header Mobile Responsive*/
}
@media (max-width: 380px) {
/* Header Mobile Responsive*/
.biz-bldr-wrap header.bldr-head input.report-name {
font-size: 1rem;
}
header.bldr-head input.w-180p {
width: 100px !important;
}
#header_datalist_name.ml-10 {
margin-left: 5px !important;
}
#header_datalist_name.badge {
padding: 5px;
}
/*End Header Mobile Responsive*/
}
.query-builder .rules-group-container .btn-primary {
color: #fff !important;
background-color: #00B0FF !important;
border-color: #00B0FF !important;
}
.query-builder .rules-group-container .btn-primary.active {
background-color: #009EE5 !important;
border-color: #009EE5 !important;
}
.biz-bldr-wrap .dropdown-menu {
z-index: 9999;
}
.biz-bldr-wrap .dropdown-menu.dropdown-radio .dropdown-item.selected .ri-checkbox-blank-circle-line {
color: #007D88;
}
.biz-bldr-wrap .dropdown-menu.dropdown-radio .dropdown-item.selected .ri-checkbox-blank-circle-line:before {
content: "\eff4";
}
.query-builder .rule-value-container .select2-container--default.select2-container{
min-width:200px;
max-width:100%;
}
.bldr-aside-right .chart-type-collapse .btn-group-toggle {
max-height: 250px;
overflow-y: auto;
overflow-x: hidden;
}
.biz-bldr-wrap.chart_view .bldr-body .chart-wrap.fullscreen{
height: 100% !important;
padding-bottom: 10px !important;
}
.column-dp-menu .distinct-label{
flex-grow: 1;
margin-bottom: 0;
cursor: pointer;
}
.biz-reportbuilder-wrap .select2-container--default {
width: 100% !important;
}
.reportbuilder-main-wrap {
height: 100%;
display: flex;
flex-direction: column;
overflow: auto;
}
.biz-bldr-wrap.chart_view .reportbuilder-main-wrap {
overflow: hidden;
}
+806
Просмотреть файл
@@ -0,0 +1,806 @@
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 = {}));
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
поставляемый Исполняемый файл
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
+197
Просмотреть файл
@@ -0,0 +1,197 @@
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 Tenure extends Platform.Core.BaseComponent {
constructor() {
super();
this.TenureTableData = [];
this.TenureReportColumns = [];
this.TenureInterval = "";
this.reportManager = Analytics.Managers.ReportManager.Instance();
}
jsFiles() {
return ["platform/analytics/components/mapviewer/mapviewer.settings.js"];
}
cssFiles() {
return [];
}
html(id, containerid) {
var html = `<div class="b-b bg-white modal-header"><strong class="text-dark" id="TenureTableHeader` + containerid + `"> </strong></div><div class="` + containerid + `-TenureTable-canvas" id="table-canvan"></div><div class="footer bg-white"><button id="btn-tenure-report-close" class="btn-tenureReport-close btn btn-secondary btn-sm mr-auto">Close</button></div>`;
return html;
}
load(id, containerid, callback) {
var instance = this;
$("#btn-tenure-report-close").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#TenureTableHeader" + containerid).html(Unibase.Platform.Analytics.Reports.Tenure.Instance().TenureInterval);
var autoNumFormatter = function (cell) {
var row = cell.getRow();
var rowIndex = row.getPosition(false);
return (rowIndex + 1);
};
let serviceurl = "apis/v4/unibase/platform/analytics/tabledata";
serviceurl = _appsettings.server_url() + (serviceurl.startsWith('/') ? serviceurl : ('/' + serviceurl));
instance.TenureTable = new Tabulator("." + containerid + "-TenureTable-canvas", {
columns: [
{ title: "", formatter: autoNumFormatter, frozen: true, minWidth: 40, width: 40 },
{ title: "LastColumn", field: "LastColumn", visible: false, headerSort: false }
],
layout: "fitColumns",
movableColumns: true,
placeholder: "No data available",
});
if ($(".tabulator-placeholder span").text() == "No data available") {
$(".tabulator-placeholder").css('width', '');
}
var height = $(window).height() - 100 + "px";
instance.TenureTable.setHeight(height);
instance.TenureTable.setColumns(instance.TenureReportColumns);
instance.TenureTable.setData(instance.TenureTableData);
return instance.TenureTable;
}
tenureDetailsTable(TimeInterval) {
Unibase.Platform.Analytics.Reports.Tenure.Instance().TenureReportColumns = [];
var instance = Unibase.Platform.Analytics.Reports.ReportBuilder.Instance();
if (instance.TenureReport.length != 0) {
var autoNumFormatter = function (cell) {
var row = cell.getRow();
var rowIndex = row.getPosition(false);
return (rowIndex + 1);
};
Unibase.Platform.Analytics.Reports.Tenure.Instance().TenureReportColumns.push({ title: "", formatter: autoNumFormatter, frozen: true, minWidth: 50, width: 50 });
let repObj = new ReportObject();
let pivotCol = instance.pivot.ColumnName;
repObj.DataListId = Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().DataListId;
repObj.Interval = TimeInterval;
repObj.StaticFilter = instance.queryBuilderString;
if (instance.selectedColumns.length > 0) {
for (var i = 0; i < instance.selectedColumns.length; i++) {
let col = new ReportColumn();
col.ColumnValue = Number(instance.selectedColumns[i]["ColumnId"]);
col.ReportColumnName = instance.selectedColumns[i]["ColumnName"];
col.AliasName = instance.selectedColumns[i]["AliasName"];
col.DisplayText = instance.selectedColumns[i]["DisplayText"];
col.DataType = instance.selectedColumns[i]["DataType"];
col.AggrFuncId = Reports.Enums.AggregationType.none;
col.SortType = instance.selectedColumns[i]["SortOrder"];
col.GroupBy = instance.selectedColumns[i]["GroupBy"];
col.IsPivotAggrColumn = false;
col.IsPivotColumn = false;
col.IsPivotRow = false;
col.IsPivotRowSelected = false;
col.IsPivotParentColumn = false;
col.IsPivotChildColumn = false;
col.PivotValue = 0;
col.PivotValueSelected = isNaN(instance.pivot.PivotValue_Selected) ? 0 : instance.pivot.PivotValue_Selected;
col.PivotDateType = isNaN(instance.pivot.DateType) ? 0 : instance.pivot.DateType;
col.TimeInterval = "";
col.ColumnFormat = instance.selectedColumns[i]["ColumnFormat"];
col.YearComparisonType = instance.selectedColumns[i]["YearComparisonType"] == undefined ? 0 : instance.selectedColumns[i]["YearComparisonType"];
if (pivotCol == col.ReportColumnName) {
col.IsPivotColumn = true;
}
repObj.ReportColumns.push(col);
Unibase.Platform.Analytics.Reports.Tenure.Instance().TenureReportColumns.push({ title: col.DisplayText, field: col.ReportColumnName });
}
}
instance.reportManager.getTableData(repObj).then(function (response) {
let res = JSON.parse(response.result);
Unibase.Platform.Analytics.Reports.Tenure.Instance().TenureTableData = JSON.parse(res.Data);
Unibase.Platform.Analytics.Reports.Tenure.Instance().TenureInterval = TimeInterval;
instance.navigationHelper.popup(0, '', Unibase.Platform.Analytics.Reports.Tenure.Instance(), null, Platform.Helpers.Size.Medium);
});
}
}
tenureViewerDetails(TimeInterval) {
var instance = this;
instance.TenureReportColumns = [];
var autoNumFormatter = function (cell) {
var row = cell.getRow();
var rowIndex = row.getPosition(false);
return (rowIndex + 1);
};
instance.TenureReportColumns.push({ title: "", formatter: autoNumFormatter, frozen: true, minWidth: 50, width: 50 });
let repObj = new ReportObject();
instance.reportManager.getReportById(instance.ReportId).then(function (response) {
var res = response.result;
repObj.DataListId = res.DataListId;
repObj.Interval = TimeInterval;
repObj.StaticFilter = res.StaticFilter;
}).then(function () {
return __awaiter(this, void 0, void 0, function* () {
yield instance.reportManager.getColumns(instance.ReportId).then(function (response) {
var data = response.result;
for (var i = 0; i < data.length; i++) {
let col = new ReportColumn();
col.ColumnValue = data[i].ColumnValue;
col.ReportColumnName = data[i].ReportColumnName;
col.DisplayText = data[i].DisplayText;
col.AliasName = data[i].DisplayText;
col.DataType = Number(data[i].DataType);
col.AggrFuncId = Reports.Enums.AggregationType.none;
col.SortType = data[i].SortType;
col.GroupBy = data[i].GroupBy;
col.IsPivotAggrColumn = false;
col.IsPivotColumn = data[i].IsPivotColumn;
col.IsPivotRow = false;
col.IsPivotRowSelected = false;
col.IsPivotParentColumn = false;
col.IsPivotChildColumn = false;
col.PivotValue = 0;
col.PivotValueSelected = data[i].PivotValueSelected;
col.PivotDateType = Number(data[i].PivotDateType);
col.TimeInterval = "";
col.ColumnFormat = data[i].ColumnFormat;
col.YearComparisonType = data[i].YearComparisonType;
repObj.ReportColumns.push(col);
Unibase.Platform.Analytics.Reports.Tenure.Instance().TenureReportColumns.push({ title: col.DisplayText, field: col.ReportColumnName });
}
});
});
}).then(function () {
return __awaiter(this, void 0, void 0, function* () {
yield instance.reportManager.getTableData(repObj).then(function (response) {
let res = JSON.parse(response.result);
Unibase.Platform.Analytics.Reports.Tenure.Instance().TenureTableData = JSON.parse(res.Data);
Unibase.Platform.Analytics.Reports.Tenure.Instance().TenureInterval = TimeInterval;
instance.navigationHelper.popup(0, '', Unibase.Platform.Analytics.Reports.Tenure.Instance(), null, Platform.Helpers.Size.Medium);
});
});
});
}
CheckedTenure() {
$(".table-metrics").addClass("hidden");
$("#XAxis").addClass("hidden");
$("#YAxis").addClass("hidden");
$("#GroupBy").addClass("hidden");
$("#SortColumns").removeClass("hidden");
$("#ChartIcon_PaintBrush").attr("disabled", "true");
$("#ChartIcon_Forms").attr("disabled", "true");
}
static Instance() {
if (this._instance === undefined)
this._instance = new Unibase.Platform.Analytics.Reports.Tenure();
return this._instance;
}
}
Reports.Tenure = Tenure;
})(Reports = Analytics.Reports || (Analytics.Reports = {}));
})(Analytics = Platform.Analytics || (Platform.Analytics = {}));
})(Platform = Unibase.Platform || (Unibase.Platform = {}));
})(Unibase || (Unibase = {}));
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
поставляемый Исполняемый файл
Различия файлов скрыты, потому что одна или несколько строк слишком длинны