logitude-dashboard-library 1.2.21 → 1.2.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +1 -1
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1067,7 +1067,7 @@ var DashboardDesigner = function DashboardDesigner() {
|
|
|
1067
1067
|
setWidgetToEdit = _useState13[1];
|
|
1068
1068
|
|
|
1069
1069
|
var renderPageHeader = function renderPageHeader() {
|
|
1070
|
-
return React__default.createElement("
|
|
1070
|
+
return React__default.createElement("div", {
|
|
1071
1071
|
className: "dl-dashboard-header"
|
|
1072
1072
|
}, React__default.createElement("div", {
|
|
1073
1073
|
className: "dl-heder-row"
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/services/DataService.ts","../src/common/data-contracts/ApiQueryFilter.ts","../src/features/Dashboard/NewWidget.tsx","../src/features/Dashboard/ChartsComponents/ColumnChartComponent.tsx","../src/features/Dashboard/ChartsComponents/PieChartComponent.tsx","../src/features/Dashboard/ChartsComponents/MixedChartComponent.tsx","../src/features/Dashboard/ChartsComponents/AreaChartComponent.tsx","../src/features/Dashboard/ChartsComponents/TimelineChartComponent.tsx","../src/features/Dashboard/ChartsComponents/CandleChartComponent.tsx","../src/features/Dashboard/ChartsComponents/BarChartComponent.tsx","../src/features/Dashboard/WidgetCard.tsx","../src/features/Dashboard/DashboardDesigner.tsx","../src/index.tsx"],"sourcesContent":["import axios from \"axios\";\r\nimport { ApiQueryFilters } from \"../common/data-contracts/ApiQueryFilter\";\r\n\r\n\r\nexport class DataService{ \r\n\r\n getObjectTables(filters: ApiQueryFilters){\r\n let token: string = this.getTokenFromStorage();\r\n\r\n\t\tvar apiURL = 'http://localhost:9996/api/ObjectTableViews/getbyfilters?';\r\n\t\tapiURL = this.ConcatFiltersToURL(filters, apiURL);\r\n return axios.get(apiURL, { headers: { 'Content-Type': 'application/json', 'Token': token } });\r\n }\r\n\r\n getObjectFields(filters: ApiQueryFilters) {\r\n \r\n let token: string = this.getTokenFromStorage();\r\n\r\n\t\tvar apiURL = 'http://localhost:9996/api/ObjectFieldViews/getbyfilters?';\r\n\t\tapiURL = this.ConcatFiltersToURL(filters, apiURL);\r\n\r\n return axios.get(apiURL, { headers: { 'Content-Type': 'application/json', 'Token': token } });\r\n }\r\n\r\n getDataByFilters(filters: ApiQueryFilters,tableName: string) {\r\n \r\n let token: string = this.getTokenFromStorage();\r\n\r\n\t\tvar apiURL = `http://localhost:9996/api/${tableName}Views/getbyfilters?`;\r\n\t\tapiURL = this.ConcatFiltersToURL(filters, apiURL);\r\n\r\n return axios.get(apiURL, { headers: { 'Content-Type': 'application/json', 'Token': token } });\r\n }\r\n\r\n private ConcatFiltersToURL(filters: ApiQueryFilters, urlparameters: string)\r\n {\r\n var mykeys = Object.keys(filters);\r\n var addtionalFiltersValues: string | null = null;\r\n\r\n for (var i in mykeys) {\r\n var propName = mykeys[i];\r\n var propValue = filters[propName];\r\n var ignoreFilter = ((propName.indexOf(\"Operator\") > 0 && propValue == \"Equals\") || propName == \"AdditionalFilters\");\r\n\r\n if (urlparameters != \"?\") {\r\n urlparameters = urlparameters.concat('&');\r\n }\r\n\r\n if (!ignoreFilter) {\r\n propValue = propValue ? encodeURIComponent(propValue) : '';\r\n urlparameters = urlparameters.concat(propName.concat('=').concat(propValue));\r\n }\r\n\r\n if (propName == \"AdditionalFilters\" && propValue.length > 0) {\r\n addtionalFiltersValues = JSON.stringify(propValue);\r\n }\r\n }\r\n\r\n if (addtionalFiltersValues) {\r\n urlparameters = urlparameters.concat(\"&AdditionalFilters=\").concat(addtionalFiltersValues);\r\n }\r\n return urlparameters;\r\n }\r\n\r\n getTokenFromStorage(){\r\n return window.localStorage.getItem(\"token\") || '';\r\n }\r\n}","export class ApiQueryFilters {\r\n\r\n public PageIndex: number | null = null;\r\n public PageSize: number | null = null;\r\n public SortBy: string | null = null;\r\n public SortDirection: string | null = null;\r\n public GetCount: boolean | null = null;\r\n public Tenant: number | null = null;\r\n public AdditionalFilters: FilterItem[] = [];\r\n public ForceCacheRefresh: boolean = false;\r\n public DontApplyVirtualization: boolean = false;\r\n\r\n \r\n\r\n addAdditionalFilter(\r\n FieldName: string,\r\n FieldValue: any,\r\n FieldValue2: any,\r\n FieldValue3: any,\r\n Operator: string,\r\n IsCustom: boolean,\r\n DisplayInList: boolean,\r\n IsCustomField: boolean,\r\n FieldDataType: string,\r\n IgnoreFilter: boolean = false,\r\n IsCacheOnClient: boolean = false,\r\n ForceEnableAdd:boolean = false) {\r\n\r\n let params=new ApiQueryFiltersAddParams();\r\n params.FieldName=FieldName;\r\n params.FieldValue=FieldValue;\r\n params.FieldValue2=FieldValue2;\r\n params.FieldValue3=FieldValue3;\r\n params.Operator=Operator;\r\n params.IsCustom=IsCustom;\r\n params.DisplayInList=DisplayInList;\r\n params.IsCustomField=IsCustomField;\r\n params.FieldDataType=FieldDataType;\r\n params.IgnoreFilter=IgnoreFilter;\r\n params.IsCacheOnClient=IsCacheOnClient;\r\n params.ForceEnableAdd=ForceEnableAdd;\r\n this.pushAdditionalFilter(params);\r\n }\r\n myReplace(myString: string) {\r\n var myNewString = \"\";\r\n for (var i = 0; i < myString.length; i++)\r\n {\r\n if (myString[i] == '\"') {\r\n myNewString = myNewString + '\\\\\"';\r\n }\r\n else {\r\n myNewString = myNewString + myString[i];\r\n }\r\n }\r\n return myNewString;\r\n }\r\n removeAdditionalFilter(FieldName: string) {\r\n var item = this.AdditionalFilters.filter(d=> d.FieldName == FieldName && d.IsLookUpfilter==true)[0];\r\n if (item) {\r\n var index = this.AdditionalFilters.indexOf(item);\r\n this.AdditionalFilters.splice(index, 1);\r\n }\r\n }\r\n \r\n pushAdditionalFilter(params:ApiQueryFiltersAddParams){\r\n if (!params.IsCacheOnClient) {\r\n if (typeof (params.FieldValue) === \"string\") {\r\n if (params.FieldValue)\r\n params.FieldValue = this.myReplace(params.FieldValue);//FieldValue.replace('\"', '\\\\\"');\r\n if (params.FieldName != \"ImportersFilter\")\r\n params.FieldValue = encodeURIComponent(params.FieldValue)\r\n //FieldValue = FieldValue.replace(\"%22\", \"\\%22\");\r\n }\r\n if (typeof (params.FieldValue2) === \"string\") {\r\n if (params.FieldValue)\r\n params.FieldValue2 = this.myReplace(params.FieldValue2);//.replace('\"', '\\\\\"');\r\n params.FieldValue2 = encodeURIComponent(params.FieldValue2)\r\n //FieldValue = FieldValue.replace(\"%20\", \" \");\r\n }\r\n if (typeof (params.FieldValue3) === \"string\") {\r\n if (params.FieldValue)\r\n params.FieldValue3 = this.myReplace(params.FieldValue3);//FieldValue3.replace('\"', '\\\\\"');\r\n params.FieldValue3 = encodeURIComponent(params.FieldValue3)\r\n //FieldValue = FieldValue.replace(\"%20\", \" \");\r\n }\r\n }\r\n var existedItem = this.AdditionalFilters.find(d => d.FieldName == params.FieldName);\r\n if (!existedItem || params.ForceEnableAdd) {\r\n var item = new FilterItem(\r\n params.FieldName,\r\n params.FieldValue, \r\n params.FieldValue2,\r\n params.FieldValue3,\r\n params.Operator,\r\n params.IsCustom,\r\n params.DisplayInList,\r\n params.IsCustomField, \r\n params.FieldDataType,\r\n params.IgnoreFilter,\r\n params.IsCacheOnClient,\r\n params.IsLookUpFilter);\r\n this.AdditionalFilters.push(item);\r\n }\r\n }\r\n\r\n public queryId: string = '';\r\n public queryCode: string = '';\r\n\r\n public userid: string = '';\r\n public ObjectTableName: string = '';\r\n\r\n public Filter1Name: string | null = null;\r\n public Filter1Value: any;\r\n public Filter1Operator: string | null = null;\r\n public Filter1Value2: any;\r\n\r\n public Filter2Name: any;\r\n public Filter2Value: any;\r\n public Filter2Operator: any;\r\n public Filter2Value2: any;\r\n\r\n public Filter3Name: any;\r\n public Filter3Value: any;\r\n public Filter3Operator: any;\r\n public Filter3Value2: any;\r\n\r\n public Filter4Name: any;\r\n public Filter4Value: any;\r\n public Filter4Operator: any;\r\n public Filter4Value2: any;\r\n\r\n public Filter5Name: any;\r\n public Filter5Value: any;\r\n public Filter5Operator: any;\r\n public Filter5Value2: any;\r\n\r\n public Filter6Name: any;\r\n public Filter6Value: any;\r\n public Filter6Operator: any;\r\n public Filter6Value2: any;\r\n\r\n public Filter7Name: any;\r\n public Filter7Value: any;\r\n public Filter7Operator: any;\r\n public Filter7Value2: any;\r\n\r\n public Filter8Name: any;\r\n public Filter8Value: any;\r\n public Filter8Operator: any;\r\n public Filter8Value2: any;\r\n\r\n public Filter9Name: any;\r\n public Filter9Value: any;\r\n public Filter9Operator: any;\r\n public Filter9Value2: any;\r\n\r\n public Filter10Name: any;\r\n public Filter10Value: any;\r\n public Filter10Operator: any;\r\n public Filter10Value2: any;\r\n\r\n public GetAll: boolean = true;\r\n\r\n \r\n}\r\n\r\nexport class FilterItem {\r\n constructor(\r\n public FieldName: string,\r\n public FieldValue: any,\r\n public FieldValue2: any,\r\n public FieldValue3: any,\r\n public Operator: string,\r\n public IsCustom: boolean,\r\n public DisplayInList: boolean,\r\n public IsCustomField: boolean,\r\n public FieldDataType: string,\r\n public IgnoreFilter: boolean,\r\n public IsCacheOnClient: boolean = false,\r\n public IsLookUpfilter:boolean=false) { }\r\n \r\n\r\n}\r\nexport class ApiQueryFiltersAddParams{\r\n FieldName: string = '';\r\n FieldValue: any;\r\n FieldValue2: any;\r\n FieldValue3: any;\r\n Operator: string = '';\r\n IsCustom: boolean = false;\r\n DisplayInList: boolean = false;\r\n IsCustomField: boolean = false;\r\n FieldDataType: string = '';\r\n IgnoreFilter: boolean = false;\r\n IsCacheOnClient: boolean = false;\r\n ForceEnableAdd:boolean = false;\r\n IsLookUpFilter:boolean=false;\r\n}\r\n","import React from \"react\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Dropdown, DropdownChangeParams } from \"primereact/dropdown\";\r\n\r\nimport { Button } from \"primereact/button\";\r\n\r\nimport { DataService } from \"../../services/DataService\";\r\nimport { ApiQueryFilters } from \"../../common/data-contracts/ApiQueryFilter\";\r\nimport { Widget } from \"../../types/widget\";\r\nimport ReactApexChart from \"react-apexcharts\";\r\nimport { ChartComponentState } from \"../../types/ChartComponentState\";\r\n\r\nconst calcTypes = \r\n[{Name: \"Sum\", Disabled: false},\r\n {Name: \"Min\", Disabled: true},\r\n {Name: \"Max\", Disabled: false},\r\n {Name: \"Count\", Disabled: false},\r\n {Name: \"Average\", Disabled: true}]\r\n;\r\ninterface NewWidgetProps {\r\n onOkButton(data: Widget):any;\r\n onCancelButton():any;\r\n widget: Widget | null;\r\n\r\n}\r\n\r\ninterface NewWidgetState { \r\n Widget: Widget;\r\n objectTables: any[]; \r\n objectFields: any[];\r\n}\r\n\r\nconst chartState:ChartComponentState = {\r\n series: [\r\n {\r\n data: [10,20,30],\r\n },\r\n ],\r\n options: {\r\n chart: {\r\n toolbar:{show: false},\r\n \r\n },\r\n colors: [\"#22D792\"],\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: true,\r\n }\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n categories: ['A','B','C'],\r\n },\r\n },\r\n};\r\n\r\nconst ChartTypes = [{ Name: \"Column\", Disabled: true },{ Name: \"Area\", Disabled: false }, { Name: \"Bar\", Disabled: false }, { Name: \"Pie\", Disabled: true }, { Name: \"Donut\", Disabled: true }];\r\nclass NewWidget extends React.Component<NewWidgetProps, NewWidgetState> {\r\n constructor(props: NewWidgetProps | Readonly<NewWidgetProps>) {\r\n super(props);\r\n const defaultWidget: Widget = {\r\n WidgetName: 'New Widget',\r\n WidgetType: \"Bar\",\r\n CalcType: null,\r\n ValueFieldName: null,\r\n ValueFieldId: null,\r\n EntityName: null,\r\n EntityId: null,\r\n Group: null\r\n };\r\n this.state = {\r\n Widget: this.props.widget || defaultWidget,\r\n objectTables: [],\r\n objectFields: [], \r\n }; \r\n \r\n this.getData();\r\n }\r\n getData() {\r\n this.getObjectTables();\r\n }\r\n getObjectTables() {\r\n let service = new DataService();\r\n const filters = new ApiQueryFilters();\r\n filters.addAdditionalFilter(\r\n \"Name\",\r\n 'GLAccount,ARPayment,ARInvoice',\r\n null,\r\n null,\r\n \"InListExact\",\r\n false,\r\n false,\r\n false,\r\n \"string\"\r\n );\r\n service.getObjectTables(filters).then((response: any) => {\r\n console.log(\"getObjectTables\", response);\r\n\r\n\r\n if(response.data.Result && this.props.widget){\r\n this.selectedTable = response.data.Result.find((t: { Id: string | null | undefined; })=>t.Id === this.props.widget?.EntityId);\r\n }\r\n\r\n this.setState({ objectTables: response.data.Result });\r\n\r\n if(response.data.Result && this.props.widget){\r\n this.getObjectFields();\r\n }\r\n\r\n\r\n },(error: string)=>{\r\n alert(\"Something wrong happen, \" + error);\r\n });\r\n }\r\n getObjectFields() {\r\n let service = new DataService();\r\n const filters = new ApiQueryFilters();\r\n filters.SortBy = 'FieldName';\r\n filters.addAdditionalFilter(\r\n \"ObjectTableId\",\r\n this.state.Widget.EntityId,\r\n null,\r\n null,\r\n \"Equals\",\r\n false,\r\n false,\r\n false,\r\n \"string\"\r\n );\r\n service.getObjectFields(filters).then((response: any) => {\r\n console.log(\"getByfilters\", response);\r\n this.setState({ objectFields: response.data.Result });\r\n },(error: string)=>{\r\n alert(\"Something wrong happen, \" + error);\r\n });\r\n }\r\nselectedTable: any;\r\n onEntityChanged = (e: DropdownChangeParams) => {\r\n const selectedTable = e.target.value;\r\n this.selectedTable = selectedTable; \r\n // const selectedTable = e.value;\r\n console.log(\"onEntityChanged\",selectedTable);\r\n \r\n this.state.Widget.EntityName = selectedTable?.Name;\r\n this.state.Widget.EntityId = selectedTable?.Id;\r\n this.setState({ Widget: {...this.state.Widget} }, () => {\r\n if (selectedTable) {\r\n this.getObjectFields();\r\n } else {\r\n this.state.Widget.Group = null;\r\n this.state.Widget.ValueFieldId = null;\r\n this.state.Widget.ValueFieldName = null;\r\n this.setState({ Widget: {...this.state.Widget},\r\n objectFields: [] });\r\n }\r\n });\r\n }\r\n onGroupChanged = (e: DropdownChangeParams) => {\r\n this.state.Widget.Group = e.value;\r\n this.setState({ Widget: {...this.state.Widget} });\r\n }\r\n selectedValueField: { Id: string | null; FieldName: string | null; };\r\n onValueChanged = (e: DropdownChangeParams) => {\r\n this.selectedValueField = e.value;\r\n this.state.Widget.ValueFieldId = this.selectedValueField.Id;\r\n this.state.Widget.ValueFieldName = this.selectedValueField.FieldName;\r\n this.setState({ Widget: {...this.state.Widget} });\r\n };\r\n onCalcTypeChanged = (e: DropdownChangeParams) => {\r\n this.state.Widget.CalcType = e.value;\r\n this.setState({ Widget: {...this.state.Widget} });\r\n }\r\n render() {\r\n return (\r\n <div className=\"dialog-wrapper\">\r\n <div className=\"dialog-content container\">\r\n <div style={{ width: \"250px\", padding: '0 40px 0 0', textAlign: 'center' }}>\r\n <Dropdown\r\n style={{ width: \"160px\" }}\r\n value={this.state.Widget.WidgetType}\r\n options={ChartTypes}\r\n placeholder=\"Chart Type\"\r\n optionLabel=\"Name\"\r\n optionValue=\"Name\"\r\n optionDisabled={(option) => option?.Disabled}\r\n onChange={(e) => {\r\n this.state.Widget.WidgetType = e.value;\r\n this.setState({ Widget: { ...this.state.Widget } });\r\n }}\r\n />\r\n <br />\r\n <br />\r\n <div>\r\n {this.state.Widget.WidgetType === 'Bar' && <ReactApexChart options={chartState.options} series={chartState.series} type=\"bar\" height={\"100%\"} />}\r\n {this.state.Widget.WidgetType === 'Area' && <ReactApexChart options={chartState.options} series={chartState.series} type=\"area\" height={\"100%\"} />}\r\n </div>\r\n </div>\r\n\r\n <div>\r\n <form id=\"frm\" name=\"frm\">\r\n {/* <input type=\"submit\" opacity /> */}\r\n <div className=\"form\">\r\n {/* Name */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-name\">Name</label>\r\n <InputText\r\n id=\"widget-name\"\r\n className=\"p-inputtext-sm\"\r\n value={this.state.Widget.WidgetName || undefined}\r\n required\r\n onChange={(e) => {\r\n this.state.Widget.WidgetName = e.target.value;\r\n this.setState({ Widget: { ...this.state.Widget } });\r\n }}\r\n />\r\n </div>\r\n\r\n {/* Entity */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-Entity\">Entity</label>\r\n <Dropdown\r\n value={this.selectedTable}\r\n options={this.state.objectTables}\r\n onChange={this.onEntityChanged}\r\n optionLabel=\"Name\"\r\n // optionValue=\"Id\"\r\n filter\r\n showClear\r\n filterBy=\"Name\"\r\n placeholder=\"Select an entity\"\r\n // valueTemplate={selectedCountryTemplate}\r\n // itemTemplate={countryOptionTemplate}\r\n />\r\n </div>\r\n\r\n {/* Group */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-Entity\">Group</label>\r\n <Dropdown\r\n value={this.state.Widget.Group}\r\n options={this.state.objectFields}\r\n virtualScrollerOptions={{ itemSize: 50 }}\r\n onChange={this.onGroupChanged}\r\n optionLabel=\"FieldName\"\r\n optionValue=\"FieldName\"\r\n filter\r\n showClear\r\n filterBy=\"FieldName\"\r\n placeholder=\"Select group\"\r\n />\r\n </div>\r\n\r\n {/* CalcType */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-Entity\">Calc. Type</label>\r\n <Dropdown\r\n value={this.state.Widget.CalcType}\r\n options={calcTypes}\r\n optionLabel=\"Name\"\r\n optionValue=\"Name\"\r\n optionDisabled={(option) => option?.Disabled}\r\n onChange={this.onCalcTypeChanged}\r\n showClear\r\n required\r\n placeholder=\"Select type\"\r\n />\r\n </div>\r\n\r\n {/* Value */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-Entity\">Value</label>\r\n <Dropdown\r\n value={this.selectedValueField}\r\n options={this.state.objectFields}\r\n virtualScrollerOptions={{ itemSize: 50 }}\r\n onChange={this.onValueChanged}\r\n optionLabel=\"FieldName\"\r\n // optionValue=\"Id\"\r\n filter\r\n showClear\r\n filterBy=\"FieldName\"\r\n placeholder=\"Select value\"\r\n />\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n <div className=\"dialog-footer\">\r\n <Button\r\n label=\"Cancel\"\r\n className=\"p-button-text\"\r\n onClick={this.props.onCancelButton.bind(this)}\r\n />\r\n <Button\r\n label=\"Ok\"\r\n form=\"frm\"\r\n // icon=\"pi pi-check\"\r\n onClick={this.props.onOkButton.bind(this, { ...this.state.Widget })}\r\n autoFocus\r\n />\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default NewWidget;\r\n","import React from 'react';\r\n\r\nclass ColumnChartComponent extends React.Component {\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n\r\n \r\n }\r\n\r\n\r\n\r\n render() {\r\n return (\r\n\r\n\r\n <div id=\"chart\">\r\n </div>\r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default ColumnChartComponent;","import React from \"react\";\r\n\r\n\r\n\r\nexport class PieChartComponent extends React.Component {\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n <div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default PieChartComponent;\r\n","import React from \"react\";\r\n\r\nclass MixedChartComponent extends React.Component {\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return <div id=\"chart\"></div>;\r\n }\r\n}\r\n\r\nexport default MixedChartComponent;\r\n","import React from 'react'\r\nimport ReactApexChart from 'react-apexcharts'\r\nimport { ChartComponentProps } from '../../../types/ChartComponentProps'\r\nimport { ChartComponentState } from '../../../types/ChartComponentState'\r\n\r\nclass AreaChartComponent extends React.Component<\r\nChartComponentProps,\r\nChartComponentState\r\n> {\r\n constructor(props: ChartComponentProps | Readonly<ChartComponentProps>) {\r\n super(props)\r\n\r\n this.state = {\r\n series: [\r\n {\r\n name: 'series1',\r\n data: [31, 40, 28, 51, 42, 109, 100],\r\n },\r\n {\r\n name: 'series2',\r\n data: [11, 32, 45, 32, 34, 52, 41],\r\n },\r\n ],\r\n options: {\r\n chart: {\r\n height: 350,\r\n type: 'area',\r\n },\r\n colors: ['#22D792','#2C99F7','#FBC445','#F74E49','#717585'] ,\r\n\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n stroke: {\r\n curve: 'smooth',\r\n },\r\n xaxis: {\r\n type: 'datetime',\r\n categories: [\r\n '2018-09-19T00:00:00.000Z',\r\n '2018-09-19T01:30:00.000Z',\r\n '2018-09-19T02:30:00.000Z',\r\n '2018-09-19T03:30:00.000Z',\r\n '2018-09-19T04:30:00.000Z',\r\n '2018-09-19T05:30:00.000Z',\r\n '2018-09-19T06:30:00.000Z',\r\n ],\r\n },\r\n tooltip: {\r\n x: {\r\n format: 'dd/MM/yy HH:mm',\r\n },\r\n },\r\n },\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div id=\"chart\">\r\n {this.props.dateFilter && <div className=\"filter-label\"> Date: {this.props.dateFilter.toLocaleDateString(\"en-US\")+''}</div>}\r\n\r\n <ReactApexChart\r\n options={this.state.options}\r\n series={this.state.series}\r\n type=\"area\"\r\n height={'100%'}\r\n />\r\n </div>\r\n )\r\n }\r\n}\r\n\r\nexport default AreaChartComponent;\r\n","import React from \"react\";\r\n\r\nclass TimelineChartComponent extends React.Component {\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return <div id=\"chart\"></div>;\r\n }\r\n}\r\n\r\nexport default TimelineChartComponent;\r\n","import React from 'react'\r\n\r\nclass CandleChartComponent extends React.Component {\r\n\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n\r\n \r\n }\r\n\r\n\r\n\r\n render() {\r\n return (\r\n\r\n\r\n <div id=\"chart\">\r\n </div>\r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default CandleChartComponent\r\n","import React from \"react\";\r\nimport ReactApexChart from \"react-apexcharts\";\r\nimport { ApiQueryFilters } from \"../../../common/data-contracts/ApiQueryFilter\";\r\nimport { DataService } from \"../../../services/DataService\";\r\nimport { ChartComponentProps } from \"../../../types/ChartComponentProps\";\r\nimport { ChartComponentState } from \"../../../types/ChartComponentState\";\r\n\r\n\r\n\r\n\r\n\r\nclass BarChartComponent extends React.Component<\r\n ChartComponentProps,\r\n ChartComponentState\r\n> {\r\n\r\n data: any[] = [];\r\n constructor(props: ChartComponentProps | Readonly<ChartComponentProps>) {\r\n super(props);\r\n const filters = new ApiQueryFilters();\r\n const dataService = new DataService();\r\n if (this.props.widget?.EntityName)\r\n dataService.getDataByFilters(filters, this.props.widget.EntityName || '')\r\n .then((response: any) => {\r\n console.log(\"dataService.getDataByFilters\", response);\r\n this.data = response.data.Result;\r\n this.InitChart();\r\n })\r\n\r\n\r\n this.state = {\r\n series: [\r\n {\r\n data: [],\r\n },\r\n ],\r\n options: {\r\n chart: {\r\n type: \"bar\",\r\n height: 350,\r\n events: {\r\n dataPointSelection: function (event, chartContext, config) {\r\n const data = config.w.config.xaxis.categories[config.seriesIndex];\r\n console.log(\"Selected \" + data);\r\n },\r\n },\r\n },\r\n colors: [\"#22D792\", \"#2C99F7\", \"#FBC445\", \"#F74E49\", \"#717585\"],\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: true,\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n categories: [],\r\n },\r\n },\r\n };\r\n\r\n }\r\n\r\n\r\n private InitChart() {\r\n const groups = this.GroupItems();\r\n\r\n\r\n const catItems = Object.keys(groups);\r\n const dataItems: any[] = Object.values(groups);\r\n\r\n\r\n this.setState({\r\n series: [\r\n {\r\n data: dataItems,\r\n },\r\n ],\r\n options: {\r\n chart: {\r\n type: \"bar\",\r\n height: 350,\r\n events: {\r\n dataPointSelection: function (event, chartContext, config) {\r\n const data = config.w.config.xaxis.categories[config.seriesIndex];\r\n console.log(\"Selected \" + data);\r\n },\r\n },\r\n },\r\n colors: [\"#22D792\", \"#2C99F7\", \"#FBC445\", \"#F74E49\", \"#717585\"],\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: true,\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n categories: catItems,\r\n },\r\n },\r\n });\r\n }\r\n // private GroupItems()\r\n // {\r\n // return this.data.reduce((groups, record) =>\r\n // {\r\n // const fieldName = this.props.widget.ValueFieldName + '';\r\n\r\n // const group = (groups[record] || []);\r\n // group.push(record);\r\n\r\n // const recordCategory = record[this.props.widget.ValueFieldName + ''];\r\n // groups[record[fieldName]] = groups[recordCategory] + 1 || 0;\r\n // return groups;\r\n // }, {});\r\n // }\r\n private GroupItems() {\r\n let groups = this.data.reduce((groups, record) => {\r\n const CreateGroup = (groups: any, record: any) => {\r\n const group = (groups[record] || []);\r\n group.push(record);\r\n }\r\n const SetGroupData = () => {\r\n const groupByFieldName = this.props.widget.Group + \"\";\r\n const valueFieldName = this.props.widget.ValueFieldName + \"\";\r\n const recordCategory = record[groupByFieldName];\r\n const recordValue = record[valueFieldName];\r\n let currentGroupValue = groups[record[groupByFieldName]];\r\n\r\n switch (this.props.widget.CalcType) {\r\n case \"Count\": {\r\n if (!currentGroupValue) currentGroupValue = 0;\r\n currentGroupValue = currentGroupValue + 1;\r\n break;\r\n }\r\n case \"Sum\": {\r\n if (!currentGroupValue) currentGroupValue = 0;\r\n currentGroupValue = currentGroupValue + recordValue;\r\n break;\r\n }\r\n case \"Max\": {\r\n if (!currentGroupValue) currentGroupValue = -9999999999999;\r\n\r\n if (recordValue > currentGroupValue)\r\n currentGroupValue = recordValue;\r\n break;\r\n }\r\n case \"Min\": {\r\n if (!currentGroupValue) currentGroupValue = 9999999999999;\r\n\r\n if (recordValue < currentGroupValue)\r\n currentGroupValue = recordValue;\r\n break;\r\n }\r\n case \"Average\": {\r\n if (!currentGroupValue) currentGroupValue = [];\r\n currentGroupValue.push(recordValue);\r\n break;\r\n }\r\n }\r\n\r\n groups[record[groupByFieldName]] = currentGroupValue;\r\n };\r\n\r\n CreateGroup(groups, record);\r\n SetGroupData();\r\n return groups;\r\n }, {});\r\n\r\n if (this.props.widget.CalcType == \"Average\") {\r\n for (const key in groups) {\r\n if (Object.prototype.hasOwnProperty.call(groups, key)) {\r\n const groupArray: any[] = groups[key];\r\n let sum = groupArray.reduce((a, b) => a + (b[key] || 0), 0);\r\n let avg = sum / groupArray.length;\r\n groups[key] = avg;\r\n }\r\n }\r\n }\r\n return groups;\r\n }\r\n\r\n render() {\r\n return (\r\n\r\n <div id=\"chart\">\r\n <div>\r\n {this.props.dateFilter && <div className=\"filter-label\"> Date: {this.props.dateFilter.toLocaleDateString(\"en-US\") + ''}</div>}\r\n </div>\r\n {/* <div>\r\n {this.props.widget?.EntityName}: {this.props.widget?.CalcType} of {this.props.widget?.ValueFieldName} \r\n </div> */}\r\n <ReactApexChart\r\n options={this.state.options}\r\n series={this.state.series}\r\n type=\"bar\"\r\n height={\"100%\"}\r\n />\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default BarChartComponent;\r\n","import { stat } from \"fs\";\r\nimport { Button } from \"primereact/button\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport AreaChartComponent from \"./ChartsComponents/AreaChartComponent\";\r\nimport BarChartComponent from \"./ChartsComponents/BarChartComponent\";\r\nimport CandleChartComponent from \"./ChartsComponents/CandleChartComponent\";\r\nimport ColumnChartComponent from \"./ChartsComponents/ColumnChartComponent\";\r\nimport MixedChartComponent from \"./ChartsComponents/MixedChartComponent\";\r\nimport PieChartComponent from \"./ChartsComponents/PieChartComponent\";\r\nimport TimelineChartComponent from \"./ChartsComponents/TimelineChartComponent\";\r\n\r\n\r\ntype WidgetCardProps = {\r\n editBtnClicked(widget: any):any;\r\n deleteBtnClicked(i: any):any;\r\n widget: any | null;\r\n el: any;\r\n dateFilter: any;\r\n}\r\n\r\n\r\nconst WidgetCard = (props: WidgetCardProps, state: any) => {\r\n const moreBtnToggle = useRef<OverlayPanel>(null);\r\n\r\n const widgetComponents: any[] = [\r\n { type: \"Bar\", component: BarChartComponent },\r\n { type: \"Column\", component: ColumnChartComponent },\r\n { type: \"Pie\", component: PieChartComponent },\r\n { type: \"Mixed\", component: MixedChartComponent },\r\n { type: \"Timeline\", component: TimelineChartComponent },\r\n { type: \"Candle\", component: CandleChartComponent },\r\n { type: \"Area\", component: AreaChartComponent },\r\n ];\r\n\r\n return (\r\n <div className=\"panel\" key={props.el.i}>\r\n <header>\r\n <h1>{props.widget?.WidgetName || \"not set\"}</h1>\r\n <Button\r\n icon=\"pi pi-ellipsis-v\"\r\n className=\"p-button-lg p-button-rounded p-button-text\"\r\n onClick={(e) => moreBtnToggle.current?.toggle(e)}\r\n />\r\n\r\n <OverlayPanel ref={moreBtnToggle} className=\"buttons-overlay\">\r\n <div className=\"buttons-list\">\r\n <div onClick={() => props.editBtnClicked(props.widget)} > Edit </div>\r\n <div onClick={() => props.deleteBtnClicked(props.el.i)} >Remove</div>\r\n </div>\r\n </OverlayPanel>\r\n </header>\r\n\r\n <div className=\"dashboard-widget\">\r\n {React.createElement(\r\n widgetComponents.find((wc) => wc.type === props.widget.WidgetType)\r\n ?.component,\r\n {\r\n key: props.el.i,\r\n dateFilter: props.dateFilter,\r\n widget: props.widget,\r\n }\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default WidgetCard;\r\n","\r\n\r\nimport { WidthProvider, Responsive } from \"react-grid-layout\";\r\n\r\nimport React, { createRef, useEffect, useRef, useState } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport _, { find } from \"lodash\";\r\nimport { Ripple } from \"primereact/ripple\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport NewWidget from \"./NewWidget\";\r\nimport { Calendar } from 'primereact/calendar';\r\n\r\nimport ColumnChartComponent from \"./ChartsComponents/ColumnChartComponent\";\r\nimport PieChartComponent from \"./ChartsComponents/PieChartComponent\";\r\nimport MixedChartComponent from \"./ChartsComponents/MixedChartComponent\";\r\nimport AreaChartComponent from \"./ChartsComponents/AreaChartComponent\";\r\nimport TimelineChartComponent from \"./ChartsComponents/TimelineChartComponent\";\r\nimport CandleChartComponent from \"./ChartsComponents/CandleChartComponent\";\r\nimport BarChartComponent from \"./ChartsComponents/BarChartComponent\";\r\nimport { WidgetComponent } from \"../../types/WidgetComponent\";\r\nimport { Widget } from \"../../types/widget\";\r\nimport WidgetCard from \"./WidgetCard\";\r\n\r\nconst ResponsiveReactGridLayout = WidthProvider(Responsive);\r\nconst newWidgetWidth = 3;\r\n\r\n\r\nconst DashboardDesigner = () => {\r\n\r\n const [widgetButtonToggle, setWidgetButtonToggle] = useState(createRef<OverlayPanel>());\r\n const [addWidgetButtonToggle, setAddWidgetButtonToggle] = useState(createRef<OverlayPanel>());\r\n const [widgetComponents, setWidgetComponents] = useState([\r\n { type: \"Bar\", component: BarChartComponent },\r\n { type: \"Column\", component: ColumnChartComponent },\r\n { type: \"Pie\", component: PieChartComponent },\r\n { type: \"Mixed\", component: MixedChartComponent },\r\n { type: \"Timeline\", component: TimelineChartComponent },\r\n { type: \"Candle\", component: CandleChartComponent },\r\n { type: \"Area\", component: AreaChartComponent },\r\n ]);\r\n const array12 = Array.from({ length: 12 }).fill(null);\r\n var savedLayouts = getFromStorage(\"grid-layout\");\r\n var savedWidgets = getFromStorage(\"grid-widgets\");\r\n const minimumPlaceholderRowsCount = 12;\r\n const [layouts, setLayouts] = useState(savedLayouts || { lg: [] });\r\n const [placeholderRowsArray, setplaceholderRowsArray] = useState(Array.from({ length: minimumPlaceholderRowsCount }).fill(null));\r\n const [showMsg, setShowMsg] = useState(false);\r\n const [dateFilter, setDateFilter] = useState<Date | Date[] | undefined>(undefined);\r\n const [displayDialog, setDisplayDialog] = useState(false);\r\n const [dashboardTitle, setDashboardTitle] = useState(\"\");\r\n const [widgets, setWidgets] = useState(savedWidgets || []);\r\n const [placeholderRows, setPlaceholderRows] = useState(minimumPlaceholderRowsCount);\r\n const [selectedWidget, setSelectedWidget] = useState();\r\n const [widgetToEdit, setWidgetToEdit] = useState<Widget | null>(null);\r\n const renderPageHeader = () => {\r\n return (\r\n <header className=\"dl-dashboard-header\">\r\n <div className=\"dl-heder-row\">\r\n {/* <Calendar\r\n value={dateFilter}\r\n showIcon={true}\r\n onChange={(e) => setDateFilter(e.value)}\r\n placeholder=\"filter by date...\"\r\n ></Calendar> */}\r\n <div style={{ width: '192px' }}>\r\n <Dropdown\r\n value={selectedWidget}\r\n options={WidgetTypes}\r\n optionValue=\"Name\"\r\n optionLabel=\"Name\"\r\n onChange={(e) => addComponent(e.value)}\r\n placeholder=\"Add Component\"\r\n optionDisabled={(option) => {\r\n return option?.Disabled;\r\n }}\r\n scrollHeight=\"300px\"\r\n />\r\n </div>\r\n\r\n </div>\r\n </header>\r\n );\r\n }\r\n function addComponent(componentType) {\r\n toggleDialog();\r\n }\r\n function reset() {\r\n window.localStorage.clear();\r\n window.location.reload();\r\n }\r\n\r\n // function renderGridWidgetsPlaceholder() {\r\n // console.log(placeholderRows)\r\n // return (\r\n // <div className=\"dl-grid dl-grid--bordered\">\r\n // {[...Array(placeholderRows)].map((e, i) =>\r\n // [...Array(layoutGridProps.cols.lg)].map((e, i) => (\r\n // <div key={i}\r\n // style={{\r\n // height: layoutGridProps.rowHeight,\r\n // }}\r\n // ></div>\r\n // ))\r\n // )}\r\n // </div>\r\n // );\r\n // }\r\n\r\n function onLayoutChange(layout: any, layouts) {\r\n console.log(layout, layouts);\r\n saveToStorage(\"grid-layout\", layouts);\r\n saveToStorage(\"grid-widgets\", widgets);\r\n setLayouts(layouts);\r\n UpdatePlaceholderDimensions();\r\n }\r\n function renderWidgetComponent(el: any) {\r\n const widget = FindWidget(el);\r\n\r\n return (\r\n <div key={el.i}>\r\n <WidgetCard\r\n key={el.i}\r\n widget={widget}\r\n el={el}\r\n dateFilter={dateFilter}\r\n editBtnClicked={editWidget}\r\n deleteBtnClicked={deletePanel}\r\n />\r\n </div>\r\n );\r\n }\r\n function deletePanel(i) {\r\n let layout = layouts[\"lg\"];\r\n var itemIndex = layout.findIndex((d) => d.i === i);\r\n layout.splice(itemIndex, 1);\r\n setLayouts({ lg: [...layout] });\r\n setWidgets(_.reject(widgets, { i: i }));\r\n SaveGrid();\r\n };\r\n function SaveGrid() {\r\n saveToStorage(\"grid-layout\", layouts);\r\n saveToStorage(\"grid-widgets\", widgets);\r\n }\r\n function editWidget(widget: any) {\r\n setWidgetToEdit(widget);\r\n toggleDialog();\r\n };\r\n function FindWidget(el: any) {\r\n return widgets.find((d) => d.i === el.i);\r\n }\r\n function saveToStorage(key, value) {\r\n setShowMsg(true);\r\n setTimeout(() => {\r\n setShowMsg(false);\r\n }, 2000);\r\n window.localStorage.setItem(key, JSON.stringify(value));\r\n };\r\n function getFromStorage(key) {\r\n const layout: any = window.localStorage.getItem(key);\r\n return JSON.parse(layout);\r\n };\r\n function toggleDialog() {\r\n setDisplayDialog(!displayDialog);\r\n }\r\n function renderNewWidgetDialog() {\r\n\r\n return (\r\n <Dialog\r\n\r\n header={widgetToEdit ? \"Edit Chart\" : \"New Chart\"}\r\n visible={displayDialog}\r\n onHide={toggleDialog}\r\n breakpoints={{ \"850px\": \"95vw\", \"600px\": \"100vw\" }}\r\n style={{ width: \"800px\" }}\r\n >\r\n <NewWidget\r\n onOkButton={onOkButton}\r\n onCancelButton={onCancelButton}\r\n widget={widgetToEdit}\r\n />\r\n </Dialog>\r\n );\r\n }\r\n function addPanel(newWidget: Widget) {\r\n\r\n let newWidgetPosition = EvaluateNewWidgetPosition();\r\n\r\n const widgetComponent = widgetComponents.find(\r\n (wc) => wc.type === newWidget.WidgetType\r\n );\r\n\r\n const randomIndex = getRandomInt(100, 999);\r\n const newPanel = {\r\n i: \"\" + randomIndex,\r\n x: newWidgetPosition.x,\r\n y: newWidgetPosition.y,\r\n w: newWidgetWidth,\r\n h: 5,\r\n minH: 5,\r\n minW: 3,\r\n };\r\n\r\n widgets.push({\r\n i: \"\" + randomIndex,\r\n title: newWidget.WidgetName,\r\n component: widgetComponent?.component,\r\n ...newWidget,\r\n });\r\n setLayouts({ lg: layouts[\"lg\"].concat(newPanel) });\r\n setWidgets(widgets);\r\n\r\n };\r\n\r\n function EvaluateNewWidgetPosition() {\r\n let widgetYPosition = 0;\r\n let widgetXPosition = 0;\r\n let layout: { x: number, y: number, w: number }[] = layouts[\"lg\"];\r\n const maxY = layout.reduce((max, widget) => {\r\n if (widget.y > max) max = widget.y;\r\n return max;\r\n }, 0);\r\n\r\n for (let y = 0; y <= maxY; y++) {\r\n const widgetsRow = layout.filter(d => d.y == y);\r\n const lastWidgetStartXPosition = Math.max.apply(Math, widgetsRow.map(a => a.x));\r\n const lastWidget: any = widgetsRow.find(a => a.x == lastWidgetStartXPosition);\r\n if (lastWidget) {\r\n const lastWidgetEndXPosition = lastWidgetStartXPosition + lastWidget.w;\r\n const availableHorizontalSlots = layoutGridProps.cols.lg - lastWidgetEndXPosition;\r\n if (availableHorizontalSlots >= newWidgetWidth) {\r\n widgetYPosition = y;\r\n widgetXPosition = lastWidgetEndXPosition;\r\n return { x: widgetXPosition, y: widgetYPosition };\r\n\r\n } else {\r\n widgetYPosition = y + 1;\r\n }\r\n } else {\r\n widgetYPosition = y + 1;\r\n }\r\n }\r\n\r\n return { x: widgetXPosition, y: widgetYPosition };\r\n }\r\n function onOkButton(data: any) {\r\n setWidgetToEdit(null);\r\n toggleDialog();\r\n addPanel(data);\r\n };\r\n function onCancelButton() {\r\n setWidgetToEdit(null);\r\n toggleDialog();\r\n };\r\n function getRandomInt(min, max) {\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n }\r\n\r\n // useEffect(() => {\r\n\r\n // });\r\n function UpdatePlaceholderDimensions() {\r\n \r\n var gridLayout = document.getElementsByClassName('react-grid-layout')\r\n if (!gridLayout)\r\n return;\r\n const gridElementHeight = gridLayout[0]?.clientHeight;\r\n\r\n let newPlaceholderRows = Math.floor(gridElementHeight / layoutGridProps.rowHeight);\r\n newPlaceholderRows = newPlaceholderRows < minimumPlaceholderRowsCount ? minimumPlaceholderRowsCount : newPlaceholderRows;\r\n setPlaceholderRows(newPlaceholderRows)\r\n setplaceholderRowsArray(Array.from({ length: newPlaceholderRows }).fill(null));\r\n }\r\n return (<div className=\"dl-full-hight\">\r\n <div className=\"dl-box\">\r\n <div className=\"dl-row dl-header\">\r\n {renderPageHeader()}\r\n </div>\r\n <div className=\"dl-row dl-content\">\r\n <div className=\"dl-grid-container\">\r\n {/* {renderGridWidgetsPlaceholder()} */}\r\n <div className=\"dl-grid dl-grid--bordered\">\r\n {placeholderRowsArray.map((e, i) =>\r\n array12.map((e, i) => (\r\n <div key={i}\r\n style={{\r\n height: layoutGridProps.rowHeight,\r\n }}\r\n ></div>\r\n ))\r\n )}\r\n </div>\r\n\r\n\r\n <ResponsiveReactGridLayout\r\n {...layoutGridProps}\r\n layouts={layouts}\r\n compactType=\"vertical\"\r\n\r\n onWidthChange={() => UpdatePlaceholderDimensions()}\r\n onLayoutChange={(layout, layouts) =>\r\n onLayoutChange(layout, layouts)\r\n }\r\n >\r\n {layouts[\"lg\"].map((el) =>\r\n\r\n <div key={el.i}>\r\n <WidgetCard\r\n key={el.i}\r\n widget={FindWidget(el)}\r\n el={el}\r\n dateFilter={dateFilter}\r\n editBtnClicked={editWidget}\r\n deleteBtnClicked={deletePanel}\r\n />\r\n </div>\r\n )}\r\n </ResponsiveReactGridLayout>\r\n </div>\r\n\r\n </div>\r\n {/* <div className=\"dl-row dl-footer\">\r\n <p><b>footer</b> (fixed height)</p>\r\n </div> */}\r\n </div>\r\n {renderNewWidgetDialog()}\r\n\r\n\r\n\r\n\r\n\r\n </div>);\r\n\r\n}\r\n\r\n\r\nexport const layoutGridProps = {\r\n rowHeight: 50,\r\n className: \"layout\",\r\n cols: { lg: 12, md: 6, sm: 2, xs: 1, xxs: 1 },\r\n useCSSTransforms: true,\r\n}\r\n\r\n\r\n\r\n\r\nexport const WidgetTypes = [\r\n { Name: \"Filter\", Disabled: true },\r\n { Name: \"Chart\", Disabled: false },\r\n { Name: \"Data Table\", Disabled: true },\r\n { Name: \"Pivot Table\", Disabled: true },\r\n { Name: \"KPI\", Disabled: true },\r\n { Name: \"Gauge\", Disabled: true },\r\n];\r\nexport const widgetComponents = [\r\n { type: \"Bar\", component: BarChartComponent },\r\n { type: \"Column\", component: ColumnChartComponent },\r\n { type: \"Pie\", component: PieChartComponent },\r\n { type: \"Mixed\", component: MixedChartComponent },\r\n { type: \"Timeline\", component: TimelineChartComponent },\r\n { type: \"Candle\", component: CandleChartComponent },\r\n { type: \"Area\", component: AreaChartComponent },\r\n];\r\n\r\n\r\nexport default DashboardDesigner;\r\n","import * as React from 'react'\nimport DashboardDesigner from './features/Dashboard/DashboardDesigner'\nimport \"./styles.module.css\"\ntype DashboardProps={token:string};\nconst Dashboard = (props:DashboardProps) => {\n localStorage.setItem(\"token\", props?.token);\n\n return (\n <div className='dl-dashboard-body'>\n <DashboardDesigner></DashboardDesigner>\n </div>\n )\n}\nexport default Dashboard;"],"names":["DataService","getObjectTables","filters","token","getTokenFromStorage","apiURL","ConcatFiltersToURL","axios","get","headers","getObjectFields","getDataByFilters","tableName","urlparameters","mykeys","Object","keys","addtionalFiltersValues","i","propName","propValue","ignoreFilter","indexOf","concat","encodeURIComponent","length","JSON","stringify","window","localStorage","getItem","ApiQueryFilters","addAdditionalFilter","FieldName","FieldValue","FieldValue2","FieldValue3","Operator","IsCustom","DisplayInList","IsCustomField","FieldDataType","IgnoreFilter","IsCacheOnClient","ForceEnableAdd","params","ApiQueryFiltersAddParams","pushAdditionalFilter","myReplace","myString","myNewString","removeAdditionalFilter","item","AdditionalFilters","filter","d","IsLookUpfilter","index","splice","existedItem","find","FilterItem","IsLookUpFilter","push","calcTypes","Name","Disabled","chartState","series","data","options","chart","toolbar","show","colors","plotOptions","bar","borderRadius","horizontal","dataLabels","enabled","xaxis","categories","ChartTypes","NewWidget","props","e","selectedTable","target","value","console","log","state","Widget","EntityName","EntityId","Id","setState","Group","ValueFieldId","ValueFieldName","objectFields","selectedValueField","CalcType","defaultWidget","WidgetName","WidgetType","widget","objectTables","getData","service","then","response","Result","t","error","alert","SortBy","render","React","className","style","width","padding","textAlign","Dropdown","placeholder","optionLabel","optionValue","optionDisabled","option","onChange","ReactApexChart","type","height","id","name","htmlFor","InputText","undefined","required","onEntityChanged","showClear","filterBy","virtualScrollerOptions","itemSize","onGroupChanged","onCalcTypeChanged","onValueChanged","Button","label","onClick","onCancelButton","bind","form","onOkButton","autoFocus","Component","ColumnChartComponent","PieChartComponent","MixedChartComponent","AreaChartComponent","stroke","curve","tooltip","x","format","dateFilter","toLocaleDateString","TimelineChartComponent","CandleChartComponent","BarChartComponent","dataService","InitChart","events","dataPointSelection","event","chartContext","config","w","seriesIndex","groups","GroupItems","catItems","dataItems","values","reduce","record","CreateGroup","group","SetGroupData","groupByFieldName","valueFieldName","recordValue","currentGroupValue","key","prototype","hasOwnProperty","call","groupArray","sum","a","b","avg","WidgetCard","moreBtnToggle","useRef","widgetComponents","component","el","icon","current","toggle","OverlayPanel","ref","editBtnClicked","deleteBtnClicked","createElement","wc","ResponsiveReactGridLayout","WidthProvider","Responsive","newWidgetWidth","DashboardDesigner","useState","createRef","array12","Array","from","fill","savedLayouts","getFromStorage","savedWidgets","minimumPlaceholderRowsCount","lg","layouts","setLayouts","placeholderRowsArray","setplaceholderRowsArray","showMsg","setShowMsg","displayDialog","setDisplayDialog","widgets","setWidgets","placeholderRows","setPlaceholderRows","selectedWidget","widgetToEdit","setWidgetToEdit","renderPageHeader","WidgetTypes","addComponent","scrollHeight","componentType","toggleDialog","onLayoutChange","layout","saveToStorage","UpdatePlaceholderDimensions","deletePanel","itemIndex","findIndex","_","reject","SaveGrid","editWidget","FindWidget","setTimeout","setItem","parse","renderNewWidgetDialog","Dialog","header","visible","onHide","breakpoints","addPanel","newWidget","newWidgetPosition","EvaluateNewWidgetPosition","widgetComponent","randomIndex","getRandomInt","newPanel","y","h","minH","minW","title","widgetYPosition","widgetXPosition","maxY","max","widgetsRow","lastWidgetStartXPosition","Math","apply","map","lastWidget","lastWidgetEndXPosition","availableHorizontalSlots","layoutGridProps","cols","min","floor","random","gridLayout","document","getElementsByClassName","gridElementHeight","clientHeight","newPlaceholderRows","rowHeight","compactType","onWidthChange","md","sm","xs","xxs","useCSSTransforms","Dashboard"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/services/DataService.ts","../src/common/data-contracts/ApiQueryFilter.ts","../src/features/Dashboard/NewWidget.tsx","../src/features/Dashboard/ChartsComponents/ColumnChartComponent.tsx","../src/features/Dashboard/ChartsComponents/PieChartComponent.tsx","../src/features/Dashboard/ChartsComponents/MixedChartComponent.tsx","../src/features/Dashboard/ChartsComponents/AreaChartComponent.tsx","../src/features/Dashboard/ChartsComponents/TimelineChartComponent.tsx","../src/features/Dashboard/ChartsComponents/CandleChartComponent.tsx","../src/features/Dashboard/ChartsComponents/BarChartComponent.tsx","../src/features/Dashboard/WidgetCard.tsx","../src/features/Dashboard/DashboardDesigner.tsx","../src/index.tsx"],"sourcesContent":["import axios from \"axios\";\r\nimport { ApiQueryFilters } from \"../common/data-contracts/ApiQueryFilter\";\r\n\r\n\r\nexport class DataService{ \r\n\r\n getObjectTables(filters: ApiQueryFilters){\r\n let token: string = this.getTokenFromStorage();\r\n\r\n\t\tvar apiURL = 'http://localhost:9996/api/ObjectTableViews/getbyfilters?';\r\n\t\tapiURL = this.ConcatFiltersToURL(filters, apiURL);\r\n return axios.get(apiURL, { headers: { 'Content-Type': 'application/json', 'Token': token } });\r\n }\r\n\r\n getObjectFields(filters: ApiQueryFilters) {\r\n \r\n let token: string = this.getTokenFromStorage();\r\n\r\n\t\tvar apiURL = 'http://localhost:9996/api/ObjectFieldViews/getbyfilters?';\r\n\t\tapiURL = this.ConcatFiltersToURL(filters, apiURL);\r\n\r\n return axios.get(apiURL, { headers: { 'Content-Type': 'application/json', 'Token': token } });\r\n }\r\n\r\n getDataByFilters(filters: ApiQueryFilters,tableName: string) {\r\n \r\n let token: string = this.getTokenFromStorage();\r\n\r\n\t\tvar apiURL = `http://localhost:9996/api/${tableName}Views/getbyfilters?`;\r\n\t\tapiURL = this.ConcatFiltersToURL(filters, apiURL);\r\n\r\n return axios.get(apiURL, { headers: { 'Content-Type': 'application/json', 'Token': token } });\r\n }\r\n\r\n private ConcatFiltersToURL(filters: ApiQueryFilters, urlparameters: string)\r\n {\r\n var mykeys = Object.keys(filters);\r\n var addtionalFiltersValues: string | null = null;\r\n\r\n for (var i in mykeys) {\r\n var propName = mykeys[i];\r\n var propValue = filters[propName];\r\n var ignoreFilter = ((propName.indexOf(\"Operator\") > 0 && propValue == \"Equals\") || propName == \"AdditionalFilters\");\r\n\r\n if (urlparameters != \"?\") {\r\n urlparameters = urlparameters.concat('&');\r\n }\r\n\r\n if (!ignoreFilter) {\r\n propValue = propValue ? encodeURIComponent(propValue) : '';\r\n urlparameters = urlparameters.concat(propName.concat('=').concat(propValue));\r\n }\r\n\r\n if (propName == \"AdditionalFilters\" && propValue.length > 0) {\r\n addtionalFiltersValues = JSON.stringify(propValue);\r\n }\r\n }\r\n\r\n if (addtionalFiltersValues) {\r\n urlparameters = urlparameters.concat(\"&AdditionalFilters=\").concat(addtionalFiltersValues);\r\n }\r\n return urlparameters;\r\n }\r\n\r\n getTokenFromStorage(){\r\n return window.localStorage.getItem(\"token\") || '';\r\n }\r\n}","export class ApiQueryFilters {\r\n\r\n public PageIndex: number | null = null;\r\n public PageSize: number | null = null;\r\n public SortBy: string | null = null;\r\n public SortDirection: string | null = null;\r\n public GetCount: boolean | null = null;\r\n public Tenant: number | null = null;\r\n public AdditionalFilters: FilterItem[] = [];\r\n public ForceCacheRefresh: boolean = false;\r\n public DontApplyVirtualization: boolean = false;\r\n\r\n \r\n\r\n addAdditionalFilter(\r\n FieldName: string,\r\n FieldValue: any,\r\n FieldValue2: any,\r\n FieldValue3: any,\r\n Operator: string,\r\n IsCustom: boolean,\r\n DisplayInList: boolean,\r\n IsCustomField: boolean,\r\n FieldDataType: string,\r\n IgnoreFilter: boolean = false,\r\n IsCacheOnClient: boolean = false,\r\n ForceEnableAdd:boolean = false) {\r\n\r\n let params=new ApiQueryFiltersAddParams();\r\n params.FieldName=FieldName;\r\n params.FieldValue=FieldValue;\r\n params.FieldValue2=FieldValue2;\r\n params.FieldValue3=FieldValue3;\r\n params.Operator=Operator;\r\n params.IsCustom=IsCustom;\r\n params.DisplayInList=DisplayInList;\r\n params.IsCustomField=IsCustomField;\r\n params.FieldDataType=FieldDataType;\r\n params.IgnoreFilter=IgnoreFilter;\r\n params.IsCacheOnClient=IsCacheOnClient;\r\n params.ForceEnableAdd=ForceEnableAdd;\r\n this.pushAdditionalFilter(params);\r\n }\r\n myReplace(myString: string) {\r\n var myNewString = \"\";\r\n for (var i = 0; i < myString.length; i++)\r\n {\r\n if (myString[i] == '\"') {\r\n myNewString = myNewString + '\\\\\"';\r\n }\r\n else {\r\n myNewString = myNewString + myString[i];\r\n }\r\n }\r\n return myNewString;\r\n }\r\n removeAdditionalFilter(FieldName: string) {\r\n var item = this.AdditionalFilters.filter(d=> d.FieldName == FieldName && d.IsLookUpfilter==true)[0];\r\n if (item) {\r\n var index = this.AdditionalFilters.indexOf(item);\r\n this.AdditionalFilters.splice(index, 1);\r\n }\r\n }\r\n \r\n pushAdditionalFilter(params:ApiQueryFiltersAddParams){\r\n if (!params.IsCacheOnClient) {\r\n if (typeof (params.FieldValue) === \"string\") {\r\n if (params.FieldValue)\r\n params.FieldValue = this.myReplace(params.FieldValue);//FieldValue.replace('\"', '\\\\\"');\r\n if (params.FieldName != \"ImportersFilter\")\r\n params.FieldValue = encodeURIComponent(params.FieldValue)\r\n //FieldValue = FieldValue.replace(\"%22\", \"\\%22\");\r\n }\r\n if (typeof (params.FieldValue2) === \"string\") {\r\n if (params.FieldValue)\r\n params.FieldValue2 = this.myReplace(params.FieldValue2);//.replace('\"', '\\\\\"');\r\n params.FieldValue2 = encodeURIComponent(params.FieldValue2)\r\n //FieldValue = FieldValue.replace(\"%20\", \" \");\r\n }\r\n if (typeof (params.FieldValue3) === \"string\") {\r\n if (params.FieldValue)\r\n params.FieldValue3 = this.myReplace(params.FieldValue3);//FieldValue3.replace('\"', '\\\\\"');\r\n params.FieldValue3 = encodeURIComponent(params.FieldValue3)\r\n //FieldValue = FieldValue.replace(\"%20\", \" \");\r\n }\r\n }\r\n var existedItem = this.AdditionalFilters.find(d => d.FieldName == params.FieldName);\r\n if (!existedItem || params.ForceEnableAdd) {\r\n var item = new FilterItem(\r\n params.FieldName,\r\n params.FieldValue, \r\n params.FieldValue2,\r\n params.FieldValue3,\r\n params.Operator,\r\n params.IsCustom,\r\n params.DisplayInList,\r\n params.IsCustomField, \r\n params.FieldDataType,\r\n params.IgnoreFilter,\r\n params.IsCacheOnClient,\r\n params.IsLookUpFilter);\r\n this.AdditionalFilters.push(item);\r\n }\r\n }\r\n\r\n public queryId: string = '';\r\n public queryCode: string = '';\r\n\r\n public userid: string = '';\r\n public ObjectTableName: string = '';\r\n\r\n public Filter1Name: string | null = null;\r\n public Filter1Value: any;\r\n public Filter1Operator: string | null = null;\r\n public Filter1Value2: any;\r\n\r\n public Filter2Name: any;\r\n public Filter2Value: any;\r\n public Filter2Operator: any;\r\n public Filter2Value2: any;\r\n\r\n public Filter3Name: any;\r\n public Filter3Value: any;\r\n public Filter3Operator: any;\r\n public Filter3Value2: any;\r\n\r\n public Filter4Name: any;\r\n public Filter4Value: any;\r\n public Filter4Operator: any;\r\n public Filter4Value2: any;\r\n\r\n public Filter5Name: any;\r\n public Filter5Value: any;\r\n public Filter5Operator: any;\r\n public Filter5Value2: any;\r\n\r\n public Filter6Name: any;\r\n public Filter6Value: any;\r\n public Filter6Operator: any;\r\n public Filter6Value2: any;\r\n\r\n public Filter7Name: any;\r\n public Filter7Value: any;\r\n public Filter7Operator: any;\r\n public Filter7Value2: any;\r\n\r\n public Filter8Name: any;\r\n public Filter8Value: any;\r\n public Filter8Operator: any;\r\n public Filter8Value2: any;\r\n\r\n public Filter9Name: any;\r\n public Filter9Value: any;\r\n public Filter9Operator: any;\r\n public Filter9Value2: any;\r\n\r\n public Filter10Name: any;\r\n public Filter10Value: any;\r\n public Filter10Operator: any;\r\n public Filter10Value2: any;\r\n\r\n public GetAll: boolean = true;\r\n\r\n \r\n}\r\n\r\nexport class FilterItem {\r\n constructor(\r\n public FieldName: string,\r\n public FieldValue: any,\r\n public FieldValue2: any,\r\n public FieldValue3: any,\r\n public Operator: string,\r\n public IsCustom: boolean,\r\n public DisplayInList: boolean,\r\n public IsCustomField: boolean,\r\n public FieldDataType: string,\r\n public IgnoreFilter: boolean,\r\n public IsCacheOnClient: boolean = false,\r\n public IsLookUpfilter:boolean=false) { }\r\n \r\n\r\n}\r\nexport class ApiQueryFiltersAddParams{\r\n FieldName: string = '';\r\n FieldValue: any;\r\n FieldValue2: any;\r\n FieldValue3: any;\r\n Operator: string = '';\r\n IsCustom: boolean = false;\r\n DisplayInList: boolean = false;\r\n IsCustomField: boolean = false;\r\n FieldDataType: string = '';\r\n IgnoreFilter: boolean = false;\r\n IsCacheOnClient: boolean = false;\r\n ForceEnableAdd:boolean = false;\r\n IsLookUpFilter:boolean=false;\r\n}\r\n","import React from \"react\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Dropdown, DropdownChangeParams } from \"primereact/dropdown\";\r\n\r\nimport { Button } from \"primereact/button\";\r\n\r\nimport { DataService } from \"../../services/DataService\";\r\nimport { ApiQueryFilters } from \"../../common/data-contracts/ApiQueryFilter\";\r\nimport { Widget } from \"../../types/widget\";\r\nimport ReactApexChart from \"react-apexcharts\";\r\nimport { ChartComponentState } from \"../../types/ChartComponentState\";\r\n\r\nconst calcTypes = \r\n[{Name: \"Sum\", Disabled: false},\r\n {Name: \"Min\", Disabled: true},\r\n {Name: \"Max\", Disabled: false},\r\n {Name: \"Count\", Disabled: false},\r\n {Name: \"Average\", Disabled: true}]\r\n;\r\ninterface NewWidgetProps {\r\n onOkButton(data: Widget):any;\r\n onCancelButton():any;\r\n widget: Widget | null;\r\n\r\n}\r\n\r\ninterface NewWidgetState { \r\n Widget: Widget;\r\n objectTables: any[]; \r\n objectFields: any[];\r\n}\r\n\r\nconst chartState:ChartComponentState = {\r\n series: [\r\n {\r\n data: [10,20,30],\r\n },\r\n ],\r\n options: {\r\n chart: {\r\n toolbar:{show: false},\r\n \r\n },\r\n colors: [\"#22D792\"],\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: true,\r\n }\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n categories: ['A','B','C'],\r\n },\r\n },\r\n};\r\n\r\nconst ChartTypes = [{ Name: \"Column\", Disabled: true },{ Name: \"Area\", Disabled: false }, { Name: \"Bar\", Disabled: false }, { Name: \"Pie\", Disabled: true }, { Name: \"Donut\", Disabled: true }];\r\nclass NewWidget extends React.Component<NewWidgetProps, NewWidgetState> {\r\n constructor(props: NewWidgetProps | Readonly<NewWidgetProps>) {\r\n super(props);\r\n const defaultWidget: Widget = {\r\n WidgetName: 'New Widget',\r\n WidgetType: \"Bar\",\r\n CalcType: null,\r\n ValueFieldName: null,\r\n ValueFieldId: null,\r\n EntityName: null,\r\n EntityId: null,\r\n Group: null\r\n };\r\n this.state = {\r\n Widget: this.props.widget || defaultWidget,\r\n objectTables: [],\r\n objectFields: [], \r\n }; \r\n \r\n this.getData();\r\n }\r\n getData() {\r\n this.getObjectTables();\r\n }\r\n getObjectTables() {\r\n let service = new DataService();\r\n const filters = new ApiQueryFilters();\r\n filters.addAdditionalFilter(\r\n \"Name\",\r\n 'GLAccount,ARPayment,ARInvoice',\r\n null,\r\n null,\r\n \"InListExact\",\r\n false,\r\n false,\r\n false,\r\n \"string\"\r\n );\r\n service.getObjectTables(filters).then((response: any) => {\r\n console.log(\"getObjectTables\", response);\r\n\r\n\r\n if(response.data.Result && this.props.widget){\r\n this.selectedTable = response.data.Result.find((t: { Id: string | null | undefined; })=>t.Id === this.props.widget?.EntityId);\r\n }\r\n\r\n this.setState({ objectTables: response.data.Result });\r\n\r\n if(response.data.Result && this.props.widget){\r\n this.getObjectFields();\r\n }\r\n\r\n\r\n },(error: string)=>{\r\n alert(\"Something wrong happen, \" + error);\r\n });\r\n }\r\n getObjectFields() {\r\n let service = new DataService();\r\n const filters = new ApiQueryFilters();\r\n filters.SortBy = 'FieldName';\r\n filters.addAdditionalFilter(\r\n \"ObjectTableId\",\r\n this.state.Widget.EntityId,\r\n null,\r\n null,\r\n \"Equals\",\r\n false,\r\n false,\r\n false,\r\n \"string\"\r\n );\r\n service.getObjectFields(filters).then((response: any) => {\r\n console.log(\"getByfilters\", response);\r\n this.setState({ objectFields: response.data.Result });\r\n },(error: string)=>{\r\n alert(\"Something wrong happen, \" + error);\r\n });\r\n }\r\nselectedTable: any;\r\n onEntityChanged = (e: DropdownChangeParams) => {\r\n const selectedTable = e.target.value;\r\n this.selectedTable = selectedTable; \r\n // const selectedTable = e.value;\r\n console.log(\"onEntityChanged\",selectedTable);\r\n \r\n this.state.Widget.EntityName = selectedTable?.Name;\r\n this.state.Widget.EntityId = selectedTable?.Id;\r\n this.setState({ Widget: {...this.state.Widget} }, () => {\r\n if (selectedTable) {\r\n this.getObjectFields();\r\n } else {\r\n this.state.Widget.Group = null;\r\n this.state.Widget.ValueFieldId = null;\r\n this.state.Widget.ValueFieldName = null;\r\n this.setState({ Widget: {...this.state.Widget},\r\n objectFields: [] });\r\n }\r\n });\r\n }\r\n onGroupChanged = (e: DropdownChangeParams) => {\r\n this.state.Widget.Group = e.value;\r\n this.setState({ Widget: {...this.state.Widget} });\r\n }\r\n selectedValueField: { Id: string | null; FieldName: string | null; };\r\n onValueChanged = (e: DropdownChangeParams) => {\r\n this.selectedValueField = e.value;\r\n this.state.Widget.ValueFieldId = this.selectedValueField.Id;\r\n this.state.Widget.ValueFieldName = this.selectedValueField.FieldName;\r\n this.setState({ Widget: {...this.state.Widget} });\r\n };\r\n onCalcTypeChanged = (e: DropdownChangeParams) => {\r\n this.state.Widget.CalcType = e.value;\r\n this.setState({ Widget: {...this.state.Widget} });\r\n }\r\n render() {\r\n return (\r\n <div className=\"dialog-wrapper\">\r\n <div className=\"dialog-content container\">\r\n <div style={{ width: \"250px\", padding: '0 40px 0 0', textAlign: 'center' }}>\r\n <Dropdown\r\n style={{ width: \"160px\" }}\r\n value={this.state.Widget.WidgetType}\r\n options={ChartTypes}\r\n placeholder=\"Chart Type\"\r\n optionLabel=\"Name\"\r\n optionValue=\"Name\"\r\n optionDisabled={(option) => option?.Disabled}\r\n onChange={(e) => {\r\n this.state.Widget.WidgetType = e.value;\r\n this.setState({ Widget: { ...this.state.Widget } });\r\n }}\r\n />\r\n <br />\r\n <br />\r\n <div>\r\n {this.state.Widget.WidgetType === 'Bar' && <ReactApexChart options={chartState.options} series={chartState.series} type=\"bar\" height={\"100%\"} />}\r\n {this.state.Widget.WidgetType === 'Area' && <ReactApexChart options={chartState.options} series={chartState.series} type=\"area\" height={\"100%\"} />}\r\n </div>\r\n </div>\r\n\r\n <div>\r\n <form id=\"frm\" name=\"frm\">\r\n {/* <input type=\"submit\" opacity /> */}\r\n <div className=\"form\">\r\n {/* Name */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-name\">Name</label>\r\n <InputText\r\n id=\"widget-name\"\r\n className=\"p-inputtext-sm\"\r\n value={this.state.Widget.WidgetName || undefined}\r\n required\r\n onChange={(e) => {\r\n this.state.Widget.WidgetName = e.target.value;\r\n this.setState({ Widget: { ...this.state.Widget } });\r\n }}\r\n />\r\n </div>\r\n\r\n {/* Entity */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-Entity\">Entity</label>\r\n <Dropdown\r\n value={this.selectedTable}\r\n options={this.state.objectTables}\r\n onChange={this.onEntityChanged}\r\n optionLabel=\"Name\"\r\n // optionValue=\"Id\"\r\n filter\r\n showClear\r\n filterBy=\"Name\"\r\n placeholder=\"Select an entity\"\r\n // valueTemplate={selectedCountryTemplate}\r\n // itemTemplate={countryOptionTemplate}\r\n />\r\n </div>\r\n\r\n {/* Group */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-Entity\">Group</label>\r\n <Dropdown\r\n value={this.state.Widget.Group}\r\n options={this.state.objectFields}\r\n virtualScrollerOptions={{ itemSize: 50 }}\r\n onChange={this.onGroupChanged}\r\n optionLabel=\"FieldName\"\r\n optionValue=\"FieldName\"\r\n filter\r\n showClear\r\n filterBy=\"FieldName\"\r\n placeholder=\"Select group\"\r\n />\r\n </div>\r\n\r\n {/* CalcType */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-Entity\">Calc. Type</label>\r\n <Dropdown\r\n value={this.state.Widget.CalcType}\r\n options={calcTypes}\r\n optionLabel=\"Name\"\r\n optionValue=\"Name\"\r\n optionDisabled={(option) => option?.Disabled}\r\n onChange={this.onCalcTypeChanged}\r\n showClear\r\n required\r\n placeholder=\"Select type\"\r\n />\r\n </div>\r\n\r\n {/* Value */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-Entity\">Value</label>\r\n <Dropdown\r\n value={this.selectedValueField}\r\n options={this.state.objectFields}\r\n virtualScrollerOptions={{ itemSize: 50 }}\r\n onChange={this.onValueChanged}\r\n optionLabel=\"FieldName\"\r\n // optionValue=\"Id\"\r\n filter\r\n showClear\r\n filterBy=\"FieldName\"\r\n placeholder=\"Select value\"\r\n />\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n <div className=\"dialog-footer\">\r\n <Button\r\n label=\"Cancel\"\r\n className=\"p-button-text\"\r\n onClick={this.props.onCancelButton.bind(this)}\r\n />\r\n <Button\r\n label=\"Ok\"\r\n form=\"frm\"\r\n // icon=\"pi pi-check\"\r\n onClick={this.props.onOkButton.bind(this, { ...this.state.Widget })}\r\n autoFocus\r\n />\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default NewWidget;\r\n","import React from 'react';\r\n\r\nclass ColumnChartComponent extends React.Component {\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n\r\n \r\n }\r\n\r\n\r\n\r\n render() {\r\n return (\r\n\r\n\r\n <div id=\"chart\">\r\n </div>\r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default ColumnChartComponent;","import React from \"react\";\r\n\r\n\r\n\r\nexport class PieChartComponent extends React.Component {\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n <div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default PieChartComponent;\r\n","import React from \"react\";\r\n\r\nclass MixedChartComponent extends React.Component {\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return <div id=\"chart\"></div>;\r\n }\r\n}\r\n\r\nexport default MixedChartComponent;\r\n","import React from 'react'\r\nimport ReactApexChart from 'react-apexcharts'\r\nimport { ChartComponentProps } from '../../../types/ChartComponentProps'\r\nimport { ChartComponentState } from '../../../types/ChartComponentState'\r\n\r\nclass AreaChartComponent extends React.Component<\r\nChartComponentProps,\r\nChartComponentState\r\n> {\r\n constructor(props: ChartComponentProps | Readonly<ChartComponentProps>) {\r\n super(props)\r\n\r\n this.state = {\r\n series: [\r\n {\r\n name: 'series1',\r\n data: [31, 40, 28, 51, 42, 109, 100],\r\n },\r\n {\r\n name: 'series2',\r\n data: [11, 32, 45, 32, 34, 52, 41],\r\n },\r\n ],\r\n options: {\r\n chart: {\r\n height: 350,\r\n type: 'area',\r\n },\r\n colors: ['#22D792','#2C99F7','#FBC445','#F74E49','#717585'] ,\r\n\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n stroke: {\r\n curve: 'smooth',\r\n },\r\n xaxis: {\r\n type: 'datetime',\r\n categories: [\r\n '2018-09-19T00:00:00.000Z',\r\n '2018-09-19T01:30:00.000Z',\r\n '2018-09-19T02:30:00.000Z',\r\n '2018-09-19T03:30:00.000Z',\r\n '2018-09-19T04:30:00.000Z',\r\n '2018-09-19T05:30:00.000Z',\r\n '2018-09-19T06:30:00.000Z',\r\n ],\r\n },\r\n tooltip: {\r\n x: {\r\n format: 'dd/MM/yy HH:mm',\r\n },\r\n },\r\n },\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div id=\"chart\">\r\n {this.props.dateFilter && <div className=\"filter-label\"> Date: {this.props.dateFilter.toLocaleDateString(\"en-US\")+''}</div>}\r\n\r\n <ReactApexChart\r\n options={this.state.options}\r\n series={this.state.series}\r\n type=\"area\"\r\n height={'100%'}\r\n />\r\n </div>\r\n )\r\n }\r\n}\r\n\r\nexport default AreaChartComponent;\r\n","import React from \"react\";\r\n\r\nclass TimelineChartComponent extends React.Component {\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return <div id=\"chart\"></div>;\r\n }\r\n}\r\n\r\nexport default TimelineChartComponent;\r\n","import React from 'react'\r\n\r\nclass CandleChartComponent extends React.Component {\r\n\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n\r\n \r\n }\r\n\r\n\r\n\r\n render() {\r\n return (\r\n\r\n\r\n <div id=\"chart\">\r\n </div>\r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default CandleChartComponent\r\n","import React from \"react\";\r\nimport ReactApexChart from \"react-apexcharts\";\r\nimport { ApiQueryFilters } from \"../../../common/data-contracts/ApiQueryFilter\";\r\nimport { DataService } from \"../../../services/DataService\";\r\nimport { ChartComponentProps } from \"../../../types/ChartComponentProps\";\r\nimport { ChartComponentState } from \"../../../types/ChartComponentState\";\r\n\r\n\r\n\r\n\r\n\r\nclass BarChartComponent extends React.Component<\r\n ChartComponentProps,\r\n ChartComponentState\r\n> {\r\n\r\n data: any[] = [];\r\n constructor(props: ChartComponentProps | Readonly<ChartComponentProps>) {\r\n super(props);\r\n const filters = new ApiQueryFilters();\r\n const dataService = new DataService();\r\n if (this.props.widget?.EntityName)\r\n dataService.getDataByFilters(filters, this.props.widget.EntityName || '')\r\n .then((response: any) => {\r\n console.log(\"dataService.getDataByFilters\", response);\r\n this.data = response.data.Result;\r\n this.InitChart();\r\n })\r\n\r\n\r\n this.state = {\r\n series: [\r\n {\r\n data: [],\r\n },\r\n ],\r\n options: {\r\n chart: {\r\n type: \"bar\",\r\n height: 350,\r\n events: {\r\n dataPointSelection: function (event, chartContext, config) {\r\n const data = config.w.config.xaxis.categories[config.seriesIndex];\r\n console.log(\"Selected \" + data);\r\n },\r\n },\r\n },\r\n colors: [\"#22D792\", \"#2C99F7\", \"#FBC445\", \"#F74E49\", \"#717585\"],\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: true,\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n categories: [],\r\n },\r\n },\r\n };\r\n\r\n }\r\n\r\n\r\n private InitChart() {\r\n const groups = this.GroupItems();\r\n\r\n\r\n const catItems = Object.keys(groups);\r\n const dataItems: any[] = Object.values(groups);\r\n\r\n\r\n this.setState({\r\n series: [\r\n {\r\n data: dataItems,\r\n },\r\n ],\r\n options: {\r\n chart: {\r\n type: \"bar\",\r\n height: 350,\r\n events: {\r\n dataPointSelection: function (event, chartContext, config) {\r\n const data = config.w.config.xaxis.categories[config.seriesIndex];\r\n console.log(\"Selected \" + data);\r\n },\r\n },\r\n },\r\n colors: [\"#22D792\", \"#2C99F7\", \"#FBC445\", \"#F74E49\", \"#717585\"],\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: true,\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n categories: catItems,\r\n },\r\n },\r\n });\r\n }\r\n // private GroupItems()\r\n // {\r\n // return this.data.reduce((groups, record) =>\r\n // {\r\n // const fieldName = this.props.widget.ValueFieldName + '';\r\n\r\n // const group = (groups[record] || []);\r\n // group.push(record);\r\n\r\n // const recordCategory = record[this.props.widget.ValueFieldName + ''];\r\n // groups[record[fieldName]] = groups[recordCategory] + 1 || 0;\r\n // return groups;\r\n // }, {});\r\n // }\r\n private GroupItems() {\r\n let groups = this.data.reduce((groups, record) => {\r\n const CreateGroup = (groups: any, record: any) => {\r\n const group = (groups[record] || []);\r\n group.push(record);\r\n }\r\n const SetGroupData = () => {\r\n const groupByFieldName = this.props.widget.Group + \"\";\r\n const valueFieldName = this.props.widget.ValueFieldName + \"\";\r\n const recordCategory = record[groupByFieldName];\r\n const recordValue = record[valueFieldName];\r\n let currentGroupValue = groups[record[groupByFieldName]];\r\n\r\n switch (this.props.widget.CalcType) {\r\n case \"Count\": {\r\n if (!currentGroupValue) currentGroupValue = 0;\r\n currentGroupValue = currentGroupValue + 1;\r\n break;\r\n }\r\n case \"Sum\": {\r\n if (!currentGroupValue) currentGroupValue = 0;\r\n currentGroupValue = currentGroupValue + recordValue;\r\n break;\r\n }\r\n case \"Max\": {\r\n if (!currentGroupValue) currentGroupValue = -9999999999999;\r\n\r\n if (recordValue > currentGroupValue)\r\n currentGroupValue = recordValue;\r\n break;\r\n }\r\n case \"Min\": {\r\n if (!currentGroupValue) currentGroupValue = 9999999999999;\r\n\r\n if (recordValue < currentGroupValue)\r\n currentGroupValue = recordValue;\r\n break;\r\n }\r\n case \"Average\": {\r\n if (!currentGroupValue) currentGroupValue = [];\r\n currentGroupValue.push(recordValue);\r\n break;\r\n }\r\n }\r\n\r\n groups[record[groupByFieldName]] = currentGroupValue;\r\n };\r\n\r\n CreateGroup(groups, record);\r\n SetGroupData();\r\n return groups;\r\n }, {});\r\n\r\n if (this.props.widget.CalcType == \"Average\") {\r\n for (const key in groups) {\r\n if (Object.prototype.hasOwnProperty.call(groups, key)) {\r\n const groupArray: any[] = groups[key];\r\n let sum = groupArray.reduce((a, b) => a + (b[key] || 0), 0);\r\n let avg = sum / groupArray.length;\r\n groups[key] = avg;\r\n }\r\n }\r\n }\r\n return groups;\r\n }\r\n\r\n render() {\r\n return (\r\n\r\n <div id=\"chart\">\r\n <div>\r\n {this.props.dateFilter && <div className=\"filter-label\"> Date: {this.props.dateFilter.toLocaleDateString(\"en-US\") + ''}</div>}\r\n </div>\r\n {/* <div>\r\n {this.props.widget?.EntityName}: {this.props.widget?.CalcType} of {this.props.widget?.ValueFieldName} \r\n </div> */}\r\n <ReactApexChart\r\n options={this.state.options}\r\n series={this.state.series}\r\n type=\"bar\"\r\n height={\"100%\"}\r\n />\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default BarChartComponent;\r\n","import { stat } from \"fs\";\r\nimport { Button } from \"primereact/button\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport AreaChartComponent from \"./ChartsComponents/AreaChartComponent\";\r\nimport BarChartComponent from \"./ChartsComponents/BarChartComponent\";\r\nimport CandleChartComponent from \"./ChartsComponents/CandleChartComponent\";\r\nimport ColumnChartComponent from \"./ChartsComponents/ColumnChartComponent\";\r\nimport MixedChartComponent from \"./ChartsComponents/MixedChartComponent\";\r\nimport PieChartComponent from \"./ChartsComponents/PieChartComponent\";\r\nimport TimelineChartComponent from \"./ChartsComponents/TimelineChartComponent\";\r\n\r\n\r\ntype WidgetCardProps = {\r\n editBtnClicked(widget: any):any;\r\n deleteBtnClicked(i: any):any;\r\n widget: any | null;\r\n el: any;\r\n dateFilter: any;\r\n}\r\n\r\n\r\nconst WidgetCard = (props: WidgetCardProps, state: any) => {\r\n const moreBtnToggle = useRef<OverlayPanel>(null);\r\n\r\n const widgetComponents: any[] = [\r\n { type: \"Bar\", component: BarChartComponent },\r\n { type: \"Column\", component: ColumnChartComponent },\r\n { type: \"Pie\", component: PieChartComponent },\r\n { type: \"Mixed\", component: MixedChartComponent },\r\n { type: \"Timeline\", component: TimelineChartComponent },\r\n { type: \"Candle\", component: CandleChartComponent },\r\n { type: \"Area\", component: AreaChartComponent },\r\n ];\r\n\r\n return (\r\n <div className=\"panel\" key={props.el.i}>\r\n <header>\r\n <h1>{props.widget?.WidgetName || \"not set\"}</h1>\r\n <Button\r\n icon=\"pi pi-ellipsis-v\"\r\n className=\"p-button-lg p-button-rounded p-button-text\"\r\n onClick={(e) => moreBtnToggle.current?.toggle(e)}\r\n />\r\n\r\n <OverlayPanel ref={moreBtnToggle} className=\"buttons-overlay\">\r\n <div className=\"buttons-list\">\r\n <div onClick={() => props.editBtnClicked(props.widget)} > Edit </div>\r\n <div onClick={() => props.deleteBtnClicked(props.el.i)} >Remove</div>\r\n </div>\r\n </OverlayPanel>\r\n </header>\r\n\r\n <div className=\"dashboard-widget\">\r\n {React.createElement(\r\n widgetComponents.find((wc) => wc.type === props.widget.WidgetType)\r\n ?.component,\r\n {\r\n key: props.el.i,\r\n dateFilter: props.dateFilter,\r\n widget: props.widget,\r\n }\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default WidgetCard;\r\n","\r\n\r\nimport { WidthProvider, Responsive } from \"react-grid-layout\";\r\n\r\nimport React, { createRef, useEffect, useRef, useState } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport _, { find } from \"lodash\";\r\nimport { Ripple } from \"primereact/ripple\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport NewWidget from \"./NewWidget\";\r\nimport { Calendar } from 'primereact/calendar';\r\n\r\nimport ColumnChartComponent from \"./ChartsComponents/ColumnChartComponent\";\r\nimport PieChartComponent from \"./ChartsComponents/PieChartComponent\";\r\nimport MixedChartComponent from \"./ChartsComponents/MixedChartComponent\";\r\nimport AreaChartComponent from \"./ChartsComponents/AreaChartComponent\";\r\nimport TimelineChartComponent from \"./ChartsComponents/TimelineChartComponent\";\r\nimport CandleChartComponent from \"./ChartsComponents/CandleChartComponent\";\r\nimport BarChartComponent from \"./ChartsComponents/BarChartComponent\";\r\nimport { WidgetComponent } from \"../../types/WidgetComponent\";\r\nimport { Widget } from \"../../types/widget\";\r\nimport WidgetCard from \"./WidgetCard\";\r\n\r\nconst ResponsiveReactGridLayout = WidthProvider(Responsive);\r\nconst newWidgetWidth = 3;\r\n\r\n\r\nconst DashboardDesigner = () => {\r\n\r\n const [widgetButtonToggle, setWidgetButtonToggle] = useState(createRef<OverlayPanel>());\r\n const [addWidgetButtonToggle, setAddWidgetButtonToggle] = useState(createRef<OverlayPanel>());\r\n const [widgetComponents, setWidgetComponents] = useState([\r\n { type: \"Bar\", component: BarChartComponent },\r\n { type: \"Column\", component: ColumnChartComponent },\r\n { type: \"Pie\", component: PieChartComponent },\r\n { type: \"Mixed\", component: MixedChartComponent },\r\n { type: \"Timeline\", component: TimelineChartComponent },\r\n { type: \"Candle\", component: CandleChartComponent },\r\n { type: \"Area\", component: AreaChartComponent },\r\n ]);\r\n const array12 = Array.from({ length: 12 }).fill(null);\r\n var savedLayouts = getFromStorage(\"grid-layout\");\r\n var savedWidgets = getFromStorage(\"grid-widgets\");\r\n const minimumPlaceholderRowsCount = 12;\r\n const [layouts, setLayouts] = useState(savedLayouts || { lg: [] });\r\n const [placeholderRowsArray, setplaceholderRowsArray] = useState(Array.from({ length: minimumPlaceholderRowsCount }).fill(null));\r\n const [showMsg, setShowMsg] = useState(false);\r\n const [dateFilter, setDateFilter] = useState<Date | Date[] | undefined>(undefined);\r\n const [displayDialog, setDisplayDialog] = useState(false);\r\n const [dashboardTitle, setDashboardTitle] = useState(\"\");\r\n const [widgets, setWidgets] = useState(savedWidgets || []);\r\n const [placeholderRows, setPlaceholderRows] = useState(minimumPlaceholderRowsCount);\r\n const [selectedWidget, setSelectedWidget] = useState();\r\n const [widgetToEdit, setWidgetToEdit] = useState<Widget | null>(null);\r\n const renderPageHeader = () => {\r\n return (\r\n <div className=\"dl-dashboard-header\">\r\n <div className=\"dl-heder-row\">\r\n {/* <Calendar\r\n value={dateFilter}\r\n showIcon={true}\r\n onChange={(e) => setDateFilter(e.value)}\r\n placeholder=\"filter by date...\"\r\n ></Calendar> */}\r\n <div style={{ width: '192px' }}>\r\n <Dropdown\r\n value={selectedWidget}\r\n options={WidgetTypes}\r\n optionValue=\"Name\"\r\n optionLabel=\"Name\"\r\n onChange={(e) => addComponent(e.value)}\r\n placeholder=\"Add Component\"\r\n optionDisabled={(option) => {\r\n return option?.Disabled;\r\n }}\r\n scrollHeight=\"300px\"\r\n />\r\n </div>\r\n\r\n </div>\r\n </div>\r\n );\r\n }\r\n function addComponent(componentType) {\r\n toggleDialog();\r\n }\r\n function reset() {\r\n window.localStorage.clear();\r\n window.location.reload();\r\n }\r\n\r\n // function renderGridWidgetsPlaceholder() {\r\n // console.log(placeholderRows)\r\n // return (\r\n // <div className=\"dl-grid dl-grid--bordered\">\r\n // {[...Array(placeholderRows)].map((e, i) =>\r\n // [...Array(layoutGridProps.cols.lg)].map((e, i) => (\r\n // <div key={i}\r\n // style={{\r\n // height: layoutGridProps.rowHeight,\r\n // }}\r\n // ></div>\r\n // ))\r\n // )}\r\n // </div>\r\n // );\r\n // }\r\n\r\n function onLayoutChange(layout: any, layouts) {\r\n console.log(layout, layouts);\r\n saveToStorage(\"grid-layout\", layouts);\r\n saveToStorage(\"grid-widgets\", widgets);\r\n setLayouts(layouts);\r\n UpdatePlaceholderDimensions();\r\n }\r\n function renderWidgetComponent(el: any) {\r\n const widget = FindWidget(el);\r\n\r\n return (\r\n <div key={el.i}>\r\n <WidgetCard\r\n key={el.i}\r\n widget={widget}\r\n el={el}\r\n dateFilter={dateFilter}\r\n editBtnClicked={editWidget}\r\n deleteBtnClicked={deletePanel}\r\n />\r\n </div>\r\n );\r\n }\r\n function deletePanel(i) {\r\n let layout = layouts[\"lg\"];\r\n var itemIndex = layout.findIndex((d) => d.i === i);\r\n layout.splice(itemIndex, 1);\r\n setLayouts({ lg: [...layout] });\r\n setWidgets(_.reject(widgets, { i: i }));\r\n SaveGrid();\r\n };\r\n function SaveGrid() {\r\n saveToStorage(\"grid-layout\", layouts);\r\n saveToStorage(\"grid-widgets\", widgets);\r\n }\r\n function editWidget(widget: any) {\r\n setWidgetToEdit(widget);\r\n toggleDialog();\r\n };\r\n function FindWidget(el: any) {\r\n return widgets.find((d) => d.i === el.i);\r\n }\r\n function saveToStorage(key, value) {\r\n setShowMsg(true);\r\n setTimeout(() => {\r\n setShowMsg(false);\r\n }, 2000);\r\n window.localStorage.setItem(key, JSON.stringify(value));\r\n };\r\n function getFromStorage(key) {\r\n const layout: any = window.localStorage.getItem(key);\r\n return JSON.parse(layout);\r\n };\r\n function toggleDialog() {\r\n setDisplayDialog(!displayDialog);\r\n }\r\n function renderNewWidgetDialog() {\r\n\r\n return (\r\n <Dialog\r\n\r\n header={widgetToEdit ? \"Edit Chart\" : \"New Chart\"}\r\n visible={displayDialog}\r\n onHide={toggleDialog}\r\n breakpoints={{ \"850px\": \"95vw\", \"600px\": \"100vw\" }}\r\n style={{ width: \"800px\" }}\r\n >\r\n <NewWidget\r\n onOkButton={onOkButton}\r\n onCancelButton={onCancelButton}\r\n widget={widgetToEdit}\r\n />\r\n </Dialog>\r\n );\r\n }\r\n function addPanel(newWidget: Widget) {\r\n\r\n let newWidgetPosition = EvaluateNewWidgetPosition();\r\n\r\n const widgetComponent = widgetComponents.find(\r\n (wc) => wc.type === newWidget.WidgetType\r\n );\r\n\r\n const randomIndex = getRandomInt(100, 999);\r\n const newPanel = {\r\n i: \"\" + randomIndex,\r\n x: newWidgetPosition.x,\r\n y: newWidgetPosition.y,\r\n w: newWidgetWidth,\r\n h: 5,\r\n minH: 5,\r\n minW: 3,\r\n };\r\n\r\n widgets.push({\r\n i: \"\" + randomIndex,\r\n title: newWidget.WidgetName,\r\n component: widgetComponent?.component,\r\n ...newWidget,\r\n });\r\n setLayouts({ lg: layouts[\"lg\"].concat(newPanel) });\r\n setWidgets(widgets);\r\n\r\n };\r\n\r\n function EvaluateNewWidgetPosition() {\r\n let widgetYPosition = 0;\r\n let widgetXPosition = 0;\r\n let layout: { x: number, y: number, w: number }[] = layouts[\"lg\"];\r\n const maxY = layout.reduce((max, widget) => {\r\n if (widget.y > max) max = widget.y;\r\n return max;\r\n }, 0);\r\n\r\n for (let y = 0; y <= maxY; y++) {\r\n const widgetsRow = layout.filter(d => d.y == y);\r\n const lastWidgetStartXPosition = Math.max.apply(Math, widgetsRow.map(a => a.x));\r\n const lastWidget: any = widgetsRow.find(a => a.x == lastWidgetStartXPosition);\r\n if (lastWidget) {\r\n const lastWidgetEndXPosition = lastWidgetStartXPosition + lastWidget.w;\r\n const availableHorizontalSlots = layoutGridProps.cols.lg - lastWidgetEndXPosition;\r\n if (availableHorizontalSlots >= newWidgetWidth) {\r\n widgetYPosition = y;\r\n widgetXPosition = lastWidgetEndXPosition;\r\n return { x: widgetXPosition, y: widgetYPosition };\r\n\r\n } else {\r\n widgetYPosition = y + 1;\r\n }\r\n } else {\r\n widgetYPosition = y + 1;\r\n }\r\n }\r\n\r\n return { x: widgetXPosition, y: widgetYPosition };\r\n }\r\n function onOkButton(data: any) {\r\n setWidgetToEdit(null);\r\n toggleDialog();\r\n addPanel(data);\r\n };\r\n function onCancelButton() {\r\n setWidgetToEdit(null);\r\n toggleDialog();\r\n };\r\n function getRandomInt(min, max) {\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n }\r\n\r\n // useEffect(() => {\r\n\r\n // });\r\n function UpdatePlaceholderDimensions() {\r\n \r\n var gridLayout = document.getElementsByClassName('react-grid-layout')\r\n if (!gridLayout)\r\n return;\r\n const gridElementHeight = gridLayout[0]?.clientHeight;\r\n\r\n let newPlaceholderRows = Math.floor(gridElementHeight / layoutGridProps.rowHeight);\r\n newPlaceholderRows = newPlaceholderRows < minimumPlaceholderRowsCount ? minimumPlaceholderRowsCount : newPlaceholderRows;\r\n setPlaceholderRows(newPlaceholderRows)\r\n setplaceholderRowsArray(Array.from({ length: newPlaceholderRows }).fill(null));\r\n }\r\n return (<div className=\"dl-full-hight\">\r\n <div className=\"dl-box\">\r\n <div className=\"dl-row dl-header\">\r\n {renderPageHeader()}\r\n </div>\r\n <div className=\"dl-row dl-content\">\r\n <div className=\"dl-grid-container\">\r\n {/* {renderGridWidgetsPlaceholder()} */}\r\n <div className=\"dl-grid dl-grid--bordered\">\r\n {placeholderRowsArray.map((e, i) =>\r\n array12.map((e, i) => (\r\n <div key={i}\r\n style={{\r\n height: layoutGridProps.rowHeight,\r\n }}\r\n ></div>\r\n ))\r\n )}\r\n </div>\r\n\r\n\r\n <ResponsiveReactGridLayout\r\n {...layoutGridProps}\r\n layouts={layouts}\r\n compactType=\"vertical\"\r\n\r\n onWidthChange={() => UpdatePlaceholderDimensions()}\r\n onLayoutChange={(layout, layouts) =>\r\n onLayoutChange(layout, layouts)\r\n }\r\n >\r\n {layouts[\"lg\"].map((el) =>\r\n\r\n <div key={el.i}>\r\n <WidgetCard\r\n key={el.i}\r\n widget={FindWidget(el)}\r\n el={el}\r\n dateFilter={dateFilter}\r\n editBtnClicked={editWidget}\r\n deleteBtnClicked={deletePanel}\r\n />\r\n </div>\r\n )}\r\n </ResponsiveReactGridLayout>\r\n </div>\r\n\r\n </div>\r\n {/* <div className=\"dl-row dl-footer\">\r\n <p><b>footer</b> (fixed height)</p>\r\n </div> */}\r\n </div>\r\n {renderNewWidgetDialog()}\r\n\r\n\r\n\r\n\r\n\r\n </div>);\r\n\r\n}\r\n\r\n\r\nexport const layoutGridProps = {\r\n rowHeight: 50,\r\n className: \"layout\",\r\n cols: { lg: 12, md: 6, sm: 2, xs: 1, xxs: 1 },\r\n useCSSTransforms: true,\r\n}\r\n\r\n\r\n\r\n\r\nexport const WidgetTypes = [\r\n { Name: \"Filter\", Disabled: true },\r\n { Name: \"Chart\", Disabled: false },\r\n { Name: \"Data Table\", Disabled: true },\r\n { Name: \"Pivot Table\", Disabled: true },\r\n { Name: \"KPI\", Disabled: true },\r\n { Name: \"Gauge\", Disabled: true },\r\n];\r\nexport const widgetComponents = [\r\n { type: \"Bar\", component: BarChartComponent },\r\n { type: \"Column\", component: ColumnChartComponent },\r\n { type: \"Pie\", component: PieChartComponent },\r\n { type: \"Mixed\", component: MixedChartComponent },\r\n { type: \"Timeline\", component: TimelineChartComponent },\r\n { type: \"Candle\", component: CandleChartComponent },\r\n { type: \"Area\", component: AreaChartComponent },\r\n];\r\n\r\n\r\nexport default DashboardDesigner;\r\n","import * as React from 'react'\nimport DashboardDesigner from './features/Dashboard/DashboardDesigner'\nimport \"./styles.module.css\"\ntype DashboardProps={token:string};\nconst Dashboard = (props:DashboardProps) => {\n localStorage.setItem(\"token\", props?.token);\n\n return (\n <div className='dl-dashboard-body'>\n <DashboardDesigner></DashboardDesigner>\n </div>\n )\n}\nexport default Dashboard;"],"names":["DataService","getObjectTables","filters","token","getTokenFromStorage","apiURL","ConcatFiltersToURL","axios","get","headers","getObjectFields","getDataByFilters","tableName","urlparameters","mykeys","Object","keys","addtionalFiltersValues","i","propName","propValue","ignoreFilter","indexOf","concat","encodeURIComponent","length","JSON","stringify","window","localStorage","getItem","ApiQueryFilters","addAdditionalFilter","FieldName","FieldValue","FieldValue2","FieldValue3","Operator","IsCustom","DisplayInList","IsCustomField","FieldDataType","IgnoreFilter","IsCacheOnClient","ForceEnableAdd","params","ApiQueryFiltersAddParams","pushAdditionalFilter","myReplace","myString","myNewString","removeAdditionalFilter","item","AdditionalFilters","filter","d","IsLookUpfilter","index","splice","existedItem","find","FilterItem","IsLookUpFilter","push","calcTypes","Name","Disabled","chartState","series","data","options","chart","toolbar","show","colors","plotOptions","bar","borderRadius","horizontal","dataLabels","enabled","xaxis","categories","ChartTypes","NewWidget","props","e","selectedTable","target","value","console","log","state","Widget","EntityName","EntityId","Id","setState","Group","ValueFieldId","ValueFieldName","objectFields","selectedValueField","CalcType","defaultWidget","WidgetName","WidgetType","widget","objectTables","getData","service","then","response","Result","t","error","alert","SortBy","render","React","className","style","width","padding","textAlign","Dropdown","placeholder","optionLabel","optionValue","optionDisabled","option","onChange","ReactApexChart","type","height","id","name","htmlFor","InputText","undefined","required","onEntityChanged","showClear","filterBy","virtualScrollerOptions","itemSize","onGroupChanged","onCalcTypeChanged","onValueChanged","Button","label","onClick","onCancelButton","bind","form","onOkButton","autoFocus","Component","ColumnChartComponent","PieChartComponent","MixedChartComponent","AreaChartComponent","stroke","curve","tooltip","x","format","dateFilter","toLocaleDateString","TimelineChartComponent","CandleChartComponent","BarChartComponent","dataService","InitChart","events","dataPointSelection","event","chartContext","config","w","seriesIndex","groups","GroupItems","catItems","dataItems","values","reduce","record","CreateGroup","group","SetGroupData","groupByFieldName","valueFieldName","recordValue","currentGroupValue","key","prototype","hasOwnProperty","call","groupArray","sum","a","b","avg","WidgetCard","moreBtnToggle","useRef","widgetComponents","component","el","icon","current","toggle","OverlayPanel","ref","editBtnClicked","deleteBtnClicked","createElement","wc","ResponsiveReactGridLayout","WidthProvider","Responsive","newWidgetWidth","DashboardDesigner","useState","createRef","array12","Array","from","fill","savedLayouts","getFromStorage","savedWidgets","minimumPlaceholderRowsCount","lg","layouts","setLayouts","placeholderRowsArray","setplaceholderRowsArray","showMsg","setShowMsg","displayDialog","setDisplayDialog","widgets","setWidgets","placeholderRows","setPlaceholderRows","selectedWidget","widgetToEdit","setWidgetToEdit","renderPageHeader","WidgetTypes","addComponent","scrollHeight","componentType","toggleDialog","onLayoutChange","layout","saveToStorage","UpdatePlaceholderDimensions","deletePanel","itemIndex","findIndex","_","reject","SaveGrid","editWidget","FindWidget","setTimeout","setItem","parse","renderNewWidgetDialog","Dialog","header","visible","onHide","breakpoints","addPanel","newWidget","newWidgetPosition","EvaluateNewWidgetPosition","widgetComponent","randomIndex","getRandomInt","newPanel","y","h","minH","minW","title","widgetYPosition","widgetXPosition","maxY","max","widgetsRow","lastWidgetStartXPosition","Math","apply","map","lastWidget","lastWidgetEndXPosition","availableHorizontalSlots","layoutGridProps","cols","min","floor","random","gridLayout","document","getElementsByClassName","gridElementHeight","clientHeight","newPlaceholderRows","rowHeight","compactType","onWidthChange","md","sm","xs","xxs","useCSSTransforms","Dashboard"],"mappings":"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"}
|
package/dist/index.modern.js
CHANGED
|
@@ -1064,7 +1064,7 @@ var DashboardDesigner = function DashboardDesigner() {
|
|
|
1064
1064
|
setWidgetToEdit = _useState13[1];
|
|
1065
1065
|
|
|
1066
1066
|
var renderPageHeader = function renderPageHeader() {
|
|
1067
|
-
return React__default.createElement("
|
|
1067
|
+
return React__default.createElement("div", {
|
|
1068
1068
|
className: "dl-dashboard-header"
|
|
1069
1069
|
}, React__default.createElement("div", {
|
|
1070
1070
|
className: "dl-heder-row"
|
package/dist/index.modern.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.modern.js","sources":["../src/services/DataService.ts","../src/common/data-contracts/ApiQueryFilter.ts","../src/features/Dashboard/NewWidget.tsx","../src/features/Dashboard/ChartsComponents/ColumnChartComponent.tsx","../src/features/Dashboard/ChartsComponents/PieChartComponent.tsx","../src/features/Dashboard/ChartsComponents/MixedChartComponent.tsx","../src/features/Dashboard/ChartsComponents/AreaChartComponent.tsx","../src/features/Dashboard/ChartsComponents/TimelineChartComponent.tsx","../src/features/Dashboard/ChartsComponents/CandleChartComponent.tsx","../src/features/Dashboard/ChartsComponents/BarChartComponent.tsx","../src/features/Dashboard/WidgetCard.tsx","../src/features/Dashboard/DashboardDesigner.tsx","../src/index.tsx"],"sourcesContent":["import axios from \"axios\";\r\nimport { ApiQueryFilters } from \"../common/data-contracts/ApiQueryFilter\";\r\n\r\n\r\nexport class DataService{ \r\n\r\n getObjectTables(filters: ApiQueryFilters){\r\n let token: string = this.getTokenFromStorage();\r\n\r\n\t\tvar apiURL = 'http://localhost:9996/api/ObjectTableViews/getbyfilters?';\r\n\t\tapiURL = this.ConcatFiltersToURL(filters, apiURL);\r\n return axios.get(apiURL, { headers: { 'Content-Type': 'application/json', 'Token': token } });\r\n }\r\n\r\n getObjectFields(filters: ApiQueryFilters) {\r\n \r\n let token: string = this.getTokenFromStorage();\r\n\r\n\t\tvar apiURL = 'http://localhost:9996/api/ObjectFieldViews/getbyfilters?';\r\n\t\tapiURL = this.ConcatFiltersToURL(filters, apiURL);\r\n\r\n return axios.get(apiURL, { headers: { 'Content-Type': 'application/json', 'Token': token } });\r\n }\r\n\r\n getDataByFilters(filters: ApiQueryFilters,tableName: string) {\r\n \r\n let token: string = this.getTokenFromStorage();\r\n\r\n\t\tvar apiURL = `http://localhost:9996/api/${tableName}Views/getbyfilters?`;\r\n\t\tapiURL = this.ConcatFiltersToURL(filters, apiURL);\r\n\r\n return axios.get(apiURL, { headers: { 'Content-Type': 'application/json', 'Token': token } });\r\n }\r\n\r\n private ConcatFiltersToURL(filters: ApiQueryFilters, urlparameters: string)\r\n {\r\n var mykeys = Object.keys(filters);\r\n var addtionalFiltersValues: string | null = null;\r\n\r\n for (var i in mykeys) {\r\n var propName = mykeys[i];\r\n var propValue = filters[propName];\r\n var ignoreFilter = ((propName.indexOf(\"Operator\") > 0 && propValue == \"Equals\") || propName == \"AdditionalFilters\");\r\n\r\n if (urlparameters != \"?\") {\r\n urlparameters = urlparameters.concat('&');\r\n }\r\n\r\n if (!ignoreFilter) {\r\n propValue = propValue ? encodeURIComponent(propValue) : '';\r\n urlparameters = urlparameters.concat(propName.concat('=').concat(propValue));\r\n }\r\n\r\n if (propName == \"AdditionalFilters\" && propValue.length > 0) {\r\n addtionalFiltersValues = JSON.stringify(propValue);\r\n }\r\n }\r\n\r\n if (addtionalFiltersValues) {\r\n urlparameters = urlparameters.concat(\"&AdditionalFilters=\").concat(addtionalFiltersValues);\r\n }\r\n return urlparameters;\r\n }\r\n\r\n getTokenFromStorage(){\r\n return window.localStorage.getItem(\"token\") || '';\r\n }\r\n}","export class ApiQueryFilters {\r\n\r\n public PageIndex: number | null = null;\r\n public PageSize: number | null = null;\r\n public SortBy: string | null = null;\r\n public SortDirection: string | null = null;\r\n public GetCount: boolean | null = null;\r\n public Tenant: number | null = null;\r\n public AdditionalFilters: FilterItem[] = [];\r\n public ForceCacheRefresh: boolean = false;\r\n public DontApplyVirtualization: boolean = false;\r\n\r\n \r\n\r\n addAdditionalFilter(\r\n FieldName: string,\r\n FieldValue: any,\r\n FieldValue2: any,\r\n FieldValue3: any,\r\n Operator: string,\r\n IsCustom: boolean,\r\n DisplayInList: boolean,\r\n IsCustomField: boolean,\r\n FieldDataType: string,\r\n IgnoreFilter: boolean = false,\r\n IsCacheOnClient: boolean = false,\r\n ForceEnableAdd:boolean = false) {\r\n\r\n let params=new ApiQueryFiltersAddParams();\r\n params.FieldName=FieldName;\r\n params.FieldValue=FieldValue;\r\n params.FieldValue2=FieldValue2;\r\n params.FieldValue3=FieldValue3;\r\n params.Operator=Operator;\r\n params.IsCustom=IsCustom;\r\n params.DisplayInList=DisplayInList;\r\n params.IsCustomField=IsCustomField;\r\n params.FieldDataType=FieldDataType;\r\n params.IgnoreFilter=IgnoreFilter;\r\n params.IsCacheOnClient=IsCacheOnClient;\r\n params.ForceEnableAdd=ForceEnableAdd;\r\n this.pushAdditionalFilter(params);\r\n }\r\n myReplace(myString: string) {\r\n var myNewString = \"\";\r\n for (var i = 0; i < myString.length; i++)\r\n {\r\n if (myString[i] == '\"') {\r\n myNewString = myNewString + '\\\\\"';\r\n }\r\n else {\r\n myNewString = myNewString + myString[i];\r\n }\r\n }\r\n return myNewString;\r\n }\r\n removeAdditionalFilter(FieldName: string) {\r\n var item = this.AdditionalFilters.filter(d=> d.FieldName == FieldName && d.IsLookUpfilter==true)[0];\r\n if (item) {\r\n var index = this.AdditionalFilters.indexOf(item);\r\n this.AdditionalFilters.splice(index, 1);\r\n }\r\n }\r\n \r\n pushAdditionalFilter(params:ApiQueryFiltersAddParams){\r\n if (!params.IsCacheOnClient) {\r\n if (typeof (params.FieldValue) === \"string\") {\r\n if (params.FieldValue)\r\n params.FieldValue = this.myReplace(params.FieldValue);//FieldValue.replace('\"', '\\\\\"');\r\n if (params.FieldName != \"ImportersFilter\")\r\n params.FieldValue = encodeURIComponent(params.FieldValue)\r\n //FieldValue = FieldValue.replace(\"%22\", \"\\%22\");\r\n }\r\n if (typeof (params.FieldValue2) === \"string\") {\r\n if (params.FieldValue)\r\n params.FieldValue2 = this.myReplace(params.FieldValue2);//.replace('\"', '\\\\\"');\r\n params.FieldValue2 = encodeURIComponent(params.FieldValue2)\r\n //FieldValue = FieldValue.replace(\"%20\", \" \");\r\n }\r\n if (typeof (params.FieldValue3) === \"string\") {\r\n if (params.FieldValue)\r\n params.FieldValue3 = this.myReplace(params.FieldValue3);//FieldValue3.replace('\"', '\\\\\"');\r\n params.FieldValue3 = encodeURIComponent(params.FieldValue3)\r\n //FieldValue = FieldValue.replace(\"%20\", \" \");\r\n }\r\n }\r\n var existedItem = this.AdditionalFilters.find(d => d.FieldName == params.FieldName);\r\n if (!existedItem || params.ForceEnableAdd) {\r\n var item = new FilterItem(\r\n params.FieldName,\r\n params.FieldValue, \r\n params.FieldValue2,\r\n params.FieldValue3,\r\n params.Operator,\r\n params.IsCustom,\r\n params.DisplayInList,\r\n params.IsCustomField, \r\n params.FieldDataType,\r\n params.IgnoreFilter,\r\n params.IsCacheOnClient,\r\n params.IsLookUpFilter);\r\n this.AdditionalFilters.push(item);\r\n }\r\n }\r\n\r\n public queryId: string = '';\r\n public queryCode: string = '';\r\n\r\n public userid: string = '';\r\n public ObjectTableName: string = '';\r\n\r\n public Filter1Name: string | null = null;\r\n public Filter1Value: any;\r\n public Filter1Operator: string | null = null;\r\n public Filter1Value2: any;\r\n\r\n public Filter2Name: any;\r\n public Filter2Value: any;\r\n public Filter2Operator: any;\r\n public Filter2Value2: any;\r\n\r\n public Filter3Name: any;\r\n public Filter3Value: any;\r\n public Filter3Operator: any;\r\n public Filter3Value2: any;\r\n\r\n public Filter4Name: any;\r\n public Filter4Value: any;\r\n public Filter4Operator: any;\r\n public Filter4Value2: any;\r\n\r\n public Filter5Name: any;\r\n public Filter5Value: any;\r\n public Filter5Operator: any;\r\n public Filter5Value2: any;\r\n\r\n public Filter6Name: any;\r\n public Filter6Value: any;\r\n public Filter6Operator: any;\r\n public Filter6Value2: any;\r\n\r\n public Filter7Name: any;\r\n public Filter7Value: any;\r\n public Filter7Operator: any;\r\n public Filter7Value2: any;\r\n\r\n public Filter8Name: any;\r\n public Filter8Value: any;\r\n public Filter8Operator: any;\r\n public Filter8Value2: any;\r\n\r\n public Filter9Name: any;\r\n public Filter9Value: any;\r\n public Filter9Operator: any;\r\n public Filter9Value2: any;\r\n\r\n public Filter10Name: any;\r\n public Filter10Value: any;\r\n public Filter10Operator: any;\r\n public Filter10Value2: any;\r\n\r\n public GetAll: boolean = true;\r\n\r\n \r\n}\r\n\r\nexport class FilterItem {\r\n constructor(\r\n public FieldName: string,\r\n public FieldValue: any,\r\n public FieldValue2: any,\r\n public FieldValue3: any,\r\n public Operator: string,\r\n public IsCustom: boolean,\r\n public DisplayInList: boolean,\r\n public IsCustomField: boolean,\r\n public FieldDataType: string,\r\n public IgnoreFilter: boolean,\r\n public IsCacheOnClient: boolean = false,\r\n public IsLookUpfilter:boolean=false) { }\r\n \r\n\r\n}\r\nexport class ApiQueryFiltersAddParams{\r\n FieldName: string = '';\r\n FieldValue: any;\r\n FieldValue2: any;\r\n FieldValue3: any;\r\n Operator: string = '';\r\n IsCustom: boolean = false;\r\n DisplayInList: boolean = false;\r\n IsCustomField: boolean = false;\r\n FieldDataType: string = '';\r\n IgnoreFilter: boolean = false;\r\n IsCacheOnClient: boolean = false;\r\n ForceEnableAdd:boolean = false;\r\n IsLookUpFilter:boolean=false;\r\n}\r\n","import React from \"react\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Dropdown, DropdownChangeParams } from \"primereact/dropdown\";\r\n\r\nimport { Button } from \"primereact/button\";\r\n\r\nimport { DataService } from \"../../services/DataService\";\r\nimport { ApiQueryFilters } from \"../../common/data-contracts/ApiQueryFilter\";\r\nimport { Widget } from \"../../types/widget\";\r\nimport ReactApexChart from \"react-apexcharts\";\r\nimport { ChartComponentState } from \"../../types/ChartComponentState\";\r\n\r\nconst calcTypes = \r\n[{Name: \"Sum\", Disabled: false},\r\n {Name: \"Min\", Disabled: true},\r\n {Name: \"Max\", Disabled: false},\r\n {Name: \"Count\", Disabled: false},\r\n {Name: \"Average\", Disabled: true}]\r\n;\r\ninterface NewWidgetProps {\r\n onOkButton(data: Widget):any;\r\n onCancelButton():any;\r\n widget: Widget | null;\r\n\r\n}\r\n\r\ninterface NewWidgetState { \r\n Widget: Widget;\r\n objectTables: any[]; \r\n objectFields: any[];\r\n}\r\n\r\nconst chartState:ChartComponentState = {\r\n series: [\r\n {\r\n data: [10,20,30],\r\n },\r\n ],\r\n options: {\r\n chart: {\r\n toolbar:{show: false},\r\n \r\n },\r\n colors: [\"#22D792\"],\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: true,\r\n }\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n categories: ['A','B','C'],\r\n },\r\n },\r\n};\r\n\r\nconst ChartTypes = [{ Name: \"Column\", Disabled: true },{ Name: \"Area\", Disabled: false }, { Name: \"Bar\", Disabled: false }, { Name: \"Pie\", Disabled: true }, { Name: \"Donut\", Disabled: true }];\r\nclass NewWidget extends React.Component<NewWidgetProps, NewWidgetState> {\r\n constructor(props: NewWidgetProps | Readonly<NewWidgetProps>) {\r\n super(props);\r\n const defaultWidget: Widget = {\r\n WidgetName: 'New Widget',\r\n WidgetType: \"Bar\",\r\n CalcType: null,\r\n ValueFieldName: null,\r\n ValueFieldId: null,\r\n EntityName: null,\r\n EntityId: null,\r\n Group: null\r\n };\r\n this.state = {\r\n Widget: this.props.widget || defaultWidget,\r\n objectTables: [],\r\n objectFields: [], \r\n }; \r\n \r\n this.getData();\r\n }\r\n getData() {\r\n this.getObjectTables();\r\n }\r\n getObjectTables() {\r\n let service = new DataService();\r\n const filters = new ApiQueryFilters();\r\n filters.addAdditionalFilter(\r\n \"Name\",\r\n 'GLAccount,ARPayment,ARInvoice',\r\n null,\r\n null,\r\n \"InListExact\",\r\n false,\r\n false,\r\n false,\r\n \"string\"\r\n );\r\n service.getObjectTables(filters).then((response: any) => {\r\n console.log(\"getObjectTables\", response);\r\n\r\n\r\n if(response.data.Result && this.props.widget){\r\n this.selectedTable = response.data.Result.find((t: { Id: string | null | undefined; })=>t.Id === this.props.widget?.EntityId);\r\n }\r\n\r\n this.setState({ objectTables: response.data.Result });\r\n\r\n if(response.data.Result && this.props.widget){\r\n this.getObjectFields();\r\n }\r\n\r\n\r\n },(error: string)=>{\r\n alert(\"Something wrong happen, \" + error);\r\n });\r\n }\r\n getObjectFields() {\r\n let service = new DataService();\r\n const filters = new ApiQueryFilters();\r\n filters.SortBy = 'FieldName';\r\n filters.addAdditionalFilter(\r\n \"ObjectTableId\",\r\n this.state.Widget.EntityId,\r\n null,\r\n null,\r\n \"Equals\",\r\n false,\r\n false,\r\n false,\r\n \"string\"\r\n );\r\n service.getObjectFields(filters).then((response: any) => {\r\n console.log(\"getByfilters\", response);\r\n this.setState({ objectFields: response.data.Result });\r\n },(error: string)=>{\r\n alert(\"Something wrong happen, \" + error);\r\n });\r\n }\r\nselectedTable: any;\r\n onEntityChanged = (e: DropdownChangeParams) => {\r\n const selectedTable = e.target.value;\r\n this.selectedTable = selectedTable; \r\n // const selectedTable = e.value;\r\n console.log(\"onEntityChanged\",selectedTable);\r\n \r\n this.state.Widget.EntityName = selectedTable?.Name;\r\n this.state.Widget.EntityId = selectedTable?.Id;\r\n this.setState({ Widget: {...this.state.Widget} }, () => {\r\n if (selectedTable) {\r\n this.getObjectFields();\r\n } else {\r\n this.state.Widget.Group = null;\r\n this.state.Widget.ValueFieldId = null;\r\n this.state.Widget.ValueFieldName = null;\r\n this.setState({ Widget: {...this.state.Widget},\r\n objectFields: [] });\r\n }\r\n });\r\n }\r\n onGroupChanged = (e: DropdownChangeParams) => {\r\n this.state.Widget.Group = e.value;\r\n this.setState({ Widget: {...this.state.Widget} });\r\n }\r\n selectedValueField: { Id: string | null; FieldName: string | null; };\r\n onValueChanged = (e: DropdownChangeParams) => {\r\n this.selectedValueField = e.value;\r\n this.state.Widget.ValueFieldId = this.selectedValueField.Id;\r\n this.state.Widget.ValueFieldName = this.selectedValueField.FieldName;\r\n this.setState({ Widget: {...this.state.Widget} });\r\n };\r\n onCalcTypeChanged = (e: DropdownChangeParams) => {\r\n this.state.Widget.CalcType = e.value;\r\n this.setState({ Widget: {...this.state.Widget} });\r\n }\r\n render() {\r\n return (\r\n <div className=\"dialog-wrapper\">\r\n <div className=\"dialog-content container\">\r\n <div style={{ width: \"250px\", padding: '0 40px 0 0', textAlign: 'center' }}>\r\n <Dropdown\r\n style={{ width: \"160px\" }}\r\n value={this.state.Widget.WidgetType}\r\n options={ChartTypes}\r\n placeholder=\"Chart Type\"\r\n optionLabel=\"Name\"\r\n optionValue=\"Name\"\r\n optionDisabled={(option) => option?.Disabled}\r\n onChange={(e) => {\r\n this.state.Widget.WidgetType = e.value;\r\n this.setState({ Widget: { ...this.state.Widget } });\r\n }}\r\n />\r\n <br />\r\n <br />\r\n <div>\r\n {this.state.Widget.WidgetType === 'Bar' && <ReactApexChart options={chartState.options} series={chartState.series} type=\"bar\" height={\"100%\"} />}\r\n {this.state.Widget.WidgetType === 'Area' && <ReactApexChart options={chartState.options} series={chartState.series} type=\"area\" height={\"100%\"} />}\r\n </div>\r\n </div>\r\n\r\n <div>\r\n <form id=\"frm\" name=\"frm\">\r\n {/* <input type=\"submit\" opacity /> */}\r\n <div className=\"form\">\r\n {/* Name */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-name\">Name</label>\r\n <InputText\r\n id=\"widget-name\"\r\n className=\"p-inputtext-sm\"\r\n value={this.state.Widget.WidgetName || undefined}\r\n required\r\n onChange={(e) => {\r\n this.state.Widget.WidgetName = e.target.value;\r\n this.setState({ Widget: { ...this.state.Widget } });\r\n }}\r\n />\r\n </div>\r\n\r\n {/* Entity */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-Entity\">Entity</label>\r\n <Dropdown\r\n value={this.selectedTable}\r\n options={this.state.objectTables}\r\n onChange={this.onEntityChanged}\r\n optionLabel=\"Name\"\r\n // optionValue=\"Id\"\r\n filter\r\n showClear\r\n filterBy=\"Name\"\r\n placeholder=\"Select an entity\"\r\n // valueTemplate={selectedCountryTemplate}\r\n // itemTemplate={countryOptionTemplate}\r\n />\r\n </div>\r\n\r\n {/* Group */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-Entity\">Group</label>\r\n <Dropdown\r\n value={this.state.Widget.Group}\r\n options={this.state.objectFields}\r\n virtualScrollerOptions={{ itemSize: 50 }}\r\n onChange={this.onGroupChanged}\r\n optionLabel=\"FieldName\"\r\n optionValue=\"FieldName\"\r\n filter\r\n showClear\r\n filterBy=\"FieldName\"\r\n placeholder=\"Select group\"\r\n />\r\n </div>\r\n\r\n {/* CalcType */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-Entity\">Calc. Type</label>\r\n <Dropdown\r\n value={this.state.Widget.CalcType}\r\n options={calcTypes}\r\n optionLabel=\"Name\"\r\n optionValue=\"Name\"\r\n optionDisabled={(option) => option?.Disabled}\r\n onChange={this.onCalcTypeChanged}\r\n showClear\r\n required\r\n placeholder=\"Select type\"\r\n />\r\n </div>\r\n\r\n {/* Value */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-Entity\">Value</label>\r\n <Dropdown\r\n value={this.selectedValueField}\r\n options={this.state.objectFields}\r\n virtualScrollerOptions={{ itemSize: 50 }}\r\n onChange={this.onValueChanged}\r\n optionLabel=\"FieldName\"\r\n // optionValue=\"Id\"\r\n filter\r\n showClear\r\n filterBy=\"FieldName\"\r\n placeholder=\"Select value\"\r\n />\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n <div className=\"dialog-footer\">\r\n <Button\r\n label=\"Cancel\"\r\n className=\"p-button-text\"\r\n onClick={this.props.onCancelButton.bind(this)}\r\n />\r\n <Button\r\n label=\"Ok\"\r\n form=\"frm\"\r\n // icon=\"pi pi-check\"\r\n onClick={this.props.onOkButton.bind(this, { ...this.state.Widget })}\r\n autoFocus\r\n />\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default NewWidget;\r\n","import React from 'react';\r\n\r\nclass ColumnChartComponent extends React.Component {\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n\r\n \r\n }\r\n\r\n\r\n\r\n render() {\r\n return (\r\n\r\n\r\n <div id=\"chart\">\r\n </div>\r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default ColumnChartComponent;","import React from \"react\";\r\n\r\n\r\n\r\nexport class PieChartComponent extends React.Component {\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n <div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default PieChartComponent;\r\n","import React from \"react\";\r\n\r\nclass MixedChartComponent extends React.Component {\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return <div id=\"chart\"></div>;\r\n }\r\n}\r\n\r\nexport default MixedChartComponent;\r\n","import React from 'react'\r\nimport ReactApexChart from 'react-apexcharts'\r\nimport { ChartComponentProps } from '../../../types/ChartComponentProps'\r\nimport { ChartComponentState } from '../../../types/ChartComponentState'\r\n\r\nclass AreaChartComponent extends React.Component<\r\nChartComponentProps,\r\nChartComponentState\r\n> {\r\n constructor(props: ChartComponentProps | Readonly<ChartComponentProps>) {\r\n super(props)\r\n\r\n this.state = {\r\n series: [\r\n {\r\n name: 'series1',\r\n data: [31, 40, 28, 51, 42, 109, 100],\r\n },\r\n {\r\n name: 'series2',\r\n data: [11, 32, 45, 32, 34, 52, 41],\r\n },\r\n ],\r\n options: {\r\n chart: {\r\n height: 350,\r\n type: 'area',\r\n },\r\n colors: ['#22D792','#2C99F7','#FBC445','#F74E49','#717585'] ,\r\n\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n stroke: {\r\n curve: 'smooth',\r\n },\r\n xaxis: {\r\n type: 'datetime',\r\n categories: [\r\n '2018-09-19T00:00:00.000Z',\r\n '2018-09-19T01:30:00.000Z',\r\n '2018-09-19T02:30:00.000Z',\r\n '2018-09-19T03:30:00.000Z',\r\n '2018-09-19T04:30:00.000Z',\r\n '2018-09-19T05:30:00.000Z',\r\n '2018-09-19T06:30:00.000Z',\r\n ],\r\n },\r\n tooltip: {\r\n x: {\r\n format: 'dd/MM/yy HH:mm',\r\n },\r\n },\r\n },\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div id=\"chart\">\r\n {this.props.dateFilter && <div className=\"filter-label\"> Date: {this.props.dateFilter.toLocaleDateString(\"en-US\")+''}</div>}\r\n\r\n <ReactApexChart\r\n options={this.state.options}\r\n series={this.state.series}\r\n type=\"area\"\r\n height={'100%'}\r\n />\r\n </div>\r\n )\r\n }\r\n}\r\n\r\nexport default AreaChartComponent;\r\n","import React from \"react\";\r\n\r\nclass TimelineChartComponent extends React.Component {\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return <div id=\"chart\"></div>;\r\n }\r\n}\r\n\r\nexport default TimelineChartComponent;\r\n","import React from 'react'\r\n\r\nclass CandleChartComponent extends React.Component {\r\n\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n\r\n \r\n }\r\n\r\n\r\n\r\n render() {\r\n return (\r\n\r\n\r\n <div id=\"chart\">\r\n </div>\r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default CandleChartComponent\r\n","import React from \"react\";\r\nimport ReactApexChart from \"react-apexcharts\";\r\nimport { ApiQueryFilters } from \"../../../common/data-contracts/ApiQueryFilter\";\r\nimport { DataService } from \"../../../services/DataService\";\r\nimport { ChartComponentProps } from \"../../../types/ChartComponentProps\";\r\nimport { ChartComponentState } from \"../../../types/ChartComponentState\";\r\n\r\n\r\n\r\n\r\n\r\nclass BarChartComponent extends React.Component<\r\n ChartComponentProps,\r\n ChartComponentState\r\n> {\r\n\r\n data: any[] = [];\r\n constructor(props: ChartComponentProps | Readonly<ChartComponentProps>) {\r\n super(props);\r\n const filters = new ApiQueryFilters();\r\n const dataService = new DataService();\r\n if (this.props.widget?.EntityName)\r\n dataService.getDataByFilters(filters, this.props.widget.EntityName || '')\r\n .then((response: any) => {\r\n console.log(\"dataService.getDataByFilters\", response);\r\n this.data = response.data.Result;\r\n this.InitChart();\r\n })\r\n\r\n\r\n this.state = {\r\n series: [\r\n {\r\n data: [],\r\n },\r\n ],\r\n options: {\r\n chart: {\r\n type: \"bar\",\r\n height: 350,\r\n events: {\r\n dataPointSelection: function (event, chartContext, config) {\r\n const data = config.w.config.xaxis.categories[config.seriesIndex];\r\n console.log(\"Selected \" + data);\r\n },\r\n },\r\n },\r\n colors: [\"#22D792\", \"#2C99F7\", \"#FBC445\", \"#F74E49\", \"#717585\"],\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: true,\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n categories: [],\r\n },\r\n },\r\n };\r\n\r\n }\r\n\r\n\r\n private InitChart() {\r\n const groups = this.GroupItems();\r\n\r\n\r\n const catItems = Object.keys(groups);\r\n const dataItems: any[] = Object.values(groups);\r\n\r\n\r\n this.setState({\r\n series: [\r\n {\r\n data: dataItems,\r\n },\r\n ],\r\n options: {\r\n chart: {\r\n type: \"bar\",\r\n height: 350,\r\n events: {\r\n dataPointSelection: function (event, chartContext, config) {\r\n const data = config.w.config.xaxis.categories[config.seriesIndex];\r\n console.log(\"Selected \" + data);\r\n },\r\n },\r\n },\r\n colors: [\"#22D792\", \"#2C99F7\", \"#FBC445\", \"#F74E49\", \"#717585\"],\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: true,\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n categories: catItems,\r\n },\r\n },\r\n });\r\n }\r\n // private GroupItems()\r\n // {\r\n // return this.data.reduce((groups, record) =>\r\n // {\r\n // const fieldName = this.props.widget.ValueFieldName + '';\r\n\r\n // const group = (groups[record] || []);\r\n // group.push(record);\r\n\r\n // const recordCategory = record[this.props.widget.ValueFieldName + ''];\r\n // groups[record[fieldName]] = groups[recordCategory] + 1 || 0;\r\n // return groups;\r\n // }, {});\r\n // }\r\n private GroupItems() {\r\n let groups = this.data.reduce((groups, record) => {\r\n const CreateGroup = (groups: any, record: any) => {\r\n const group = (groups[record] || []);\r\n group.push(record);\r\n }\r\n const SetGroupData = () => {\r\n const groupByFieldName = this.props.widget.Group + \"\";\r\n const valueFieldName = this.props.widget.ValueFieldName + \"\";\r\n const recordCategory = record[groupByFieldName];\r\n const recordValue = record[valueFieldName];\r\n let currentGroupValue = groups[record[groupByFieldName]];\r\n\r\n switch (this.props.widget.CalcType) {\r\n case \"Count\": {\r\n if (!currentGroupValue) currentGroupValue = 0;\r\n currentGroupValue = currentGroupValue + 1;\r\n break;\r\n }\r\n case \"Sum\": {\r\n if (!currentGroupValue) currentGroupValue = 0;\r\n currentGroupValue = currentGroupValue + recordValue;\r\n break;\r\n }\r\n case \"Max\": {\r\n if (!currentGroupValue) currentGroupValue = -9999999999999;\r\n\r\n if (recordValue > currentGroupValue)\r\n currentGroupValue = recordValue;\r\n break;\r\n }\r\n case \"Min\": {\r\n if (!currentGroupValue) currentGroupValue = 9999999999999;\r\n\r\n if (recordValue < currentGroupValue)\r\n currentGroupValue = recordValue;\r\n break;\r\n }\r\n case \"Average\": {\r\n if (!currentGroupValue) currentGroupValue = [];\r\n currentGroupValue.push(recordValue);\r\n break;\r\n }\r\n }\r\n\r\n groups[record[groupByFieldName]] = currentGroupValue;\r\n };\r\n\r\n CreateGroup(groups, record);\r\n SetGroupData();\r\n return groups;\r\n }, {});\r\n\r\n if (this.props.widget.CalcType == \"Average\") {\r\n for (const key in groups) {\r\n if (Object.prototype.hasOwnProperty.call(groups, key)) {\r\n const groupArray: any[] = groups[key];\r\n let sum = groupArray.reduce((a, b) => a + (b[key] || 0), 0);\r\n let avg = sum / groupArray.length;\r\n groups[key] = avg;\r\n }\r\n }\r\n }\r\n return groups;\r\n }\r\n\r\n render() {\r\n return (\r\n\r\n <div id=\"chart\">\r\n <div>\r\n {this.props.dateFilter && <div className=\"filter-label\"> Date: {this.props.dateFilter.toLocaleDateString(\"en-US\") + ''}</div>}\r\n </div>\r\n {/* <div>\r\n {this.props.widget?.EntityName}: {this.props.widget?.CalcType} of {this.props.widget?.ValueFieldName} \r\n </div> */}\r\n <ReactApexChart\r\n options={this.state.options}\r\n series={this.state.series}\r\n type=\"bar\"\r\n height={\"100%\"}\r\n />\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default BarChartComponent;\r\n","import { stat } from \"fs\";\r\nimport { Button } from \"primereact/button\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport AreaChartComponent from \"./ChartsComponents/AreaChartComponent\";\r\nimport BarChartComponent from \"./ChartsComponents/BarChartComponent\";\r\nimport CandleChartComponent from \"./ChartsComponents/CandleChartComponent\";\r\nimport ColumnChartComponent from \"./ChartsComponents/ColumnChartComponent\";\r\nimport MixedChartComponent from \"./ChartsComponents/MixedChartComponent\";\r\nimport PieChartComponent from \"./ChartsComponents/PieChartComponent\";\r\nimport TimelineChartComponent from \"./ChartsComponents/TimelineChartComponent\";\r\n\r\n\r\ntype WidgetCardProps = {\r\n editBtnClicked(widget: any):any;\r\n deleteBtnClicked(i: any):any;\r\n widget: any | null;\r\n el: any;\r\n dateFilter: any;\r\n}\r\n\r\n\r\nconst WidgetCard = (props: WidgetCardProps, state: any) => {\r\n const moreBtnToggle = useRef<OverlayPanel>(null);\r\n\r\n const widgetComponents: any[] = [\r\n { type: \"Bar\", component: BarChartComponent },\r\n { type: \"Column\", component: ColumnChartComponent },\r\n { type: \"Pie\", component: PieChartComponent },\r\n { type: \"Mixed\", component: MixedChartComponent },\r\n { type: \"Timeline\", component: TimelineChartComponent },\r\n { type: \"Candle\", component: CandleChartComponent },\r\n { type: \"Area\", component: AreaChartComponent },\r\n ];\r\n\r\n return (\r\n <div className=\"panel\" key={props.el.i}>\r\n <header>\r\n <h1>{props.widget?.WidgetName || \"not set\"}</h1>\r\n <Button\r\n icon=\"pi pi-ellipsis-v\"\r\n className=\"p-button-lg p-button-rounded p-button-text\"\r\n onClick={(e) => moreBtnToggle.current?.toggle(e)}\r\n />\r\n\r\n <OverlayPanel ref={moreBtnToggle} className=\"buttons-overlay\">\r\n <div className=\"buttons-list\">\r\n <div onClick={() => props.editBtnClicked(props.widget)} > Edit </div>\r\n <div onClick={() => props.deleteBtnClicked(props.el.i)} >Remove</div>\r\n </div>\r\n </OverlayPanel>\r\n </header>\r\n\r\n <div className=\"dashboard-widget\">\r\n {React.createElement(\r\n widgetComponents.find((wc) => wc.type === props.widget.WidgetType)\r\n ?.component,\r\n {\r\n key: props.el.i,\r\n dateFilter: props.dateFilter,\r\n widget: props.widget,\r\n }\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default WidgetCard;\r\n","\r\n\r\nimport { WidthProvider, Responsive } from \"react-grid-layout\";\r\n\r\nimport React, { createRef, useEffect, useRef, useState } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport _, { find } from \"lodash\";\r\nimport { Ripple } from \"primereact/ripple\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport NewWidget from \"./NewWidget\";\r\nimport { Calendar } from 'primereact/calendar';\r\n\r\nimport ColumnChartComponent from \"./ChartsComponents/ColumnChartComponent\";\r\nimport PieChartComponent from \"./ChartsComponents/PieChartComponent\";\r\nimport MixedChartComponent from \"./ChartsComponents/MixedChartComponent\";\r\nimport AreaChartComponent from \"./ChartsComponents/AreaChartComponent\";\r\nimport TimelineChartComponent from \"./ChartsComponents/TimelineChartComponent\";\r\nimport CandleChartComponent from \"./ChartsComponents/CandleChartComponent\";\r\nimport BarChartComponent from \"./ChartsComponents/BarChartComponent\";\r\nimport { WidgetComponent } from \"../../types/WidgetComponent\";\r\nimport { Widget } from \"../../types/widget\";\r\nimport WidgetCard from \"./WidgetCard\";\r\n\r\nconst ResponsiveReactGridLayout = WidthProvider(Responsive);\r\nconst newWidgetWidth = 3;\r\n\r\n\r\nconst DashboardDesigner = () => {\r\n\r\n const [widgetButtonToggle, setWidgetButtonToggle] = useState(createRef<OverlayPanel>());\r\n const [addWidgetButtonToggle, setAddWidgetButtonToggle] = useState(createRef<OverlayPanel>());\r\n const [widgetComponents, setWidgetComponents] = useState([\r\n { type: \"Bar\", component: BarChartComponent },\r\n { type: \"Column\", component: ColumnChartComponent },\r\n { type: \"Pie\", component: PieChartComponent },\r\n { type: \"Mixed\", component: MixedChartComponent },\r\n { type: \"Timeline\", component: TimelineChartComponent },\r\n { type: \"Candle\", component: CandleChartComponent },\r\n { type: \"Area\", component: AreaChartComponent },\r\n ]);\r\n const array12 = Array.from({ length: 12 }).fill(null);\r\n var savedLayouts = getFromStorage(\"grid-layout\");\r\n var savedWidgets = getFromStorage(\"grid-widgets\");\r\n const minimumPlaceholderRowsCount = 12;\r\n const [layouts, setLayouts] = useState(savedLayouts || { lg: [] });\r\n const [placeholderRowsArray, setplaceholderRowsArray] = useState(Array.from({ length: minimumPlaceholderRowsCount }).fill(null));\r\n const [showMsg, setShowMsg] = useState(false);\r\n const [dateFilter, setDateFilter] = useState<Date | Date[] | undefined>(undefined);\r\n const [displayDialog, setDisplayDialog] = useState(false);\r\n const [dashboardTitle, setDashboardTitle] = useState(\"\");\r\n const [widgets, setWidgets] = useState(savedWidgets || []);\r\n const [placeholderRows, setPlaceholderRows] = useState(minimumPlaceholderRowsCount);\r\n const [selectedWidget, setSelectedWidget] = useState();\r\n const [widgetToEdit, setWidgetToEdit] = useState<Widget | null>(null);\r\n const renderPageHeader = () => {\r\n return (\r\n <header className=\"dl-dashboard-header\">\r\n <div className=\"dl-heder-row\">\r\n {/* <Calendar\r\n value={dateFilter}\r\n showIcon={true}\r\n onChange={(e) => setDateFilter(e.value)}\r\n placeholder=\"filter by date...\"\r\n ></Calendar> */}\r\n <div style={{ width: '192px' }}>\r\n <Dropdown\r\n value={selectedWidget}\r\n options={WidgetTypes}\r\n optionValue=\"Name\"\r\n optionLabel=\"Name\"\r\n onChange={(e) => addComponent(e.value)}\r\n placeholder=\"Add Component\"\r\n optionDisabled={(option) => {\r\n return option?.Disabled;\r\n }}\r\n scrollHeight=\"300px\"\r\n />\r\n </div>\r\n\r\n </div>\r\n </header>\r\n );\r\n }\r\n function addComponent(componentType) {\r\n toggleDialog();\r\n }\r\n function reset() {\r\n window.localStorage.clear();\r\n window.location.reload();\r\n }\r\n\r\n // function renderGridWidgetsPlaceholder() {\r\n // console.log(placeholderRows)\r\n // return (\r\n // <div className=\"dl-grid dl-grid--bordered\">\r\n // {[...Array(placeholderRows)].map((e, i) =>\r\n // [...Array(layoutGridProps.cols.lg)].map((e, i) => (\r\n // <div key={i}\r\n // style={{\r\n // height: layoutGridProps.rowHeight,\r\n // }}\r\n // ></div>\r\n // ))\r\n // )}\r\n // </div>\r\n // );\r\n // }\r\n\r\n function onLayoutChange(layout: any, layouts) {\r\n console.log(layout, layouts);\r\n saveToStorage(\"grid-layout\", layouts);\r\n saveToStorage(\"grid-widgets\", widgets);\r\n setLayouts(layouts);\r\n UpdatePlaceholderDimensions();\r\n }\r\n function renderWidgetComponent(el: any) {\r\n const widget = FindWidget(el);\r\n\r\n return (\r\n <div key={el.i}>\r\n <WidgetCard\r\n key={el.i}\r\n widget={widget}\r\n el={el}\r\n dateFilter={dateFilter}\r\n editBtnClicked={editWidget}\r\n deleteBtnClicked={deletePanel}\r\n />\r\n </div>\r\n );\r\n }\r\n function deletePanel(i) {\r\n let layout = layouts[\"lg\"];\r\n var itemIndex = layout.findIndex((d) => d.i === i);\r\n layout.splice(itemIndex, 1);\r\n setLayouts({ lg: [...layout] });\r\n setWidgets(_.reject(widgets, { i: i }));\r\n SaveGrid();\r\n };\r\n function SaveGrid() {\r\n saveToStorage(\"grid-layout\", layouts);\r\n saveToStorage(\"grid-widgets\", widgets);\r\n }\r\n function editWidget(widget: any) {\r\n setWidgetToEdit(widget);\r\n toggleDialog();\r\n };\r\n function FindWidget(el: any) {\r\n return widgets.find((d) => d.i === el.i);\r\n }\r\n function saveToStorage(key, value) {\r\n setShowMsg(true);\r\n setTimeout(() => {\r\n setShowMsg(false);\r\n }, 2000);\r\n window.localStorage.setItem(key, JSON.stringify(value));\r\n };\r\n function getFromStorage(key) {\r\n const layout: any = window.localStorage.getItem(key);\r\n return JSON.parse(layout);\r\n };\r\n function toggleDialog() {\r\n setDisplayDialog(!displayDialog);\r\n }\r\n function renderNewWidgetDialog() {\r\n\r\n return (\r\n <Dialog\r\n\r\n header={widgetToEdit ? \"Edit Chart\" : \"New Chart\"}\r\n visible={displayDialog}\r\n onHide={toggleDialog}\r\n breakpoints={{ \"850px\": \"95vw\", \"600px\": \"100vw\" }}\r\n style={{ width: \"800px\" }}\r\n >\r\n <NewWidget\r\n onOkButton={onOkButton}\r\n onCancelButton={onCancelButton}\r\n widget={widgetToEdit}\r\n />\r\n </Dialog>\r\n );\r\n }\r\n function addPanel(newWidget: Widget) {\r\n\r\n let newWidgetPosition = EvaluateNewWidgetPosition();\r\n\r\n const widgetComponent = widgetComponents.find(\r\n (wc) => wc.type === newWidget.WidgetType\r\n );\r\n\r\n const randomIndex = getRandomInt(100, 999);\r\n const newPanel = {\r\n i: \"\" + randomIndex,\r\n x: newWidgetPosition.x,\r\n y: newWidgetPosition.y,\r\n w: newWidgetWidth,\r\n h: 5,\r\n minH: 5,\r\n minW: 3,\r\n };\r\n\r\n widgets.push({\r\n i: \"\" + randomIndex,\r\n title: newWidget.WidgetName,\r\n component: widgetComponent?.component,\r\n ...newWidget,\r\n });\r\n setLayouts({ lg: layouts[\"lg\"].concat(newPanel) });\r\n setWidgets(widgets);\r\n\r\n };\r\n\r\n function EvaluateNewWidgetPosition() {\r\n let widgetYPosition = 0;\r\n let widgetXPosition = 0;\r\n let layout: { x: number, y: number, w: number }[] = layouts[\"lg\"];\r\n const maxY = layout.reduce((max, widget) => {\r\n if (widget.y > max) max = widget.y;\r\n return max;\r\n }, 0);\r\n\r\n for (let y = 0; y <= maxY; y++) {\r\n const widgetsRow = layout.filter(d => d.y == y);\r\n const lastWidgetStartXPosition = Math.max.apply(Math, widgetsRow.map(a => a.x));\r\n const lastWidget: any = widgetsRow.find(a => a.x == lastWidgetStartXPosition);\r\n if (lastWidget) {\r\n const lastWidgetEndXPosition = lastWidgetStartXPosition + lastWidget.w;\r\n const availableHorizontalSlots = layoutGridProps.cols.lg - lastWidgetEndXPosition;\r\n if (availableHorizontalSlots >= newWidgetWidth) {\r\n widgetYPosition = y;\r\n widgetXPosition = lastWidgetEndXPosition;\r\n return { x: widgetXPosition, y: widgetYPosition };\r\n\r\n } else {\r\n widgetYPosition = y + 1;\r\n }\r\n } else {\r\n widgetYPosition = y + 1;\r\n }\r\n }\r\n\r\n return { x: widgetXPosition, y: widgetYPosition };\r\n }\r\n function onOkButton(data: any) {\r\n setWidgetToEdit(null);\r\n toggleDialog();\r\n addPanel(data);\r\n };\r\n function onCancelButton() {\r\n setWidgetToEdit(null);\r\n toggleDialog();\r\n };\r\n function getRandomInt(min, max) {\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n }\r\n\r\n // useEffect(() => {\r\n\r\n // });\r\n function UpdatePlaceholderDimensions() {\r\n \r\n var gridLayout = document.getElementsByClassName('react-grid-layout')\r\n if (!gridLayout)\r\n return;\r\n const gridElementHeight = gridLayout[0]?.clientHeight;\r\n\r\n let newPlaceholderRows = Math.floor(gridElementHeight / layoutGridProps.rowHeight);\r\n newPlaceholderRows = newPlaceholderRows < minimumPlaceholderRowsCount ? minimumPlaceholderRowsCount : newPlaceholderRows;\r\n setPlaceholderRows(newPlaceholderRows)\r\n setplaceholderRowsArray(Array.from({ length: newPlaceholderRows }).fill(null));\r\n }\r\n return (<div className=\"dl-full-hight\">\r\n <div className=\"dl-box\">\r\n <div className=\"dl-row dl-header\">\r\n {renderPageHeader()}\r\n </div>\r\n <div className=\"dl-row dl-content\">\r\n <div className=\"dl-grid-container\">\r\n {/* {renderGridWidgetsPlaceholder()} */}\r\n <div className=\"dl-grid dl-grid--bordered\">\r\n {placeholderRowsArray.map((e, i) =>\r\n array12.map((e, i) => (\r\n <div key={i}\r\n style={{\r\n height: layoutGridProps.rowHeight,\r\n }}\r\n ></div>\r\n ))\r\n )}\r\n </div>\r\n\r\n\r\n <ResponsiveReactGridLayout\r\n {...layoutGridProps}\r\n layouts={layouts}\r\n compactType=\"vertical\"\r\n\r\n onWidthChange={() => UpdatePlaceholderDimensions()}\r\n onLayoutChange={(layout, layouts) =>\r\n onLayoutChange(layout, layouts)\r\n }\r\n >\r\n {layouts[\"lg\"].map((el) =>\r\n\r\n <div key={el.i}>\r\n <WidgetCard\r\n key={el.i}\r\n widget={FindWidget(el)}\r\n el={el}\r\n dateFilter={dateFilter}\r\n editBtnClicked={editWidget}\r\n deleteBtnClicked={deletePanel}\r\n />\r\n </div>\r\n )}\r\n </ResponsiveReactGridLayout>\r\n </div>\r\n\r\n </div>\r\n {/* <div className=\"dl-row dl-footer\">\r\n <p><b>footer</b> (fixed height)</p>\r\n </div> */}\r\n </div>\r\n {renderNewWidgetDialog()}\r\n\r\n\r\n\r\n\r\n\r\n </div>);\r\n\r\n}\r\n\r\n\r\nexport const layoutGridProps = {\r\n rowHeight: 50,\r\n className: \"layout\",\r\n cols: { lg: 12, md: 6, sm: 2, xs: 1, xxs: 1 },\r\n useCSSTransforms: true,\r\n}\r\n\r\n\r\n\r\n\r\nexport const WidgetTypes = [\r\n { Name: \"Filter\", Disabled: true },\r\n { Name: \"Chart\", Disabled: false },\r\n { Name: \"Data Table\", Disabled: true },\r\n { Name: \"Pivot Table\", Disabled: true },\r\n { Name: \"KPI\", Disabled: true },\r\n { Name: \"Gauge\", Disabled: true },\r\n];\r\nexport const widgetComponents = [\r\n { type: \"Bar\", component: BarChartComponent },\r\n { type: \"Column\", component: ColumnChartComponent },\r\n { type: \"Pie\", component: PieChartComponent },\r\n { type: \"Mixed\", component: MixedChartComponent },\r\n { type: \"Timeline\", component: TimelineChartComponent },\r\n { type: \"Candle\", component: CandleChartComponent },\r\n { type: \"Area\", component: AreaChartComponent },\r\n];\r\n\r\n\r\nexport default DashboardDesigner;\r\n","import * as React from 'react'\nimport DashboardDesigner from './features/Dashboard/DashboardDesigner'\nimport \"./styles.module.css\"\ntype DashboardProps={token:string};\nconst Dashboard = (props:DashboardProps) => {\n localStorage.setItem(\"token\", props?.token);\n\n return (\n <div className='dl-dashboard-body'>\n <DashboardDesigner></DashboardDesigner>\n </div>\n )\n}\nexport default Dashboard;"],"names":["DataService","getObjectTables","filters","token","getTokenFromStorage","apiURL","ConcatFiltersToURL","axios","get","headers","getObjectFields","getDataByFilters","tableName","urlparameters","mykeys","Object","keys","addtionalFiltersValues","i","propName","propValue","ignoreFilter","indexOf","concat","encodeURIComponent","length","JSON","stringify","window","localStorage","getItem","ApiQueryFilters","addAdditionalFilter","FieldName","FieldValue","FieldValue2","FieldValue3","Operator","IsCustom","DisplayInList","IsCustomField","FieldDataType","IgnoreFilter","IsCacheOnClient","ForceEnableAdd","params","ApiQueryFiltersAddParams","pushAdditionalFilter","myReplace","myString","myNewString","removeAdditionalFilter","item","AdditionalFilters","filter","d","IsLookUpfilter","index","splice","existedItem","find","FilterItem","IsLookUpFilter","push","calcTypes","Name","Disabled","chartState","series","data","options","chart","toolbar","show","colors","plotOptions","bar","borderRadius","horizontal","dataLabels","enabled","xaxis","categories","ChartTypes","NewWidget","props","e","selectedTable","target","value","console","log","state","Widget","EntityName","EntityId","Id","setState","Group","ValueFieldId","ValueFieldName","objectFields","selectedValueField","CalcType","defaultWidget","WidgetName","WidgetType","widget","objectTables","getData","service","then","response","Result","t","error","alert","SortBy","render","React","className","style","width","padding","textAlign","Dropdown","placeholder","optionLabel","optionValue","optionDisabled","option","onChange","ReactApexChart","type","height","id","name","htmlFor","InputText","undefined","required","onEntityChanged","showClear","filterBy","virtualScrollerOptions","itemSize","onGroupChanged","onCalcTypeChanged","onValueChanged","Button","label","onClick","onCancelButton","bind","form","onOkButton","autoFocus","Component","ColumnChartComponent","PieChartComponent","MixedChartComponent","AreaChartComponent","stroke","curve","tooltip","x","format","dateFilter","toLocaleDateString","TimelineChartComponent","CandleChartComponent","BarChartComponent","dataService","InitChart","events","dataPointSelection","event","chartContext","config","w","seriesIndex","groups","GroupItems","catItems","dataItems","values","reduce","record","CreateGroup","group","SetGroupData","groupByFieldName","valueFieldName","recordValue","currentGroupValue","key","prototype","hasOwnProperty","call","groupArray","sum","a","b","avg","WidgetCard","moreBtnToggle","useRef","widgetComponents","component","el","icon","current","toggle","OverlayPanel","ref","editBtnClicked","deleteBtnClicked","createElement","wc","ResponsiveReactGridLayout","WidthProvider","Responsive","newWidgetWidth","DashboardDesigner","useState","createRef","array12","Array","from","fill","savedLayouts","getFromStorage","savedWidgets","minimumPlaceholderRowsCount","lg","layouts","setLayouts","placeholderRowsArray","setplaceholderRowsArray","showMsg","setShowMsg","displayDialog","setDisplayDialog","widgets","setWidgets","placeholderRows","setPlaceholderRows","selectedWidget","widgetToEdit","setWidgetToEdit","renderPageHeader","WidgetTypes","addComponent","scrollHeight","componentType","toggleDialog","onLayoutChange","layout","saveToStorage","UpdatePlaceholderDimensions","deletePanel","itemIndex","findIndex","_","reject","SaveGrid","editWidget","FindWidget","setTimeout","setItem","parse","renderNewWidgetDialog","Dialog","header","visible","onHide","breakpoints","addPanel","newWidget","newWidgetPosition","EvaluateNewWidgetPosition","widgetComponent","randomIndex","getRandomInt","newPanel","y","h","minH","minW","title","widgetYPosition","widgetXPosition","maxY","max","widgetsRow","lastWidgetStartXPosition","Math","apply","map","lastWidget","lastWidgetEndXPosition","availableHorizontalSlots","layoutGridProps","cols","min","floor","random","gridLayout","document","getElementsByClassName","gridElementHeight","clientHeight","newPlaceholderRows","rowHeight","compactType","onWidthChange","md","sm","xs","xxs","useCSSTransforms","Dashboard"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.modern.js","sources":["../src/services/DataService.ts","../src/common/data-contracts/ApiQueryFilter.ts","../src/features/Dashboard/NewWidget.tsx","../src/features/Dashboard/ChartsComponents/ColumnChartComponent.tsx","../src/features/Dashboard/ChartsComponents/PieChartComponent.tsx","../src/features/Dashboard/ChartsComponents/MixedChartComponent.tsx","../src/features/Dashboard/ChartsComponents/AreaChartComponent.tsx","../src/features/Dashboard/ChartsComponents/TimelineChartComponent.tsx","../src/features/Dashboard/ChartsComponents/CandleChartComponent.tsx","../src/features/Dashboard/ChartsComponents/BarChartComponent.tsx","../src/features/Dashboard/WidgetCard.tsx","../src/features/Dashboard/DashboardDesigner.tsx","../src/index.tsx"],"sourcesContent":["import axios from \"axios\";\r\nimport { ApiQueryFilters } from \"../common/data-contracts/ApiQueryFilter\";\r\n\r\n\r\nexport class DataService{ \r\n\r\n getObjectTables(filters: ApiQueryFilters){\r\n let token: string = this.getTokenFromStorage();\r\n\r\n\t\tvar apiURL = 'http://localhost:9996/api/ObjectTableViews/getbyfilters?';\r\n\t\tapiURL = this.ConcatFiltersToURL(filters, apiURL);\r\n return axios.get(apiURL, { headers: { 'Content-Type': 'application/json', 'Token': token } });\r\n }\r\n\r\n getObjectFields(filters: ApiQueryFilters) {\r\n \r\n let token: string = this.getTokenFromStorage();\r\n\r\n\t\tvar apiURL = 'http://localhost:9996/api/ObjectFieldViews/getbyfilters?';\r\n\t\tapiURL = this.ConcatFiltersToURL(filters, apiURL);\r\n\r\n return axios.get(apiURL, { headers: { 'Content-Type': 'application/json', 'Token': token } });\r\n }\r\n\r\n getDataByFilters(filters: ApiQueryFilters,tableName: string) {\r\n \r\n let token: string = this.getTokenFromStorage();\r\n\r\n\t\tvar apiURL = `http://localhost:9996/api/${tableName}Views/getbyfilters?`;\r\n\t\tapiURL = this.ConcatFiltersToURL(filters, apiURL);\r\n\r\n return axios.get(apiURL, { headers: { 'Content-Type': 'application/json', 'Token': token } });\r\n }\r\n\r\n private ConcatFiltersToURL(filters: ApiQueryFilters, urlparameters: string)\r\n {\r\n var mykeys = Object.keys(filters);\r\n var addtionalFiltersValues: string | null = null;\r\n\r\n for (var i in mykeys) {\r\n var propName = mykeys[i];\r\n var propValue = filters[propName];\r\n var ignoreFilter = ((propName.indexOf(\"Operator\") > 0 && propValue == \"Equals\") || propName == \"AdditionalFilters\");\r\n\r\n if (urlparameters != \"?\") {\r\n urlparameters = urlparameters.concat('&');\r\n }\r\n\r\n if (!ignoreFilter) {\r\n propValue = propValue ? encodeURIComponent(propValue) : '';\r\n urlparameters = urlparameters.concat(propName.concat('=').concat(propValue));\r\n }\r\n\r\n if (propName == \"AdditionalFilters\" && propValue.length > 0) {\r\n addtionalFiltersValues = JSON.stringify(propValue);\r\n }\r\n }\r\n\r\n if (addtionalFiltersValues) {\r\n urlparameters = urlparameters.concat(\"&AdditionalFilters=\").concat(addtionalFiltersValues);\r\n }\r\n return urlparameters;\r\n }\r\n\r\n getTokenFromStorage(){\r\n return window.localStorage.getItem(\"token\") || '';\r\n }\r\n}","export class ApiQueryFilters {\r\n\r\n public PageIndex: number | null = null;\r\n public PageSize: number | null = null;\r\n public SortBy: string | null = null;\r\n public SortDirection: string | null = null;\r\n public GetCount: boolean | null = null;\r\n public Tenant: number | null = null;\r\n public AdditionalFilters: FilterItem[] = [];\r\n public ForceCacheRefresh: boolean = false;\r\n public DontApplyVirtualization: boolean = false;\r\n\r\n \r\n\r\n addAdditionalFilter(\r\n FieldName: string,\r\n FieldValue: any,\r\n FieldValue2: any,\r\n FieldValue3: any,\r\n Operator: string,\r\n IsCustom: boolean,\r\n DisplayInList: boolean,\r\n IsCustomField: boolean,\r\n FieldDataType: string,\r\n IgnoreFilter: boolean = false,\r\n IsCacheOnClient: boolean = false,\r\n ForceEnableAdd:boolean = false) {\r\n\r\n let params=new ApiQueryFiltersAddParams();\r\n params.FieldName=FieldName;\r\n params.FieldValue=FieldValue;\r\n params.FieldValue2=FieldValue2;\r\n params.FieldValue3=FieldValue3;\r\n params.Operator=Operator;\r\n params.IsCustom=IsCustom;\r\n params.DisplayInList=DisplayInList;\r\n params.IsCustomField=IsCustomField;\r\n params.FieldDataType=FieldDataType;\r\n params.IgnoreFilter=IgnoreFilter;\r\n params.IsCacheOnClient=IsCacheOnClient;\r\n params.ForceEnableAdd=ForceEnableAdd;\r\n this.pushAdditionalFilter(params);\r\n }\r\n myReplace(myString: string) {\r\n var myNewString = \"\";\r\n for (var i = 0; i < myString.length; i++)\r\n {\r\n if (myString[i] == '\"') {\r\n myNewString = myNewString + '\\\\\"';\r\n }\r\n else {\r\n myNewString = myNewString + myString[i];\r\n }\r\n }\r\n return myNewString;\r\n }\r\n removeAdditionalFilter(FieldName: string) {\r\n var item = this.AdditionalFilters.filter(d=> d.FieldName == FieldName && d.IsLookUpfilter==true)[0];\r\n if (item) {\r\n var index = this.AdditionalFilters.indexOf(item);\r\n this.AdditionalFilters.splice(index, 1);\r\n }\r\n }\r\n \r\n pushAdditionalFilter(params:ApiQueryFiltersAddParams){\r\n if (!params.IsCacheOnClient) {\r\n if (typeof (params.FieldValue) === \"string\") {\r\n if (params.FieldValue)\r\n params.FieldValue = this.myReplace(params.FieldValue);//FieldValue.replace('\"', '\\\\\"');\r\n if (params.FieldName != \"ImportersFilter\")\r\n params.FieldValue = encodeURIComponent(params.FieldValue)\r\n //FieldValue = FieldValue.replace(\"%22\", \"\\%22\");\r\n }\r\n if (typeof (params.FieldValue2) === \"string\") {\r\n if (params.FieldValue)\r\n params.FieldValue2 = this.myReplace(params.FieldValue2);//.replace('\"', '\\\\\"');\r\n params.FieldValue2 = encodeURIComponent(params.FieldValue2)\r\n //FieldValue = FieldValue.replace(\"%20\", \" \");\r\n }\r\n if (typeof (params.FieldValue3) === \"string\") {\r\n if (params.FieldValue)\r\n params.FieldValue3 = this.myReplace(params.FieldValue3);//FieldValue3.replace('\"', '\\\\\"');\r\n params.FieldValue3 = encodeURIComponent(params.FieldValue3)\r\n //FieldValue = FieldValue.replace(\"%20\", \" \");\r\n }\r\n }\r\n var existedItem = this.AdditionalFilters.find(d => d.FieldName == params.FieldName);\r\n if (!existedItem || params.ForceEnableAdd) {\r\n var item = new FilterItem(\r\n params.FieldName,\r\n params.FieldValue, \r\n params.FieldValue2,\r\n params.FieldValue3,\r\n params.Operator,\r\n params.IsCustom,\r\n params.DisplayInList,\r\n params.IsCustomField, \r\n params.FieldDataType,\r\n params.IgnoreFilter,\r\n params.IsCacheOnClient,\r\n params.IsLookUpFilter);\r\n this.AdditionalFilters.push(item);\r\n }\r\n }\r\n\r\n public queryId: string = '';\r\n public queryCode: string = '';\r\n\r\n public userid: string = '';\r\n public ObjectTableName: string = '';\r\n\r\n public Filter1Name: string | null = null;\r\n public Filter1Value: any;\r\n public Filter1Operator: string | null = null;\r\n public Filter1Value2: any;\r\n\r\n public Filter2Name: any;\r\n public Filter2Value: any;\r\n public Filter2Operator: any;\r\n public Filter2Value2: any;\r\n\r\n public Filter3Name: any;\r\n public Filter3Value: any;\r\n public Filter3Operator: any;\r\n public Filter3Value2: any;\r\n\r\n public Filter4Name: any;\r\n public Filter4Value: any;\r\n public Filter4Operator: any;\r\n public Filter4Value2: any;\r\n\r\n public Filter5Name: any;\r\n public Filter5Value: any;\r\n public Filter5Operator: any;\r\n public Filter5Value2: any;\r\n\r\n public Filter6Name: any;\r\n public Filter6Value: any;\r\n public Filter6Operator: any;\r\n public Filter6Value2: any;\r\n\r\n public Filter7Name: any;\r\n public Filter7Value: any;\r\n public Filter7Operator: any;\r\n public Filter7Value2: any;\r\n\r\n public Filter8Name: any;\r\n public Filter8Value: any;\r\n public Filter8Operator: any;\r\n public Filter8Value2: any;\r\n\r\n public Filter9Name: any;\r\n public Filter9Value: any;\r\n public Filter9Operator: any;\r\n public Filter9Value2: any;\r\n\r\n public Filter10Name: any;\r\n public Filter10Value: any;\r\n public Filter10Operator: any;\r\n public Filter10Value2: any;\r\n\r\n public GetAll: boolean = true;\r\n\r\n \r\n}\r\n\r\nexport class FilterItem {\r\n constructor(\r\n public FieldName: string,\r\n public FieldValue: any,\r\n public FieldValue2: any,\r\n public FieldValue3: any,\r\n public Operator: string,\r\n public IsCustom: boolean,\r\n public DisplayInList: boolean,\r\n public IsCustomField: boolean,\r\n public FieldDataType: string,\r\n public IgnoreFilter: boolean,\r\n public IsCacheOnClient: boolean = false,\r\n public IsLookUpfilter:boolean=false) { }\r\n \r\n\r\n}\r\nexport class ApiQueryFiltersAddParams{\r\n FieldName: string = '';\r\n FieldValue: any;\r\n FieldValue2: any;\r\n FieldValue3: any;\r\n Operator: string = '';\r\n IsCustom: boolean = false;\r\n DisplayInList: boolean = false;\r\n IsCustomField: boolean = false;\r\n FieldDataType: string = '';\r\n IgnoreFilter: boolean = false;\r\n IsCacheOnClient: boolean = false;\r\n ForceEnableAdd:boolean = false;\r\n IsLookUpFilter:boolean=false;\r\n}\r\n","import React from \"react\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Dropdown, DropdownChangeParams } from \"primereact/dropdown\";\r\n\r\nimport { Button } from \"primereact/button\";\r\n\r\nimport { DataService } from \"../../services/DataService\";\r\nimport { ApiQueryFilters } from \"../../common/data-contracts/ApiQueryFilter\";\r\nimport { Widget } from \"../../types/widget\";\r\nimport ReactApexChart from \"react-apexcharts\";\r\nimport { ChartComponentState } from \"../../types/ChartComponentState\";\r\n\r\nconst calcTypes = \r\n[{Name: \"Sum\", Disabled: false},\r\n {Name: \"Min\", Disabled: true},\r\n {Name: \"Max\", Disabled: false},\r\n {Name: \"Count\", Disabled: false},\r\n {Name: \"Average\", Disabled: true}]\r\n;\r\ninterface NewWidgetProps {\r\n onOkButton(data: Widget):any;\r\n onCancelButton():any;\r\n widget: Widget | null;\r\n\r\n}\r\n\r\ninterface NewWidgetState { \r\n Widget: Widget;\r\n objectTables: any[]; \r\n objectFields: any[];\r\n}\r\n\r\nconst chartState:ChartComponentState = {\r\n series: [\r\n {\r\n data: [10,20,30],\r\n },\r\n ],\r\n options: {\r\n chart: {\r\n toolbar:{show: false},\r\n \r\n },\r\n colors: [\"#22D792\"],\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: true,\r\n }\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n categories: ['A','B','C'],\r\n },\r\n },\r\n};\r\n\r\nconst ChartTypes = [{ Name: \"Column\", Disabled: true },{ Name: \"Area\", Disabled: false }, { Name: \"Bar\", Disabled: false }, { Name: \"Pie\", Disabled: true }, { Name: \"Donut\", Disabled: true }];\r\nclass NewWidget extends React.Component<NewWidgetProps, NewWidgetState> {\r\n constructor(props: NewWidgetProps | Readonly<NewWidgetProps>) {\r\n super(props);\r\n const defaultWidget: Widget = {\r\n WidgetName: 'New Widget',\r\n WidgetType: \"Bar\",\r\n CalcType: null,\r\n ValueFieldName: null,\r\n ValueFieldId: null,\r\n EntityName: null,\r\n EntityId: null,\r\n Group: null\r\n };\r\n this.state = {\r\n Widget: this.props.widget || defaultWidget,\r\n objectTables: [],\r\n objectFields: [], \r\n }; \r\n \r\n this.getData();\r\n }\r\n getData() {\r\n this.getObjectTables();\r\n }\r\n getObjectTables() {\r\n let service = new DataService();\r\n const filters = new ApiQueryFilters();\r\n filters.addAdditionalFilter(\r\n \"Name\",\r\n 'GLAccount,ARPayment,ARInvoice',\r\n null,\r\n null,\r\n \"InListExact\",\r\n false,\r\n false,\r\n false,\r\n \"string\"\r\n );\r\n service.getObjectTables(filters).then((response: any) => {\r\n console.log(\"getObjectTables\", response);\r\n\r\n\r\n if(response.data.Result && this.props.widget){\r\n this.selectedTable = response.data.Result.find((t: { Id: string | null | undefined; })=>t.Id === this.props.widget?.EntityId);\r\n }\r\n\r\n this.setState({ objectTables: response.data.Result });\r\n\r\n if(response.data.Result && this.props.widget){\r\n this.getObjectFields();\r\n }\r\n\r\n\r\n },(error: string)=>{\r\n alert(\"Something wrong happen, \" + error);\r\n });\r\n }\r\n getObjectFields() {\r\n let service = new DataService();\r\n const filters = new ApiQueryFilters();\r\n filters.SortBy = 'FieldName';\r\n filters.addAdditionalFilter(\r\n \"ObjectTableId\",\r\n this.state.Widget.EntityId,\r\n null,\r\n null,\r\n \"Equals\",\r\n false,\r\n false,\r\n false,\r\n \"string\"\r\n );\r\n service.getObjectFields(filters).then((response: any) => {\r\n console.log(\"getByfilters\", response);\r\n this.setState({ objectFields: response.data.Result });\r\n },(error: string)=>{\r\n alert(\"Something wrong happen, \" + error);\r\n });\r\n }\r\nselectedTable: any;\r\n onEntityChanged = (e: DropdownChangeParams) => {\r\n const selectedTable = e.target.value;\r\n this.selectedTable = selectedTable; \r\n // const selectedTable = e.value;\r\n console.log(\"onEntityChanged\",selectedTable);\r\n \r\n this.state.Widget.EntityName = selectedTable?.Name;\r\n this.state.Widget.EntityId = selectedTable?.Id;\r\n this.setState({ Widget: {...this.state.Widget} }, () => {\r\n if (selectedTable) {\r\n this.getObjectFields();\r\n } else {\r\n this.state.Widget.Group = null;\r\n this.state.Widget.ValueFieldId = null;\r\n this.state.Widget.ValueFieldName = null;\r\n this.setState({ Widget: {...this.state.Widget},\r\n objectFields: [] });\r\n }\r\n });\r\n }\r\n onGroupChanged = (e: DropdownChangeParams) => {\r\n this.state.Widget.Group = e.value;\r\n this.setState({ Widget: {...this.state.Widget} });\r\n }\r\n selectedValueField: { Id: string | null; FieldName: string | null; };\r\n onValueChanged = (e: DropdownChangeParams) => {\r\n this.selectedValueField = e.value;\r\n this.state.Widget.ValueFieldId = this.selectedValueField.Id;\r\n this.state.Widget.ValueFieldName = this.selectedValueField.FieldName;\r\n this.setState({ Widget: {...this.state.Widget} });\r\n };\r\n onCalcTypeChanged = (e: DropdownChangeParams) => {\r\n this.state.Widget.CalcType = e.value;\r\n this.setState({ Widget: {...this.state.Widget} });\r\n }\r\n render() {\r\n return (\r\n <div className=\"dialog-wrapper\">\r\n <div className=\"dialog-content container\">\r\n <div style={{ width: \"250px\", padding: '0 40px 0 0', textAlign: 'center' }}>\r\n <Dropdown\r\n style={{ width: \"160px\" }}\r\n value={this.state.Widget.WidgetType}\r\n options={ChartTypes}\r\n placeholder=\"Chart Type\"\r\n optionLabel=\"Name\"\r\n optionValue=\"Name\"\r\n optionDisabled={(option) => option?.Disabled}\r\n onChange={(e) => {\r\n this.state.Widget.WidgetType = e.value;\r\n this.setState({ Widget: { ...this.state.Widget } });\r\n }}\r\n />\r\n <br />\r\n <br />\r\n <div>\r\n {this.state.Widget.WidgetType === 'Bar' && <ReactApexChart options={chartState.options} series={chartState.series} type=\"bar\" height={\"100%\"} />}\r\n {this.state.Widget.WidgetType === 'Area' && <ReactApexChart options={chartState.options} series={chartState.series} type=\"area\" height={\"100%\"} />}\r\n </div>\r\n </div>\r\n\r\n <div>\r\n <form id=\"frm\" name=\"frm\">\r\n {/* <input type=\"submit\" opacity /> */}\r\n <div className=\"form\">\r\n {/* Name */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-name\">Name</label>\r\n <InputText\r\n id=\"widget-name\"\r\n className=\"p-inputtext-sm\"\r\n value={this.state.Widget.WidgetName || undefined}\r\n required\r\n onChange={(e) => {\r\n this.state.Widget.WidgetName = e.target.value;\r\n this.setState({ Widget: { ...this.state.Widget } });\r\n }}\r\n />\r\n </div>\r\n\r\n {/* Entity */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-Entity\">Entity</label>\r\n <Dropdown\r\n value={this.selectedTable}\r\n options={this.state.objectTables}\r\n onChange={this.onEntityChanged}\r\n optionLabel=\"Name\"\r\n // optionValue=\"Id\"\r\n filter\r\n showClear\r\n filterBy=\"Name\"\r\n placeholder=\"Select an entity\"\r\n // valueTemplate={selectedCountryTemplate}\r\n // itemTemplate={countryOptionTemplate}\r\n />\r\n </div>\r\n\r\n {/* Group */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-Entity\">Group</label>\r\n <Dropdown\r\n value={this.state.Widget.Group}\r\n options={this.state.objectFields}\r\n virtualScrollerOptions={{ itemSize: 50 }}\r\n onChange={this.onGroupChanged}\r\n optionLabel=\"FieldName\"\r\n optionValue=\"FieldName\"\r\n filter\r\n showClear\r\n filterBy=\"FieldName\"\r\n placeholder=\"Select group\"\r\n />\r\n </div>\r\n\r\n {/* CalcType */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-Entity\">Calc. Type</label>\r\n <Dropdown\r\n value={this.state.Widget.CalcType}\r\n options={calcTypes}\r\n optionLabel=\"Name\"\r\n optionValue=\"Name\"\r\n optionDisabled={(option) => option?.Disabled}\r\n onChange={this.onCalcTypeChanged}\r\n showClear\r\n required\r\n placeholder=\"Select type\"\r\n />\r\n </div>\r\n\r\n {/* Value */}\r\n <div className=\"form-field\">\r\n <label htmlFor=\"widget-Entity\">Value</label>\r\n <Dropdown\r\n value={this.selectedValueField}\r\n options={this.state.objectFields}\r\n virtualScrollerOptions={{ itemSize: 50 }}\r\n onChange={this.onValueChanged}\r\n optionLabel=\"FieldName\"\r\n // optionValue=\"Id\"\r\n filter\r\n showClear\r\n filterBy=\"FieldName\"\r\n placeholder=\"Select value\"\r\n />\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n <div className=\"dialog-footer\">\r\n <Button\r\n label=\"Cancel\"\r\n className=\"p-button-text\"\r\n onClick={this.props.onCancelButton.bind(this)}\r\n />\r\n <Button\r\n label=\"Ok\"\r\n form=\"frm\"\r\n // icon=\"pi pi-check\"\r\n onClick={this.props.onOkButton.bind(this, { ...this.state.Widget })}\r\n autoFocus\r\n />\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default NewWidget;\r\n","import React from 'react';\r\n\r\nclass ColumnChartComponent extends React.Component {\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n\r\n \r\n }\r\n\r\n\r\n\r\n render() {\r\n return (\r\n\r\n\r\n <div id=\"chart\">\r\n </div>\r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default ColumnChartComponent;","import React from \"react\";\r\n\r\n\r\n\r\nexport class PieChartComponent extends React.Component {\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n <div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default PieChartComponent;\r\n","import React from \"react\";\r\n\r\nclass MixedChartComponent extends React.Component {\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return <div id=\"chart\"></div>;\r\n }\r\n}\r\n\r\nexport default MixedChartComponent;\r\n","import React from 'react'\r\nimport ReactApexChart from 'react-apexcharts'\r\nimport { ChartComponentProps } from '../../../types/ChartComponentProps'\r\nimport { ChartComponentState } from '../../../types/ChartComponentState'\r\n\r\nclass AreaChartComponent extends React.Component<\r\nChartComponentProps,\r\nChartComponentState\r\n> {\r\n constructor(props: ChartComponentProps | Readonly<ChartComponentProps>) {\r\n super(props)\r\n\r\n this.state = {\r\n series: [\r\n {\r\n name: 'series1',\r\n data: [31, 40, 28, 51, 42, 109, 100],\r\n },\r\n {\r\n name: 'series2',\r\n data: [11, 32, 45, 32, 34, 52, 41],\r\n },\r\n ],\r\n options: {\r\n chart: {\r\n height: 350,\r\n type: 'area',\r\n },\r\n colors: ['#22D792','#2C99F7','#FBC445','#F74E49','#717585'] ,\r\n\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n stroke: {\r\n curve: 'smooth',\r\n },\r\n xaxis: {\r\n type: 'datetime',\r\n categories: [\r\n '2018-09-19T00:00:00.000Z',\r\n '2018-09-19T01:30:00.000Z',\r\n '2018-09-19T02:30:00.000Z',\r\n '2018-09-19T03:30:00.000Z',\r\n '2018-09-19T04:30:00.000Z',\r\n '2018-09-19T05:30:00.000Z',\r\n '2018-09-19T06:30:00.000Z',\r\n ],\r\n },\r\n tooltip: {\r\n x: {\r\n format: 'dd/MM/yy HH:mm',\r\n },\r\n },\r\n },\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div id=\"chart\">\r\n {this.props.dateFilter && <div className=\"filter-label\"> Date: {this.props.dateFilter.toLocaleDateString(\"en-US\")+''}</div>}\r\n\r\n <ReactApexChart\r\n options={this.state.options}\r\n series={this.state.series}\r\n type=\"area\"\r\n height={'100%'}\r\n />\r\n </div>\r\n )\r\n }\r\n}\r\n\r\nexport default AreaChartComponent;\r\n","import React from \"react\";\r\n\r\nclass TimelineChartComponent extends React.Component {\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return <div id=\"chart\"></div>;\r\n }\r\n}\r\n\r\nexport default TimelineChartComponent;\r\n","import React from 'react'\r\n\r\nclass CandleChartComponent extends React.Component {\r\n\r\n constructor(props: {} | Readonly<{}>) {\r\n super(props);\r\n\r\n \r\n }\r\n\r\n\r\n\r\n render() {\r\n return (\r\n\r\n\r\n <div id=\"chart\">\r\n </div>\r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default CandleChartComponent\r\n","import React from \"react\";\r\nimport ReactApexChart from \"react-apexcharts\";\r\nimport { ApiQueryFilters } from \"../../../common/data-contracts/ApiQueryFilter\";\r\nimport { DataService } from \"../../../services/DataService\";\r\nimport { ChartComponentProps } from \"../../../types/ChartComponentProps\";\r\nimport { ChartComponentState } from \"../../../types/ChartComponentState\";\r\n\r\n\r\n\r\n\r\n\r\nclass BarChartComponent extends React.Component<\r\n ChartComponentProps,\r\n ChartComponentState\r\n> {\r\n\r\n data: any[] = [];\r\n constructor(props: ChartComponentProps | Readonly<ChartComponentProps>) {\r\n super(props);\r\n const filters = new ApiQueryFilters();\r\n const dataService = new DataService();\r\n if (this.props.widget?.EntityName)\r\n dataService.getDataByFilters(filters, this.props.widget.EntityName || '')\r\n .then((response: any) => {\r\n console.log(\"dataService.getDataByFilters\", response);\r\n this.data = response.data.Result;\r\n this.InitChart();\r\n })\r\n\r\n\r\n this.state = {\r\n series: [\r\n {\r\n data: [],\r\n },\r\n ],\r\n options: {\r\n chart: {\r\n type: \"bar\",\r\n height: 350,\r\n events: {\r\n dataPointSelection: function (event, chartContext, config) {\r\n const data = config.w.config.xaxis.categories[config.seriesIndex];\r\n console.log(\"Selected \" + data);\r\n },\r\n },\r\n },\r\n colors: [\"#22D792\", \"#2C99F7\", \"#FBC445\", \"#F74E49\", \"#717585\"],\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: true,\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n categories: [],\r\n },\r\n },\r\n };\r\n\r\n }\r\n\r\n\r\n private InitChart() {\r\n const groups = this.GroupItems();\r\n\r\n\r\n const catItems = Object.keys(groups);\r\n const dataItems: any[] = Object.values(groups);\r\n\r\n\r\n this.setState({\r\n series: [\r\n {\r\n data: dataItems,\r\n },\r\n ],\r\n options: {\r\n chart: {\r\n type: \"bar\",\r\n height: 350,\r\n events: {\r\n dataPointSelection: function (event, chartContext, config) {\r\n const data = config.w.config.xaxis.categories[config.seriesIndex];\r\n console.log(\"Selected \" + data);\r\n },\r\n },\r\n },\r\n colors: [\"#22D792\", \"#2C99F7\", \"#FBC445\", \"#F74E49\", \"#717585\"],\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: true,\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n categories: catItems,\r\n },\r\n },\r\n });\r\n }\r\n // private GroupItems()\r\n // {\r\n // return this.data.reduce((groups, record) =>\r\n // {\r\n // const fieldName = this.props.widget.ValueFieldName + '';\r\n\r\n // const group = (groups[record] || []);\r\n // group.push(record);\r\n\r\n // const recordCategory = record[this.props.widget.ValueFieldName + ''];\r\n // groups[record[fieldName]] = groups[recordCategory] + 1 || 0;\r\n // return groups;\r\n // }, {});\r\n // }\r\n private GroupItems() {\r\n let groups = this.data.reduce((groups, record) => {\r\n const CreateGroup = (groups: any, record: any) => {\r\n const group = (groups[record] || []);\r\n group.push(record);\r\n }\r\n const SetGroupData = () => {\r\n const groupByFieldName = this.props.widget.Group + \"\";\r\n const valueFieldName = this.props.widget.ValueFieldName + \"\";\r\n const recordCategory = record[groupByFieldName];\r\n const recordValue = record[valueFieldName];\r\n let currentGroupValue = groups[record[groupByFieldName]];\r\n\r\n switch (this.props.widget.CalcType) {\r\n case \"Count\": {\r\n if (!currentGroupValue) currentGroupValue = 0;\r\n currentGroupValue = currentGroupValue + 1;\r\n break;\r\n }\r\n case \"Sum\": {\r\n if (!currentGroupValue) currentGroupValue = 0;\r\n currentGroupValue = currentGroupValue + recordValue;\r\n break;\r\n }\r\n case \"Max\": {\r\n if (!currentGroupValue) currentGroupValue = -9999999999999;\r\n\r\n if (recordValue > currentGroupValue)\r\n currentGroupValue = recordValue;\r\n break;\r\n }\r\n case \"Min\": {\r\n if (!currentGroupValue) currentGroupValue = 9999999999999;\r\n\r\n if (recordValue < currentGroupValue)\r\n currentGroupValue = recordValue;\r\n break;\r\n }\r\n case \"Average\": {\r\n if (!currentGroupValue) currentGroupValue = [];\r\n currentGroupValue.push(recordValue);\r\n break;\r\n }\r\n }\r\n\r\n groups[record[groupByFieldName]] = currentGroupValue;\r\n };\r\n\r\n CreateGroup(groups, record);\r\n SetGroupData();\r\n return groups;\r\n }, {});\r\n\r\n if (this.props.widget.CalcType == \"Average\") {\r\n for (const key in groups) {\r\n if (Object.prototype.hasOwnProperty.call(groups, key)) {\r\n const groupArray: any[] = groups[key];\r\n let sum = groupArray.reduce((a, b) => a + (b[key] || 0), 0);\r\n let avg = sum / groupArray.length;\r\n groups[key] = avg;\r\n }\r\n }\r\n }\r\n return groups;\r\n }\r\n\r\n render() {\r\n return (\r\n\r\n <div id=\"chart\">\r\n <div>\r\n {this.props.dateFilter && <div className=\"filter-label\"> Date: {this.props.dateFilter.toLocaleDateString(\"en-US\") + ''}</div>}\r\n </div>\r\n {/* <div>\r\n {this.props.widget?.EntityName}: {this.props.widget?.CalcType} of {this.props.widget?.ValueFieldName} \r\n </div> */}\r\n <ReactApexChart\r\n options={this.state.options}\r\n series={this.state.series}\r\n type=\"bar\"\r\n height={\"100%\"}\r\n />\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default BarChartComponent;\r\n","import { stat } from \"fs\";\r\nimport { Button } from \"primereact/button\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport AreaChartComponent from \"./ChartsComponents/AreaChartComponent\";\r\nimport BarChartComponent from \"./ChartsComponents/BarChartComponent\";\r\nimport CandleChartComponent from \"./ChartsComponents/CandleChartComponent\";\r\nimport ColumnChartComponent from \"./ChartsComponents/ColumnChartComponent\";\r\nimport MixedChartComponent from \"./ChartsComponents/MixedChartComponent\";\r\nimport PieChartComponent from \"./ChartsComponents/PieChartComponent\";\r\nimport TimelineChartComponent from \"./ChartsComponents/TimelineChartComponent\";\r\n\r\n\r\ntype WidgetCardProps = {\r\n editBtnClicked(widget: any):any;\r\n deleteBtnClicked(i: any):any;\r\n widget: any | null;\r\n el: any;\r\n dateFilter: any;\r\n}\r\n\r\n\r\nconst WidgetCard = (props: WidgetCardProps, state: any) => {\r\n const moreBtnToggle = useRef<OverlayPanel>(null);\r\n\r\n const widgetComponents: any[] = [\r\n { type: \"Bar\", component: BarChartComponent },\r\n { type: \"Column\", component: ColumnChartComponent },\r\n { type: \"Pie\", component: PieChartComponent },\r\n { type: \"Mixed\", component: MixedChartComponent },\r\n { type: \"Timeline\", component: TimelineChartComponent },\r\n { type: \"Candle\", component: CandleChartComponent },\r\n { type: \"Area\", component: AreaChartComponent },\r\n ];\r\n\r\n return (\r\n <div className=\"panel\" key={props.el.i}>\r\n <header>\r\n <h1>{props.widget?.WidgetName || \"not set\"}</h1>\r\n <Button\r\n icon=\"pi pi-ellipsis-v\"\r\n className=\"p-button-lg p-button-rounded p-button-text\"\r\n onClick={(e) => moreBtnToggle.current?.toggle(e)}\r\n />\r\n\r\n <OverlayPanel ref={moreBtnToggle} className=\"buttons-overlay\">\r\n <div className=\"buttons-list\">\r\n <div onClick={() => props.editBtnClicked(props.widget)} > Edit </div>\r\n <div onClick={() => props.deleteBtnClicked(props.el.i)} >Remove</div>\r\n </div>\r\n </OverlayPanel>\r\n </header>\r\n\r\n <div className=\"dashboard-widget\">\r\n {React.createElement(\r\n widgetComponents.find((wc) => wc.type === props.widget.WidgetType)\r\n ?.component,\r\n {\r\n key: props.el.i,\r\n dateFilter: props.dateFilter,\r\n widget: props.widget,\r\n }\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default WidgetCard;\r\n","\r\n\r\nimport { WidthProvider, Responsive } from \"react-grid-layout\";\r\n\r\nimport React, { createRef, useEffect, useRef, useState } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport _, { find } from \"lodash\";\r\nimport { Ripple } from \"primereact/ripple\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport NewWidget from \"./NewWidget\";\r\nimport { Calendar } from 'primereact/calendar';\r\n\r\nimport ColumnChartComponent from \"./ChartsComponents/ColumnChartComponent\";\r\nimport PieChartComponent from \"./ChartsComponents/PieChartComponent\";\r\nimport MixedChartComponent from \"./ChartsComponents/MixedChartComponent\";\r\nimport AreaChartComponent from \"./ChartsComponents/AreaChartComponent\";\r\nimport TimelineChartComponent from \"./ChartsComponents/TimelineChartComponent\";\r\nimport CandleChartComponent from \"./ChartsComponents/CandleChartComponent\";\r\nimport BarChartComponent from \"./ChartsComponents/BarChartComponent\";\r\nimport { WidgetComponent } from \"../../types/WidgetComponent\";\r\nimport { Widget } from \"../../types/widget\";\r\nimport WidgetCard from \"./WidgetCard\";\r\n\r\nconst ResponsiveReactGridLayout = WidthProvider(Responsive);\r\nconst newWidgetWidth = 3;\r\n\r\n\r\nconst DashboardDesigner = () => {\r\n\r\n const [widgetButtonToggle, setWidgetButtonToggle] = useState(createRef<OverlayPanel>());\r\n const [addWidgetButtonToggle, setAddWidgetButtonToggle] = useState(createRef<OverlayPanel>());\r\n const [widgetComponents, setWidgetComponents] = useState([\r\n { type: \"Bar\", component: BarChartComponent },\r\n { type: \"Column\", component: ColumnChartComponent },\r\n { type: \"Pie\", component: PieChartComponent },\r\n { type: \"Mixed\", component: MixedChartComponent },\r\n { type: \"Timeline\", component: TimelineChartComponent },\r\n { type: \"Candle\", component: CandleChartComponent },\r\n { type: \"Area\", component: AreaChartComponent },\r\n ]);\r\n const array12 = Array.from({ length: 12 }).fill(null);\r\n var savedLayouts = getFromStorage(\"grid-layout\");\r\n var savedWidgets = getFromStorage(\"grid-widgets\");\r\n const minimumPlaceholderRowsCount = 12;\r\n const [layouts, setLayouts] = useState(savedLayouts || { lg: [] });\r\n const [placeholderRowsArray, setplaceholderRowsArray] = useState(Array.from({ length: minimumPlaceholderRowsCount }).fill(null));\r\n const [showMsg, setShowMsg] = useState(false);\r\n const [dateFilter, setDateFilter] = useState<Date | Date[] | undefined>(undefined);\r\n const [displayDialog, setDisplayDialog] = useState(false);\r\n const [dashboardTitle, setDashboardTitle] = useState(\"\");\r\n const [widgets, setWidgets] = useState(savedWidgets || []);\r\n const [placeholderRows, setPlaceholderRows] = useState(minimumPlaceholderRowsCount);\r\n const [selectedWidget, setSelectedWidget] = useState();\r\n const [widgetToEdit, setWidgetToEdit] = useState<Widget | null>(null);\r\n const renderPageHeader = () => {\r\n return (\r\n <div className=\"dl-dashboard-header\">\r\n <div className=\"dl-heder-row\">\r\n {/* <Calendar\r\n value={dateFilter}\r\n showIcon={true}\r\n onChange={(e) => setDateFilter(e.value)}\r\n placeholder=\"filter by date...\"\r\n ></Calendar> */}\r\n <div style={{ width: '192px' }}>\r\n <Dropdown\r\n value={selectedWidget}\r\n options={WidgetTypes}\r\n optionValue=\"Name\"\r\n optionLabel=\"Name\"\r\n onChange={(e) => addComponent(e.value)}\r\n placeholder=\"Add Component\"\r\n optionDisabled={(option) => {\r\n return option?.Disabled;\r\n }}\r\n scrollHeight=\"300px\"\r\n />\r\n </div>\r\n\r\n </div>\r\n </div>\r\n );\r\n }\r\n function addComponent(componentType) {\r\n toggleDialog();\r\n }\r\n function reset() {\r\n window.localStorage.clear();\r\n window.location.reload();\r\n }\r\n\r\n // function renderGridWidgetsPlaceholder() {\r\n // console.log(placeholderRows)\r\n // return (\r\n // <div className=\"dl-grid dl-grid--bordered\">\r\n // {[...Array(placeholderRows)].map((e, i) =>\r\n // [...Array(layoutGridProps.cols.lg)].map((e, i) => (\r\n // <div key={i}\r\n // style={{\r\n // height: layoutGridProps.rowHeight,\r\n // }}\r\n // ></div>\r\n // ))\r\n // )}\r\n // </div>\r\n // );\r\n // }\r\n\r\n function onLayoutChange(layout: any, layouts) {\r\n console.log(layout, layouts);\r\n saveToStorage(\"grid-layout\", layouts);\r\n saveToStorage(\"grid-widgets\", widgets);\r\n setLayouts(layouts);\r\n UpdatePlaceholderDimensions();\r\n }\r\n function renderWidgetComponent(el: any) {\r\n const widget = FindWidget(el);\r\n\r\n return (\r\n <div key={el.i}>\r\n <WidgetCard\r\n key={el.i}\r\n widget={widget}\r\n el={el}\r\n dateFilter={dateFilter}\r\n editBtnClicked={editWidget}\r\n deleteBtnClicked={deletePanel}\r\n />\r\n </div>\r\n );\r\n }\r\n function deletePanel(i) {\r\n let layout = layouts[\"lg\"];\r\n var itemIndex = layout.findIndex((d) => d.i === i);\r\n layout.splice(itemIndex, 1);\r\n setLayouts({ lg: [...layout] });\r\n setWidgets(_.reject(widgets, { i: i }));\r\n SaveGrid();\r\n };\r\n function SaveGrid() {\r\n saveToStorage(\"grid-layout\", layouts);\r\n saveToStorage(\"grid-widgets\", widgets);\r\n }\r\n function editWidget(widget: any) {\r\n setWidgetToEdit(widget);\r\n toggleDialog();\r\n };\r\n function FindWidget(el: any) {\r\n return widgets.find((d) => d.i === el.i);\r\n }\r\n function saveToStorage(key, value) {\r\n setShowMsg(true);\r\n setTimeout(() => {\r\n setShowMsg(false);\r\n }, 2000);\r\n window.localStorage.setItem(key, JSON.stringify(value));\r\n };\r\n function getFromStorage(key) {\r\n const layout: any = window.localStorage.getItem(key);\r\n return JSON.parse(layout);\r\n };\r\n function toggleDialog() {\r\n setDisplayDialog(!displayDialog);\r\n }\r\n function renderNewWidgetDialog() {\r\n\r\n return (\r\n <Dialog\r\n\r\n header={widgetToEdit ? \"Edit Chart\" : \"New Chart\"}\r\n visible={displayDialog}\r\n onHide={toggleDialog}\r\n breakpoints={{ \"850px\": \"95vw\", \"600px\": \"100vw\" }}\r\n style={{ width: \"800px\" }}\r\n >\r\n <NewWidget\r\n onOkButton={onOkButton}\r\n onCancelButton={onCancelButton}\r\n widget={widgetToEdit}\r\n />\r\n </Dialog>\r\n );\r\n }\r\n function addPanel(newWidget: Widget) {\r\n\r\n let newWidgetPosition = EvaluateNewWidgetPosition();\r\n\r\n const widgetComponent = widgetComponents.find(\r\n (wc) => wc.type === newWidget.WidgetType\r\n );\r\n\r\n const randomIndex = getRandomInt(100, 999);\r\n const newPanel = {\r\n i: \"\" + randomIndex,\r\n x: newWidgetPosition.x,\r\n y: newWidgetPosition.y,\r\n w: newWidgetWidth,\r\n h: 5,\r\n minH: 5,\r\n minW: 3,\r\n };\r\n\r\n widgets.push({\r\n i: \"\" + randomIndex,\r\n title: newWidget.WidgetName,\r\n component: widgetComponent?.component,\r\n ...newWidget,\r\n });\r\n setLayouts({ lg: layouts[\"lg\"].concat(newPanel) });\r\n setWidgets(widgets);\r\n\r\n };\r\n\r\n function EvaluateNewWidgetPosition() {\r\n let widgetYPosition = 0;\r\n let widgetXPosition = 0;\r\n let layout: { x: number, y: number, w: number }[] = layouts[\"lg\"];\r\n const maxY = layout.reduce((max, widget) => {\r\n if (widget.y > max) max = widget.y;\r\n return max;\r\n }, 0);\r\n\r\n for (let y = 0; y <= maxY; y++) {\r\n const widgetsRow = layout.filter(d => d.y == y);\r\n const lastWidgetStartXPosition = Math.max.apply(Math, widgetsRow.map(a => a.x));\r\n const lastWidget: any = widgetsRow.find(a => a.x == lastWidgetStartXPosition);\r\n if (lastWidget) {\r\n const lastWidgetEndXPosition = lastWidgetStartXPosition + lastWidget.w;\r\n const availableHorizontalSlots = layoutGridProps.cols.lg - lastWidgetEndXPosition;\r\n if (availableHorizontalSlots >= newWidgetWidth) {\r\n widgetYPosition = y;\r\n widgetXPosition = lastWidgetEndXPosition;\r\n return { x: widgetXPosition, y: widgetYPosition };\r\n\r\n } else {\r\n widgetYPosition = y + 1;\r\n }\r\n } else {\r\n widgetYPosition = y + 1;\r\n }\r\n }\r\n\r\n return { x: widgetXPosition, y: widgetYPosition };\r\n }\r\n function onOkButton(data: any) {\r\n setWidgetToEdit(null);\r\n toggleDialog();\r\n addPanel(data);\r\n };\r\n function onCancelButton() {\r\n setWidgetToEdit(null);\r\n toggleDialog();\r\n };\r\n function getRandomInt(min, max) {\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n }\r\n\r\n // useEffect(() => {\r\n\r\n // });\r\n function UpdatePlaceholderDimensions() {\r\n \r\n var gridLayout = document.getElementsByClassName('react-grid-layout')\r\n if (!gridLayout)\r\n return;\r\n const gridElementHeight = gridLayout[0]?.clientHeight;\r\n\r\n let newPlaceholderRows = Math.floor(gridElementHeight / layoutGridProps.rowHeight);\r\n newPlaceholderRows = newPlaceholderRows < minimumPlaceholderRowsCount ? minimumPlaceholderRowsCount : newPlaceholderRows;\r\n setPlaceholderRows(newPlaceholderRows)\r\n setplaceholderRowsArray(Array.from({ length: newPlaceholderRows }).fill(null));\r\n }\r\n return (<div className=\"dl-full-hight\">\r\n <div className=\"dl-box\">\r\n <div className=\"dl-row dl-header\">\r\n {renderPageHeader()}\r\n </div>\r\n <div className=\"dl-row dl-content\">\r\n <div className=\"dl-grid-container\">\r\n {/* {renderGridWidgetsPlaceholder()} */}\r\n <div className=\"dl-grid dl-grid--bordered\">\r\n {placeholderRowsArray.map((e, i) =>\r\n array12.map((e, i) => (\r\n <div key={i}\r\n style={{\r\n height: layoutGridProps.rowHeight,\r\n }}\r\n ></div>\r\n ))\r\n )}\r\n </div>\r\n\r\n\r\n <ResponsiveReactGridLayout\r\n {...layoutGridProps}\r\n layouts={layouts}\r\n compactType=\"vertical\"\r\n\r\n onWidthChange={() => UpdatePlaceholderDimensions()}\r\n onLayoutChange={(layout, layouts) =>\r\n onLayoutChange(layout, layouts)\r\n }\r\n >\r\n {layouts[\"lg\"].map((el) =>\r\n\r\n <div key={el.i}>\r\n <WidgetCard\r\n key={el.i}\r\n widget={FindWidget(el)}\r\n el={el}\r\n dateFilter={dateFilter}\r\n editBtnClicked={editWidget}\r\n deleteBtnClicked={deletePanel}\r\n />\r\n </div>\r\n )}\r\n </ResponsiveReactGridLayout>\r\n </div>\r\n\r\n </div>\r\n {/* <div className=\"dl-row dl-footer\">\r\n <p><b>footer</b> (fixed height)</p>\r\n </div> */}\r\n </div>\r\n {renderNewWidgetDialog()}\r\n\r\n\r\n\r\n\r\n\r\n </div>);\r\n\r\n}\r\n\r\n\r\nexport const layoutGridProps = {\r\n rowHeight: 50,\r\n className: \"layout\",\r\n cols: { lg: 12, md: 6, sm: 2, xs: 1, xxs: 1 },\r\n useCSSTransforms: true,\r\n}\r\n\r\n\r\n\r\n\r\nexport const WidgetTypes = [\r\n { Name: \"Filter\", Disabled: true },\r\n { Name: \"Chart\", Disabled: false },\r\n { Name: \"Data Table\", Disabled: true },\r\n { Name: \"Pivot Table\", Disabled: true },\r\n { Name: \"KPI\", Disabled: true },\r\n { Name: \"Gauge\", Disabled: true },\r\n];\r\nexport const widgetComponents = [\r\n { type: \"Bar\", component: BarChartComponent },\r\n { type: \"Column\", component: ColumnChartComponent },\r\n { type: \"Pie\", component: PieChartComponent },\r\n { type: \"Mixed\", component: MixedChartComponent },\r\n { type: \"Timeline\", component: TimelineChartComponent },\r\n { type: \"Candle\", component: CandleChartComponent },\r\n { type: \"Area\", component: AreaChartComponent },\r\n];\r\n\r\n\r\nexport default DashboardDesigner;\r\n","import * as React from 'react'\nimport DashboardDesigner from './features/Dashboard/DashboardDesigner'\nimport \"./styles.module.css\"\ntype DashboardProps={token:string};\nconst Dashboard = (props:DashboardProps) => {\n localStorage.setItem(\"token\", props?.token);\n\n return (\n <div className='dl-dashboard-body'>\n <DashboardDesigner></DashboardDesigner>\n </div>\n )\n}\nexport default Dashboard;"],"names":["DataService","getObjectTables","filters","token","getTokenFromStorage","apiURL","ConcatFiltersToURL","axios","get","headers","getObjectFields","getDataByFilters","tableName","urlparameters","mykeys","Object","keys","addtionalFiltersValues","i","propName","propValue","ignoreFilter","indexOf","concat","encodeURIComponent","length","JSON","stringify","window","localStorage","getItem","ApiQueryFilters","addAdditionalFilter","FieldName","FieldValue","FieldValue2","FieldValue3","Operator","IsCustom","DisplayInList","IsCustomField","FieldDataType","IgnoreFilter","IsCacheOnClient","ForceEnableAdd","params","ApiQueryFiltersAddParams","pushAdditionalFilter","myReplace","myString","myNewString","removeAdditionalFilter","item","AdditionalFilters","filter","d","IsLookUpfilter","index","splice","existedItem","find","FilterItem","IsLookUpFilter","push","calcTypes","Name","Disabled","chartState","series","data","options","chart","toolbar","show","colors","plotOptions","bar","borderRadius","horizontal","dataLabels","enabled","xaxis","categories","ChartTypes","NewWidget","props","e","selectedTable","target","value","console","log","state","Widget","EntityName","EntityId","Id","setState","Group","ValueFieldId","ValueFieldName","objectFields","selectedValueField","CalcType","defaultWidget","WidgetName","WidgetType","widget","objectTables","getData","service","then","response","Result","t","error","alert","SortBy","render","React","className","style","width","padding","textAlign","Dropdown","placeholder","optionLabel","optionValue","optionDisabled","option","onChange","ReactApexChart","type","height","id","name","htmlFor","InputText","undefined","required","onEntityChanged","showClear","filterBy","virtualScrollerOptions","itemSize","onGroupChanged","onCalcTypeChanged","onValueChanged","Button","label","onClick","onCancelButton","bind","form","onOkButton","autoFocus","Component","ColumnChartComponent","PieChartComponent","MixedChartComponent","AreaChartComponent","stroke","curve","tooltip","x","format","dateFilter","toLocaleDateString","TimelineChartComponent","CandleChartComponent","BarChartComponent","dataService","InitChart","events","dataPointSelection","event","chartContext","config","w","seriesIndex","groups","GroupItems","catItems","dataItems","values","reduce","record","CreateGroup","group","SetGroupData","groupByFieldName","valueFieldName","recordValue","currentGroupValue","key","prototype","hasOwnProperty","call","groupArray","sum","a","b","avg","WidgetCard","moreBtnToggle","useRef","widgetComponents","component","el","icon","current","toggle","OverlayPanel","ref","editBtnClicked","deleteBtnClicked","createElement","wc","ResponsiveReactGridLayout","WidthProvider","Responsive","newWidgetWidth","DashboardDesigner","useState","createRef","array12","Array","from","fill","savedLayouts","getFromStorage","savedWidgets","minimumPlaceholderRowsCount","lg","layouts","setLayouts","placeholderRowsArray","setplaceholderRowsArray","showMsg","setShowMsg","displayDialog","setDisplayDialog","widgets","setWidgets","placeholderRows","setPlaceholderRows","selectedWidget","widgetToEdit","setWidgetToEdit","renderPageHeader","WidgetTypes","addComponent","scrollHeight","componentType","toggleDialog","onLayoutChange","layout","saveToStorage","UpdatePlaceholderDimensions","deletePanel","itemIndex","findIndex","_","reject","SaveGrid","editWidget","FindWidget","setTimeout","setItem","parse","renderNewWidgetDialog","Dialog","header","visible","onHide","breakpoints","addPanel","newWidget","newWidgetPosition","EvaluateNewWidgetPosition","widgetComponent","randomIndex","getRandomInt","newPanel","y","h","minH","minW","title","widgetYPosition","widgetXPosition","maxY","max","widgetsRow","lastWidgetStartXPosition","Math","apply","map","lastWidget","lastWidgetEndXPosition","availableHorizontalSlots","layoutGridProps","cols","min","floor","random","gridLayout","document","getElementsByClassName","gridElementHeight","clientHeight","newPlaceholderRows","rowHeight","compactType","onWidthChange","md","sm","xs","xxs","useCSSTransforms","Dashboard"],"mappings":"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"}
|