sriram 2 年之前
父節點
當前提交
0da601e691
共有 36 個檔案被更改,包括 215 行新增245 行删除
  1. 二進制
      Bizgaze.Support.dll
  2. 二進制
      Bizgaze.Support.pdb
  3. 二進制
      Bizgaze.Transact.Estimates.dll
  4. 二進制
      Bizgaze.Transact.Estimates.pdb
  5. 二進制
      Bizgaze.Transact.Payments.dll
  6. 二進制
      Bizgaze.Transact.Payments.pdb
  7. 二進制
      Bizgaze.Transact.Subscriptions.dll
  8. 二進制
      Bizgaze.Transact.Subscriptions.pdb
  9. 二進制
      Hyperfusion.WebApis.Publish.dll
  10. 二進制
      Hyperfusion.WebApis.Publish.pdb
  11. 二進制
      Hyperfusion.dll
  12. 二進制
      Hyperfusion.pdb
  13. 二進制
      SPRL.dll
  14. 二進制
      SPRL.pdb
  15. 0
    106
      Unibase.Web.Server.deps.json
  16. 二進制
      Unibase.Web.Server.dll
  17. 二進制
      Unibase.Web.Server.pdb
  18. 13
    3
      wwwroot/apps/sprl/managers/salesinvoice/sprlpaymentmanager.js
  19. 6
    3
      wwwroot/apps/transact/controls/inventory/dcitem.component.js
  20. 4
    1
      wwwroot/apps/transact/controls/subscriptions/orderdetails.component.js
  21. 8
    3
      wwwroot/platform/analytics/components/reportbuilder/style.reportbuilder.css
  22. 7
    1
      wwwroot/platform/analytics/components/reportfolder.js
  23. 9
    4
      wwwroot/platform/analytics/components/reportviewer/_reportviewer.js
  24. 9
    8
      wwwroot/platform/analytics/components/tableviewer/tableviewer.js
  25. 59
    41
      wwwroot/platform/bundle/index.min.js
  26. 9
    4
      wwwroot/platform/bundle/index.reportviewer.js
  27. 2
    2
      wwwroot/platform/bundle/index.reportviewer.min.js
  28. 3
    3
      wwwroot/platform/bundle/index.subscriptions.min.js
  29. 53
    33
      wwwroot/platform/connect/components/chat.js
  30. 22
    3
      wwwroot/platform/connect/components/chat.template.js
  31. 0
    24
      wwwroot/platform/connect/managers/chatmanager.js
  32. 3
    0
      wwwroot/platform/core/helpers/routes/routehelper.js
  33. 1
    0
      wwwroot/platform/forms/components/formviewer/formviewer.js
  34. 6
    1
      wwwroot/tenants/themes/compact/components/details/details.js
  35. 1
    1
      wwwroot/tenants/themes/compact/index.js
  36. 0
    4
      wwwroot/tenants/themes/compact/js/navigation/navigationhelper.js

二進制
Bizgaze.Support.dll 查看文件


二進制
Bizgaze.Support.pdb 查看文件


二進制
Bizgaze.Transact.Estimates.dll 查看文件


二進制
Bizgaze.Transact.Estimates.pdb 查看文件


二進制
Bizgaze.Transact.Payments.dll 查看文件


二進制
Bizgaze.Transact.Payments.pdb 查看文件


二進制
Bizgaze.Transact.Subscriptions.dll 查看文件


二進制
Bizgaze.Transact.Subscriptions.pdb 查看文件


二進制
Hyperfusion.WebApis.Publish.dll 查看文件


二進制
Hyperfusion.WebApis.Publish.pdb 查看文件


二進制
Hyperfusion.dll 查看文件


二進制
Hyperfusion.pdb 查看文件


二進制
SPRL.dll 查看文件


二進制
SPRL.pdb 查看文件


+ 0
- 106
Unibase.Web.Server.deps.json 查看文件

@@ -83,10 +83,6 @@
83 83
           "SPRL": "1.0.0",
84 84
           "UniConnect.Objects": "1.0.0",
85 85
           "UniConnect.WebApis": "1.0.0",
86
-          "UniMail.Core": "1.0.0",
87
-          "UniMail.Helpers.ApiHelper": "1.0.0",
88
-          "UniMail.UniMailProvider": "1.0.0",
89
-          "UniMail.WebApis.publish": "1.0.0",
90 86
           "Unibase.Core": "1.0.0",
91 87
           "Unibase.Core.Web": "1.0.0",
92 88
           "Unibase.DbProviders.MongoDbProvider": "1.0.0",
@@ -4909,45 +4905,6 @@
4909 4905
           "UniConnect.WebApis.dll": {}
4910 4906
         }
4911 4907
       },
4912
-      "UniMail.Core/1.0.0": {
4913
-        "dependencies": {
4914
-          "Unibase.Core": "1.0.0"
4915
-        },
4916
-        "compile": {
4917
-          "UniMail.Core.dll": {}
4918
-        }
4919
-      },
4920
-      "UniMail.Helpers.ApiHelper/1.0.0": {
4921
-        "dependencies": {
4922
-          "Newtonsoft.Json": "13.0.1",
4923
-          "RestSharp": "106.11.7",
4924
-          "UniMail.Core": "1.0.0"
4925
-        },
4926
-        "compile": {
4927
-          "UniMail.Helpers.ApiHelper.dll": {}
4928
-        }
4929
-      },
4930
-      "UniMail.UniMailProvider/1.0.0": {
4931
-        "dependencies": {
4932
-          "UniMail.Helpers.ApiHelper": "1.0.0",
4933
-          "Unibase.Core": "1.0.0"
4934
-        },
4935
-        "compile": {
4936
-          "UniMail.UniMailProvider.dll": {}
4937
-        }
4938
-      },
4939
-      "UniMail.WebApis.publish/1.0.0": {
4940
-        "dependencies": {
4941
-          "Microsoft.AspNetCore.Mvc.Core": "2.2.5",
4942
-          "RestSharp": "106.11.7",
4943
-          "UniMail.Core": "1.0.0",
4944
-          "UniMail.UniMailProvider": "1.0.0",
4945
-          "Unibase.Core": "1.0.0"
4946
-        },
4947
-        "compile": {
4948
-          "UniMail.WebApis.publish.dll": {}
4949
-        }
4950
-      },
4951 4908
       "Unibase.Itext.barcodes/7.2.1.0": {
4952 4909
         "compile": {
4953 4910
           "Unibase.Itext.barcodes.dll": {}
@@ -5062,10 +5019,6 @@
5062 5019
           "SPRL": "1.0.0",
5063 5020
           "UniConnect.Objects": "1.0.0",
5064 5021
           "UniConnect.WebApis": "1.0.0",
5065
-          "UniMail.Core": "1.0.0",
5066
-          "UniMail.Helpers.ApiHelper": "1.0.0",
5067
-          "UniMail.UniMailProvider": "1.0.0",
5068
-          "UniMail.WebApis.publish": "1.0.0",
5069 5022
           "Unibase.Core": "1.0.0",
5070 5023
           "Unibase.Core.Web": "1.0.0",
5071 5024
           "Unibase.DbProviders.MongoDbProvider": "1.0.0",
@@ -9954,45 +9907,6 @@
9954 9907
           "UniConnect.WebApis.dll": {}
9955 9908
         }
9956 9909
       },
9957
-      "UniMail.Core/1.0.0": {
9958
-        "dependencies": {
9959
-          "Unibase.Core": "1.0.0"
9960
-        },
9961
-        "runtime": {
9962
-          "UniMail.Core.dll": {}
9963
-        }
9964
-      },
9965
-      "UniMail.Helpers.ApiHelper/1.0.0": {
9966
-        "dependencies": {
9967
-          "Newtonsoft.Json": "13.0.1",
9968
-          "RestSharp": "106.11.7",
9969
-          "UniMail.Core": "1.0.0"
9970
-        },
9971
-        "runtime": {
9972
-          "UniMail.Helpers.ApiHelper.dll": {}
9973
-        }
9974
-      },
9975
-      "UniMail.UniMailProvider/1.0.0": {
9976
-        "dependencies": {
9977
-          "UniMail.Helpers.ApiHelper": "1.0.0",
9978
-          "Unibase.Core": "1.0.0"
9979
-        },
9980
-        "runtime": {
9981
-          "UniMail.UniMailProvider.dll": {}
9982
-        }
9983
-      },
9984
-      "UniMail.WebApis.publish/1.0.0": {
9985
-        "dependencies": {
9986
-          "Microsoft.AspNetCore.Mvc.Core": "2.2.5",
9987
-          "RestSharp": "106.11.7",
9988
-          "UniMail.Core": "1.0.0",
9989
-          "UniMail.UniMailProvider": "1.0.0",
9990
-          "Unibase.Core": "1.0.0"
9991
-        },
9992
-        "runtime": {
9993
-          "UniMail.WebApis.publish.dll": {}
9994
-        }
9995
-      },
9996 9910
       "Unibase.Itext.barcodes/7.2.1.0": {
9997 9911
         "runtime": {
9998 9912
           "Unibase.Itext.barcodes.dll": {
@@ -12570,26 +12484,6 @@
12570 12484
       "serviceable": false,
12571 12485
       "sha512": ""
12572 12486
     },
12573
-    "UniMail.Core/1.0.0": {
12574
-      "type": "project",
12575
-      "serviceable": false,
12576
-      "sha512": ""
12577
-    },
12578
-    "UniMail.Helpers.ApiHelper/1.0.0": {
12579
-      "type": "project",
12580
-      "serviceable": false,
12581
-      "sha512": ""
12582
-    },
12583
-    "UniMail.UniMailProvider/1.0.0": {
12584
-      "type": "project",
12585
-      "serviceable": false,
12586
-      "sha512": ""
12587
-    },
12588
-    "UniMail.WebApis.publish/1.0.0": {
12589
-      "type": "project",
12590
-      "serviceable": false,
12591
-      "sha512": ""
12592
-    },
12593 12487
     "Unibase.Itext.barcodes/7.2.1.0": {
12594 12488
       "type": "reference",
12595 12489
       "serviceable": false,

二進制
Unibase.Web.Server.dll 查看文件


二進制
Unibase.Web.Server.pdb 查看文件


+ 13
- 3
wwwroot/apps/sprl/managers/salesinvoice/sprlpaymentmanager.js 查看文件

@@ -18,7 +18,7 @@ var SPRL;
18 18
                 class SprlPaymentManager extends Unibase.Platform.Core.BaseManager {
19 19
                     makePayment(obj) {
20 20
                         return __awaiter(this, void 0, void 0, function* () {
21
-                            const url = 'apis/v4/bizgaze/transact/payments/paymentrequest';
21
+                            const url = 'apis/v4/bizgaze/sprl/payments/paymentrequest';
22 22
                             return yield this.dataHelper().postAsync(url, obj).then(function (response) {
23 23
                                 if (response.result !== null)
24 24
                                     response.result = JSON.parse(response.result);
@@ -28,7 +28,7 @@ var SPRL;
28 28
                     }
29 29
                     getPaymentStatus(obj) {
30 30
                         return __awaiter(this, void 0, void 0, function* () {
31
-                            const url = 'apis/v4/bizgaze/transact/payments/Decrypt';
31
+                            const url = 'apis/v4/bizgaze/sprl/payments/Decrypt';
32 32
                             return yield this.dataHelper().postAsync(url, obj).then(function (response) {
33 33
                                 if (response.result !== null)
34 34
                                     response.result = JSON.parse(response.result);
@@ -38,7 +38,7 @@ var SPRL;
38 38
                     }
39 39
                     updatePaymentStatus(obj) {
40 40
                         return __awaiter(this, void 0, void 0, function* () {
41
-                            const url = 'apis/v4/bizgaze/transact/payments/updatepaymentstatus';
41
+                            const url = 'apis/v4/bizgaze/sprl/payments/updatepaymentstatus';
42 42
                             return yield this.dataHelper().postAsync(url, obj).then(function (response) {
43 43
                                 if (response.result !== null)
44 44
                                     response.result = JSON.parse(response.result);
@@ -46,6 +46,16 @@ var SPRL;
46 46
                             });
47 47
                         });
48 48
                     }
49
+                    loadPaymentTermItems(invoiceid) {
50
+                        return __awaiter(this, void 0, void 0, function* () {
51
+                            const url = 'apis/v4/bizgaze/sprl/payments/getpaymenttermitemsbyinvoiceid/invoiceid/' + invoiceid;
52
+                            return yield this.dataHelper().getAsync(url).then(function (response) {
53
+                                if (response.result !== null)
54
+                                    response.result = JSON.parse(response.result);
55
+                                return response;
56
+                            });
57
+                        });
58
+                    }
49 59
                     static Instance() {
50 60
                         return new SprlPaymentManager();
51 61
                     }

+ 6
- 3
wwwroot/apps/transact/controls/inventory/dcitem.component.js 查看文件

@@ -125,6 +125,7 @@ var Bizgaze;
125 125
                                             }
126 126
                                             else {
127 127
                                                 $('.dc-item-list').empty();
128
+                                                $('.dc-item-list-added').remove();
128 129
                                                 if (instance.IsFromOrder) {
129 130
                                                     instance.OrderItemIds = [0];
130 131
                                                     instance.bindDcItems(instance.OrderId, instance.IsFromOrder, instance.IsFromInvoice);
@@ -345,7 +346,7 @@ var Bizgaze;
345 346
                                     $("#txt_plus" + rowid).addClass('hidden');
346 347
                                     $("#txt_minus" + rowid).addClass('hidden');
347 348
                                 }
348
-                                if (instance.CheckAvailability && instance.DctypeId == Bizgaze.Apps.Transact.Enums.DcType.Outward && $("#hdn_IsBoMItem_" + rowid).val() == "false" && Number($("#availableqty_" + rowid).val().toString()) == 0) {
349
+                                if (instance.CheckAvailability && instance.DctypeId == Bizgaze.Apps.Transact.Enums.DcType.Outward && $("#hdn_IsBoMItem_" + rowid).val() == "false" && Number($("#availableqty_" + rowid).val().toString()) <= 0) {
349 350
                                     $("#txt_Cartons" + rowid).prop('disabled', true);
350 351
                                     $("#txt_Quantity" + rowid).prop('disabled', true);
351 352
                                     $("#txt_Pieces" + rowid).prop('disabled', true);
@@ -707,6 +708,7 @@ var Bizgaze;
707 708
                                         }
708 709
                                         else {
709 710
                                             $('.dc-item-list').empty();
711
+                                            $('.dc-item-list-added').remove();
710 712
                                             if (instance.IsFromOrder) {
711 713
                                                 instance.bindDcItems(instance.OrderId, instance.IsFromOrder, instance.IsFromInvoice);
712 714
                                             }
@@ -1116,7 +1118,7 @@ var Bizgaze;
1116 1118
                         if ($("#hdn_IsBoMChildItem_" + rowid).val() == "true") {
1117 1119
                             instance.disabletxt(rowid);
1118 1120
                         }
1119
-                        if ((instance.CheckAvailability && row.ItemId != 0 && row.ExchangeDC == false && (row.Avail_Qty == "0" || row.Avail_Qty == 0) && (instance.DctypeId == Bizgaze.Apps.Transact.Enums.DcType.Outward || instance.DctypeId == Bizgaze.Apps.Transact.Enums.DcType.ClaimOutward))) {
1121
+                        if ((instance.CheckAvailability && row.ItemId != 0 && row.ExchangeDC == false && (row.Avail_Qty == "0" || row.Avail_Qty <= 0) && (instance.DctypeId == Bizgaze.Apps.Transact.Enums.DcType.Outward || instance.DctypeId == Bizgaze.Apps.Transact.Enums.DcType.ClaimOutward))) {
1120 1122
                             if (row.InventoryTypeId == Bizgaze.Apps.Transact.Enums.InventoryType.Item && row.IsBoMItem == false) {
1121 1123
                                 instance.disabletxt(rowid);
1122 1124
                                 if (!instance.IsEditDC)
@@ -1575,6 +1577,7 @@ var Bizgaze;
1575 1577
                         $(".btn_Save_Form").addClass('hidden');
1576 1578
                         $(".txt_refno").val('');
1577 1579
                         $('.dc-item-list').empty();
1580
+                        $('.dc-item-list-added').remove();
1578 1581
                         DcItem.instance.ItemIds = [0];
1579 1582
                         if (DcItem.instance.DcId == 0)
1580 1583
                             DcItem.instance.LoBId = 0;
@@ -2766,7 +2769,7 @@ var Bizgaze;
2766 2769
                                     element.closest('.dc-item-list-added').find(".Item_Availqty").text(Number(data.AvailableQty));
2767 2770
                                     element.closest('.dc-item-list-added').find(".availableqty").val(Number(data.AvailableQty));
2768 2771
                                     $("#pendingquantity_" + rowid).text(data.PendingQty);
2769
-                                    if (quantity == 0) {
2772
+                                    if (quantity <= 0) {
2770 2773
                                         $("#txt_Quantity" + rowid).prop('disabled', true);
2771 2774
                                         $("#txt_plus" + rowid).addClass('hidden');
2772 2775
                                         $("#txt_minus" + rowid).addClass('hidden');

+ 4
- 1
wwwroot/apps/transact/controls/subscriptions/orderdetails.component.js 查看文件

@@ -119,6 +119,7 @@ var Bizgaze;
119 119
                                             if (periodTime != undefined || PlanId != undefined || TenureId != undefined) {
120 120
                                                 Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().period_change(PlanId, TenureId, periodTime);
121 121
                                             }
122
+                                            $(".item-quantity").text(`(` + OrderDetails.instance.planItemPrice + `-0)=` + OrderDetails.instance.planItemPrice);
122 123
                                         });
123 124
                                         Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().bindTenure(itemid, tenureid);
124 125
                                         Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().cartItemsList(res);
@@ -936,6 +937,7 @@ var Bizgaze;
936 937
                             OrderDetails.instance.TenureId = tenureid;
937 938
                             Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getItem(itemid, tenureid).then(function (response) {
938 939
                                 var res = response.result;
940
+                                OrderDetails.instance.OneTimeCost = res.SetupFee;
939 941
                                 var html = ``;
940 942
                                 html += `<div class="add-on-products-sec">
941 943
                 <div class="add-on-content-wrap biz-custom-scrollbar mx-0">
@@ -1205,9 +1207,10 @@ var Bizgaze;
1205 1207
                                     var res = response.result;
1206 1208
                                     OrderDetails.instance.planItemPrice = response.result.Price;
1207 1209
                                     if (OrderDetails.instance.CartItems[0].subscriptionItemType == 1) {
1208
-                                        OrderDetails.instance.CartItems[0].unitPrice = OrderDetails.instance.planItemPrice;
1210
+                                        OrderDetails.instance.CartItems[0].unitPrice = OrderDetails.instance.planItemPrice + OrderDetails.instance.OneTimeCost;
1209 1211
                                     }
1210 1212
                                     Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().checkout_cartAmount();
1213
+                                    $(".item-quantity").html(`( ` + OrderDetails.instance.planItemPrice + ` - 0% ) = <span class="inr-sign">` + OrderDetails.instance.planItemPrice + `<span>`);
1211 1214
                                 });
1212 1215
                             });
1213 1216
                         }

+ 8
- 3
wwwroot/platform/analytics/components/reportbuilder/style.reportbuilder.css 查看文件

@@ -50,9 +50,6 @@
50 50
             padding: 1.25rem;
51 51
         }
52 52
 
53
-._bizgaze_popup_container .biz-pg-wrapper {
54
-    margin-top: 0px !important;
55
-}
56 53
 
57 54
 .select2-container--default .select2-results > #select2-RptGroup_AutoComplete-results {
58 55
     max-height: 115px !important;
@@ -409,4 +406,12 @@ custom-right-chart-nav .nav-tabs > li.nav-item a.nav-link.active {
409 406
 
410 407
 .biz-bldr-wrap.chart_view .reportbuilder-main-wrap {
411 408
     overflow: hidden;
409
+}
410
+
411
+.biz-reportbuilder-wrap .biz-drawer {
412
+    width: 290px;
413
+}
414
+
415
+.biz-reportbuilder-wrap.biz-drawer-push.biz-drawer-pushright .biz-pg-wrapper {
416
+    margin-right: 290px;
412 417
 }

+ 7
- 1
wwwroot/platform/analytics/components/reportfolder.js 查看文件

@@ -170,7 +170,13 @@ var Unibase;
170 170
                         });
171 171
                         let searchReports = [];
172 172
                         for (let i = 0; i < this.allReports[0].length; i++) {
173
-                            let reportName = this.allReports[0][i].ReportName.toLowerCase();
173
+                            let reportName;
174
+                            if (this.allReports[0][i].DisplayName == "" || this.allReports[0][i].DisplayName == null) {
175
+                                reportName = this.allReports[0][i].ReportName.toLowerCase();
176
+                            }
177
+                            else {
178
+                                reportName = this.allReports[0][i].DisplayName.toLowerCase();
179
+                            }
174 180
                             if (searchText != '') {
175 181
                                 if (reportName.includes(searchText)) {
176 182
                                     searchReports.push(this.allReports[0][i]);

+ 9
- 4
wwwroot/platform/analytics/components/reportviewer/_reportviewer.js 查看文件

@@ -776,6 +776,7 @@ ${instance.getViewAllHtml(containerid, 'desktop', reportid)}
776 776
                                                 if (reportInfo.PinDynamicFilters || $(`#unPinDynamicFiltersIcon_${containerid}`).is(':visible')) {
777 777
                                                     instance.pinDynamicFiltersHandler(reportid, containerid);
778 778
                                                 }
779
+                                                instance.noDataMessage(rv_instance.dynamicFilters, reportInfo.IsAutoData, containerid);
779 780
                                             }
780 781
                                             else {
781 782
                                                 var _chartviewer = Unibase.Platform.Analytics.Charts.ChartViewer.Instance();
@@ -2974,6 +2975,7 @@ ${instance.getViewAllHtml(containerid, 'desktop', reportid)}
2974 2975
                                         let tableViewer = Unibase.Platform.Analytics.Viewers.TableViewer.Instance();
2975 2976
                                         if (response.result.ReportInfo.PivotTypeId != 0 && !response.result.ReportInfo.IsTreeExpand) {
2976 2977
                                             tableViewer.loadView(response, reportid, rv_instance.ViewerSettings.selectedViewerTypeId, instance.Page, instance.PageSize, containerid, rv_instance.ViewerSettings, null, rv_instance.reportWidgetData);
2978
+                                            instance.noDataMessage(rv_instance.dynamicFilters, rv_instance.reportResponse.result.ReportInfo.IsAutoData, containerid);
2977 2979
                                         }
2978 2980
                                         else {
2979 2981
                                             let responseData = filterresponse.Result.Data;
@@ -2988,10 +2990,7 @@ ${instance.getViewAllHtml(containerid, 'desktop', reportid)}
2988 2990
                                                 if (!responseData.length) {
2989 2991
                                                     $("#btn-list-load-more_div_" + containerid).addClass('hidden');
2990 2992
                                                     $(`#Viewer_${containerid} .report-viewer-footer`).addClass('hidden');
2991
-                                                    if (!rv_instance.dynamicFilters.length && !rv_instance.reportResponse.result.ReportInfo.IsAutoData)
2992
-                                                        $("#" + containerid).find(".tabulator-placeholder").children().children().text("Select filter to show data");
2993
-                                                    else
2994
-                                                        $("#" + containerid).find(".tabulator-placeholder").children().children().text("No data available");
2993
+                                                    instance.noDataMessage(rv_instance.dynamicFilters, rv_instance.reportResponse.result.ReportInfo.IsAutoData, containerid);
2995 2994
                                                 }
2996 2995
                                                 else {
2997 2996
                                                     $(`#Viewer_${containerid} .report-viewer-footer`).removeClass('hidden');
@@ -3053,6 +3052,12 @@ ${instance.getViewAllHtml(containerid, 'desktop', reportid)}
3053 3052
                             });
3054 3053
                         });
3055 3054
                     }
3055
+                    noDataMessage(dynamicFilters, isAutoData, containerid) {
3056
+                        if (!dynamicFilters.length && !isAutoData)
3057
+                            $("#" + containerid).find(".tabulator-placeholder").children().children().text("Select filter to show data");
3058
+                        else
3059
+                            $("#" + containerid).find(".tabulator-placeholder").children().children().text("No data available");
3060
+                    }
3056 3061
                     clearGlobalDateFilter(containerId, reportId) {
3057 3062
                         var dateTimeHelper = Unibase.Platform.Helpers.DateTimeHelper.Instance();
3058 3063
                         let user = Unibase.Platform.Membership.Infos.Identity.currentUser;

+ 9
- 8
wwwroot/platform/analytics/components/tableviewer/tableviewer.js 查看文件

@@ -1220,14 +1220,14 @@ var Unibase;
1220 1220
                     }
1221 1221
                     tableCellClick(e, cell, level, mainreportid, subres, containerid) {
1222 1222
                         var instance = this;
1223
-                        var filter = [];
1223
+                        var appliedFilters = [];
1224 1224
                         if (subres.length != 0) {
1225 1225
                             var subrpt = subres.find(s => s.AliasName == cell["_cell"].column.definition.field);
1226 1226
                             if (subrpt) {
1227 1227
                                 var row = cell.getRow();
1228 1228
                                 let row_data = row.getData();
1229 1229
                                 if (subrpt.SubReportTypeId == Unibase.Platform.Analytics.Reports.Enums.SubReportType.Detail) {
1230
-                                    var onclick = "Unibase.Platform.Helpers.NavigationHelper.Instance().loadDetail({{" + subrpt.PrimaryKeyColumn + "}},{{appinstalledappid}},null,null);";
1230
+                                    var onclick = `Unibase.Platform.Helpers.NavigationHelper.Instance().loadDetail({{${subrpt.PrimaryKeyColumn}}},{{appinstalledappid}},null,null);`;
1231 1231
                                     onclick = onclick.replace("{{appinstalledappid}}", subrpt.InstalledAppId);
1232 1232
                                     onclick = onclick.replace("{{" + subrpt.PrimaryKeyColumn + "}}", row_data[subrpt.PrimaryKeyColumn]);
1233 1233
                                     var templateScript = Handlebars.compile(onclick);
@@ -1242,22 +1242,23 @@ var Unibase;
1242 1242
                                             dynamicFilters.forEach(filter => {
1243 1243
                                                 filter.IsSubReportFilter = true;
1244 1244
                                             });
1245
-                                            filter = filter.concat(dynamicFilters);
1245
+                                            appliedFilters = appliedFilters.concat(dynamicFilters);
1246 1246
                                         }
1247
-                                        var filters = JSON.parse(subrpt.Filters);
1248
-                                        for (var i = 0; i < filters.length; i++) {
1249
-                                            let fill = filters[i];
1247
+                                        var subRepFilters = JSON.parse(subrpt.Filters);
1248
+                                        subRepFilters = subRepFilters.filter(item1 => appliedFilters.some(item2 => item1.ParameterName === item2.ParameterName));
1249
+                                        for (var i = 0; i < subRepFilters.length; i++) {
1250
+                                            let fill = subRepFilters[i];
1250 1251
                                             let value = row_data[fill.ParameterName.trim()];
1251 1252
                                             let expid = instance.getExpId(fill.Operator);
1252 1253
                                             if (fill.Isvalue)
1253 1254
                                                 value = fill.ParameterName;
1254
-                                            filter.push({
1255
+                                            appliedFilters.push({
1255 1256
                                                 ParameterName: fill.ParameterValue.trim(),
1256 1257
                                                 ParameterValue: value.toString(),
1257 1258
                                                 ExpOp: expid, IsSubReportFilter: true
1258 1259
                                             });
1259 1260
                                         }
1260
-                                        instance._reportViewer.dynamicFilters = filter.filter((f, i, a) => a.findIndex(f2 => (f.ParameterName === f2.ParameterName)) === i);
1261
+                                        instance._reportViewer.dynamicFilters = appliedFilters.filter((f, i, a) => a.findIndex(f2 => (f.ParameterName === f2.ParameterName)) === i);
1261 1262
                                         instance._reportViewer.isSubReport = true;
1262 1263
                                         return instance._reportViewer.report_ViewAll(subrpt.ChildReportId, 0, "_linkedreport_" + subrpt.ChildReportId);
1263 1264
                                     }

+ 59
- 41
wwwroot/platform/bundle/index.min.js
文件差異過大導致無法顯示
查看文件


+ 9
- 4
wwwroot/platform/bundle/index.reportviewer.js 查看文件

@@ -8151,6 +8151,7 @@ ${instance.getViewAllHtml(containerid, 'desktop', reportid)}
8151 8151
                                                 if (reportInfo.PinDynamicFilters || $(`#unPinDynamicFiltersIcon_${containerid}`).is(':visible')) {
8152 8152
                                                     instance.pinDynamicFiltersHandler(reportid, containerid);
8153 8153
                                                 }
8154
+                                                instance.noDataMessage(rv_instance.dynamicFilters, reportInfo.IsAutoData, containerid);
8154 8155
                                             }
8155 8156
                                             else {
8156 8157
                                                 var _chartviewer = Unibase.Platform.Analytics.Charts.ChartViewer.Instance();
@@ -10349,6 +10350,7 @@ ${instance.getViewAllHtml(containerid, 'desktop', reportid)}
10349 10350
                                         let tableViewer = Unibase.Platform.Analytics.Viewers.TableViewer.Instance();
10350 10351
                                         if (response.result.ReportInfo.PivotTypeId != 0 && !response.result.ReportInfo.IsTreeExpand) {
10351 10352
                                             tableViewer.loadView(response, reportid, rv_instance.ViewerSettings.selectedViewerTypeId, instance.Page, instance.PageSize, containerid, rv_instance.ViewerSettings, null, rv_instance.reportWidgetData);
10353
+                                            instance.noDataMessage(rv_instance.dynamicFilters, rv_instance.reportResponse.result.ReportInfo.IsAutoData, containerid);
10352 10354
                                         }
10353 10355
                                         else {
10354 10356
                                             let responseData = filterresponse.Result.Data;
@@ -10363,10 +10365,7 @@ ${instance.getViewAllHtml(containerid, 'desktop', reportid)}
10363 10365
                                                 if (!responseData.length) {
10364 10366
                                                     $("#btn-list-load-more_div_" + containerid).addClass('hidden');
10365 10367
                                                     $(`#Viewer_${containerid} .report-viewer-footer`).addClass('hidden');
10366
-                                                    if (!rv_instance.dynamicFilters.length && !rv_instance.reportResponse.result.ReportInfo.IsAutoData)
10367
-                                                        $("#" + containerid).find(".tabulator-placeholder").children().children().text("Select filter to show data");
10368
-                                                    else
10369
-                                                        $("#" + containerid).find(".tabulator-placeholder").children().children().text("No data available");
10368
+                                                    instance.noDataMessage(rv_instance.dynamicFilters, rv_instance.reportResponse.result.ReportInfo.IsAutoData, containerid);
10370 10369
                                                 }
10371 10370
                                                 else {
10372 10371
                                                     $(`#Viewer_${containerid} .report-viewer-footer`).removeClass('hidden');
@@ -10428,6 +10427,12 @@ ${instance.getViewAllHtml(containerid, 'desktop', reportid)}
10428 10427
                             });
10429 10428
                         });
10430 10429
                     }
10430
+                    noDataMessage(dynamicFilters, isAutoData, containerid) {
10431
+                        if (!dynamicFilters.length && !isAutoData)
10432
+                            $("#" + containerid).find(".tabulator-placeholder").children().children().text("Select filter to show data");
10433
+                        else
10434
+                            $("#" + containerid).find(".tabulator-placeholder").children().children().text("No data available");
10435
+                    }
10431 10436
                     clearGlobalDateFilter(containerId, reportId) {
10432 10437
                         var dateTimeHelper = Unibase.Platform.Helpers.DateTimeHelper.Instance();
10433 10438
                         let user = Unibase.Platform.Membership.Infos.Identity.currentUser;

+ 2
- 2
wwwroot/platform/bundle/index.reportviewer.min.js
文件差異過大導致無法顯示
查看文件


+ 3
- 3
wwwroot/platform/bundle/index.subscriptions.min.js 查看文件

@@ -61,7 +61,7 @@ var __awaiter,Bizgaze;(function(Bizgaze){let Apps;(function(Apps){let Transact;(
61 61
                             </div>
62 62
                         </div>
63 63
                     </div>
64
-                </div>`;$(".orderitemsdiv").html(html);$("#btn_Proceed1").hide();$("#select_period").on("change",function(){var periodTime=$("#select_period").val(),PlanId=itemid,TenureId=tenureid;(periodTime!=undefined||PlanId!=undefined||TenureId!=undefined)&&Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().period_change(PlanId,TenureId,periodTime)});Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().bindTenure(itemid,tenureid);Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().cartItemsList(res);Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().setCartAddonHeight();sf=$(".price").val().toString();$(".TotalPrice").text(sf);Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().checkout();Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().getAddons(res.ItemId,id,tenureid);Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().LoadingOrderAddons()})})});OrderDetails.instance.organizationId=Number(id);var instance=this;instance.fileCacheHelper.loadJsFiles(["apps/crm/companies/managers/companymanager.js","apps/crm/contacts/managers/contactmanager.js"],function(){id!=0&&Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getOrganizationById(id).then(function(response){var data=response.result,contactid=data.DefaultOrgContactId;Bizgaze.Apps.CRM.Companies.Managers.CompanyManager.Instance().getUserBranches(contactid).then(function(orgresponse){var branchId=orgresponse.result[0].BranchId;OrderDetails.instance.BranchId=branchId})})})}getAddons(itemid,id,tenureid){let instance=this;this.fileCacheHelper.loadJsFile("apps/transact/managers/subscriptions/subscriptionmanager.js",function(){Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getAddonsItems(itemid,tenureid).then(function(response){var res=response.result,cartItemsList=[],i,imageurl,image1,html,cartId;for($(".OrderAddonItems").find(".li_OrderAddonItems").each(function(){var addonItemId=Number($(this).find("#hf_ItemId").val());cartItemsList.push({ItemIds:addonItemId})}),i=0;i<res.length;i++)imageurl=res[i].AddonImage,imageurl!=null&&imageurl!=undefined&&imageurl!=""&&(image1=imageurl.split("~"),instance.AddonImage=image1[0]),res[i].SalesPrice!=0&&(html=`<div class="col-md-3"><div class="product-card CartItems adoonsItems AddonValue-row" id="li_AddOnsItems_Details" data-search-term="${res[i].ItemName.toLowerCase()}"">
64
+                </div>`;$(".orderitemsdiv").html(html);$("#btn_Proceed1").hide();$("#select_period").on("change",function(){var periodTime=$("#select_period").val(),PlanId=itemid,TenureId=tenureid;(periodTime!=undefined||PlanId!=undefined||TenureId!=undefined)&&Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().period_change(PlanId,TenureId,periodTime);$(".item-quantity").text(`(`+OrderDetails.instance.planItemPrice+`-0)=`+OrderDetails.instance.planItemPrice)});Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().bindTenure(itemid,tenureid);Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().cartItemsList(res);Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().setCartAddonHeight();sf=$(".price").val().toString();$(".TotalPrice").text(sf);Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().checkout();Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().getAddons(res.ItemId,id,tenureid);Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().LoadingOrderAddons()})})});OrderDetails.instance.organizationId=Number(id);var instance=this;instance.fileCacheHelper.loadJsFiles(["apps/crm/companies/managers/companymanager.js","apps/crm/contacts/managers/contactmanager.js"],function(){id!=0&&Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getOrganizationById(id).then(function(response){var data=response.result,contactid=data.DefaultOrgContactId;Bizgaze.Apps.CRM.Companies.Managers.CompanyManager.Instance().getUserBranches(contactid).then(function(orgresponse){var branchId=orgresponse.result[0].BranchId;OrderDetails.instance.BranchId=branchId})})})}getAddons(itemid,id,tenureid){let instance=this;this.fileCacheHelper.loadJsFile("apps/transact/managers/subscriptions/subscriptionmanager.js",function(){Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getAddonsItems(itemid,tenureid).then(function(response){var res=response.result,cartItemsList=[],i,imageurl,image1,html,cartId;for($(".OrderAddonItems").find(".li_OrderAddonItems").each(function(){var addonItemId=Number($(this).find("#hf_ItemId").val());cartItemsList.push({ItemIds:addonItemId})}),i=0;i<res.length;i++)imageurl=res[i].AddonImage,imageurl!=null&&imageurl!=undefined&&imageurl!=""&&(image1=imageurl.split("~"),instance.AddonImage=image1[0]),res[i].SalesPrice!=0&&(html=`<div class="col-md-3"><div class="product-card CartItems adoonsItems AddonValue-row" id="li_AddOnsItems_Details" data-search-term="${res[i].ItemName.toLowerCase()}"">
65 65
                                                    <div class="product-card-body">
66 66
                                                       <div class="product-img-wrap">
67 67
                                                         <img src="${instance.AddonImage}" alt="" class="product-img">
@@ -193,7 +193,7 @@ var __awaiter,Bizgaze;(function(Bizgaze){let Apps;(function(Apps){let Transact;(
193 193
                                                          <input type="hidden" class="Description" id = "hf_Description" value = ${res[i].Description} />`,cartId=cartItemsList.filter(el=>el.ItemIds===res[i].ItemId),html+=cartId.length==0?`<a href="javascript:;" class="btn btnremove_${res[i].ItemId} cart-btn add-cart-btn btnTxt" onclick="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().btnChange('btnremove_${res[i].ItemId}','${tenureid}');">Add</a>`:`<a href="javascript:;" class="btn btnremove_${res[i].ItemId} cart-btn remove-cart-btn btnTxt" onclick="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().btnChange('btnremove_${res[i].ItemId}','${tenureid}');">Remove</a>`,html+=`</div>
194 194
                                                      <div class="offer-percentage">0%</div>
195 195
 <input type="hidden" id="hf_addonQuantity" value=${res[i].SubscriptionAddonsQuantity} /> <input type="hidden" id="hf_addonSku" value=${res[i].Sku} /> <input type="hidden" id="hf_addonItemId" value=${res[i].ItemId} />
196
-                                                  </div></div>`,$(".addonslist:first").append(html))})})}getPlanItem_List(itemid,tenureid){OrderDetails.instance.CartItems=[];OrderDetails.instance.TenureId=tenureid;Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getItem(itemid,tenureid).then(function(response){var res=response.result,html=``,carthtml;html+=`<div class="add-on-products-sec">
196
+                                                  </div></div>`,$(".addonslist:first").append(html))})})}getPlanItem_List(itemid,tenureid){OrderDetails.instance.CartItems=[];OrderDetails.instance.TenureId=tenureid;Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getItem(itemid,tenureid).then(function(response){var res=response.result,html,carthtml;OrderDetails.instance.OneTimeCost=res.SetupFee;html=``;html+=`<div class="add-on-products-sec">
197 197
                 <div class="add-on-content-wrap biz-custom-scrollbar mx-0">
198 198
                     <div class="Uaddonitems px-0 pr-md-10 pr-lg-20 mb-30 mb-md-0 pr-xl-30">
199 199
                         <div class="addons-wrap ">
@@ -255,7 +255,7 @@ var __awaiter,Bizgaze;(function(Bizgaze){let Apps;(function(Apps){let Transact;(
255 255
                                                 <span>Net Total</span>
256 256
                                                 <span id="lblSummary_NetTotal">₹${res.NetTotal}/-</span>
257 257
                                             </li>
258
-                                        </ul>`;$("#cartSummaryFooter").html(footerHtml)}yield Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().createOrder_Item(instance.organizationId)})})})}bindTenure(itemid,tenureid){let instance=this;this.fileCacheHelper.loadJsFile("apps/transact/managers/subscriptions/subscriptionmanager.js",function(){Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getTenureList(itemid,tenureid).then(function(response){var res=response.result,tenureName,i;for(res,i=0;i<res.length;i++)if(res[i].Price!=0){tenureName=tenureid==2?"M":"Y";let html;html=i==0?'<option value="'+response.result[i].TenurePeriod+'" selected>'+response.result[i].TenurePeriod+tenureName+"<\/option>":'<option value="'+response.result[i].TenurePeriod+'"> '+response.result[i].TenurePeriod+tenureName+"<\/option>";$("#select_period").append(html)}})})}period_change(PlanId,TenureId,Periode){let instance=this;var data=Periode.split("M")[0],Period_Duration=Number(Periode);this.fileCacheHelper.loadJsFile("apps/transact/managers/subscriptions/subscriptionmanager.js",function(){Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getTenurePeriodAndPrice(PlanId,TenureId,Period_Duration).then(function(response){var res=response.result;OrderDetails.instance.planItemPrice=response.result.Price;OrderDetails.instance.CartItems[0].subscriptionItemType==1&&(OrderDetails.instance.CartItems[0].unitPrice=OrderDetails.instance.planItemPrice);Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().checkout_cartAmount()})})}checkout_cartAmount(){var instance=this,defaultaddressid,Organizationid,i,orderobj;for($(".cartcount").text(OrderDetails.instance.CartItems.length),defaultaddressid="",OrderDetails.instance.OrderData=[],OrderDetails.instance.ItemData=[],Organizationid=Number(OrderDetails.instance.organizationId),i=0;i<OrderDetails.instance.CartItems.length;++i){var addonQuantity=OrderDetails.instance.CartItems[i].addonQuantity,addonSku=OrderDetails.instance.CartItems[i].addonSku,addonItemId=OrderDetails.instance.CartItems[i].addonItemId,unitPrice=OrderDetails.instance.CartItems[i].unitPrice,discountPercent=OrderDetails.instance.CartItems[i].discountPercent,discountValue=OrderDetails.instance.CartItems[i].discountValue;isNaN(addonItemId)||OrderDetails.instance.ItemData.push({SKU:addonSku,Quantity:1,ItemId:addonItemId,UnitPrice:unitPrice,DiscountPercent:isNaN(discountPercent)?0:discountPercent,DiscountValue:isNaN(discountValue)?0:discountValue,ExchangeDC:!1,PackCount:1,PackSize:1,Packs:1,Pieces:0,TaxGroupId:0})}orderobj={BranchId:0,InventoryApplyType:1,IsCalculateTax:!0,IsCompositePrice:!1,IsPiecePrice:!1,IsTaxInclusive:!1,OrderTypeId:1,BillingAddressId:Number(0),OrderItems:OrderDetails.instance.ItemData};instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js",function(){Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getTotals(orderobj).then(function(response){var res=response.result;if(OrderDetails.instance.NetTotal=res.NetTotal,res!=null){let footerHtml=`<ul class="detail-list">
258
+                                        </ul>`;$("#cartSummaryFooter").html(footerHtml)}yield Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().createOrder_Item(instance.organizationId)})})})}bindTenure(itemid,tenureid){let instance=this;this.fileCacheHelper.loadJsFile("apps/transact/managers/subscriptions/subscriptionmanager.js",function(){Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getTenureList(itemid,tenureid).then(function(response){var res=response.result,tenureName,i;for(res,i=0;i<res.length;i++)if(res[i].Price!=0){tenureName=tenureid==2?"M":"Y";let html;html=i==0?'<option value="'+response.result[i].TenurePeriod+'" selected>'+response.result[i].TenurePeriod+tenureName+"<\/option>":'<option value="'+response.result[i].TenurePeriod+'"> '+response.result[i].TenurePeriod+tenureName+"<\/option>";$("#select_period").append(html)}})})}period_change(PlanId,TenureId,Periode){let instance=this;var data=Periode.split("M")[0],Period_Duration=Number(Periode);this.fileCacheHelper.loadJsFile("apps/transact/managers/subscriptions/subscriptionmanager.js",function(){Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getTenurePeriodAndPrice(PlanId,TenureId,Period_Duration).then(function(response){var res=response.result;OrderDetails.instance.planItemPrice=response.result.Price;OrderDetails.instance.CartItems[0].subscriptionItemType==1&&(OrderDetails.instance.CartItems[0].unitPrice=OrderDetails.instance.planItemPrice+OrderDetails.instance.OneTimeCost);Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().checkout_cartAmount();$(".item-quantity").html(`( `+OrderDetails.instance.planItemPrice+` - 0% ) = <span class="inr-sign">`+OrderDetails.instance.planItemPrice+`<span>`)})})}checkout_cartAmount(){var instance=this,defaultaddressid,Organizationid,i,orderobj;for($(".cartcount").text(OrderDetails.instance.CartItems.length),defaultaddressid="",OrderDetails.instance.OrderData=[],OrderDetails.instance.ItemData=[],Organizationid=Number(OrderDetails.instance.organizationId),i=0;i<OrderDetails.instance.CartItems.length;++i){var addonQuantity=OrderDetails.instance.CartItems[i].addonQuantity,addonSku=OrderDetails.instance.CartItems[i].addonSku,addonItemId=OrderDetails.instance.CartItems[i].addonItemId,unitPrice=OrderDetails.instance.CartItems[i].unitPrice,discountPercent=OrderDetails.instance.CartItems[i].discountPercent,discountValue=OrderDetails.instance.CartItems[i].discountValue;isNaN(addonItemId)||OrderDetails.instance.ItemData.push({SKU:addonSku,Quantity:1,ItemId:addonItemId,UnitPrice:unitPrice,DiscountPercent:isNaN(discountPercent)?0:discountPercent,DiscountValue:isNaN(discountValue)?0:discountValue,ExchangeDC:!1,PackCount:1,PackSize:1,Packs:1,Pieces:0,TaxGroupId:0})}orderobj={BranchId:0,InventoryApplyType:1,IsCalculateTax:!0,IsCompositePrice:!1,IsPiecePrice:!1,IsTaxInclusive:!1,OrderTypeId:1,BillingAddressId:Number(0),OrderItems:OrderDetails.instance.ItemData};instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js",function(){Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getTotals(orderobj).then(function(response){var res=response.result;if(OrderDetails.instance.NetTotal=res.NetTotal,res!=null){let footerHtml=`<ul class="detail-list">
259 259
                                             <li class="detail-item">
260 260
                                                 <span>Gross Amount</span>
261 261
                                                 <span id="lblSummary_GrossAmount">₹${res.GrossAmount}/-</span>

+ 53
- 33
wwwroot/platform/connect/components/chat.js 查看文件

@@ -1030,17 +1030,17 @@ var Unibase;
1030 1030
                                     if (response.result.messageDeliveredDate != null) {
1031 1031
                                         var b = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(response.result.messageDeliveredDate);
1032 1032
                                         var ddate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithT(b);
1033
-                                        var html = `<li class="list-group-item px-1 py-2 flex-between-center position-relative delivered-user">
1034
-                                         <a href="javascript:;" class="d-flex align-items-center c-gap-10 w-100 mnw-0">
1035
-                                         <div class="media-body flex-grow-1 mnw-0 d-flex flex-column justify-content-center"><div class="flex-between-center c-gap-10 text-dark font-weight-500 font-15" title="${ddate}"><span class="text-truncate">${ddate}</span></div>
1033
+                                        var html = `<li class="list-group-item px-1 py-2 flex-between-center position-relative delivered-user">
1034
+                                         <a href="javascript:;" class="d-flex align-items-center c-gap-10 w-100 mnw-0">
1035
+                                         <div class="media-body flex-grow-1 mnw-0 d-flex flex-column justify-content-center"><div class="flex-between-center c-gap-10 text-dark font-weight-500 font-15" title="${ddate}"><span class="text-truncate">${ddate}</span></div>
1036 1036
                                          <div class="user-about hidden"></div></div></a></li>`;
1037 1037
                                         $('.delivereduserslist').html(html).removeClass('hidden');
1038 1038
                                         if (response.result.messageReadDate != null) {
1039 1039
                                             var b = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDateTime(response.result.messageReadDate);
1040 1040
                                             var rdate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateTimeWithT(b);
1041
-                                            var html = `<li class="list-group-item px-1 py-2 flex-between-center position-relative delivered-user">
1042
-                                          <a href="javascript:;" class="d-flex align-items-center c-gap-10 w-100 mnw-0">
1043
-                                          <div class="media-body flex-grow-1 mnw-0 d-flex flex-column justify-content-center"><div class="flex-between-center c-gap-10 text-dark font-weight-500 font-15" title="${rdate}"><span class="text-truncate">${rdate}</span></div>
1041
+                                            var html = `<li class="list-group-item px-1 py-2 flex-between-center position-relative delivered-user">
1042
+                                          <a href="javascript:;" class="d-flex align-items-center c-gap-10 w-100 mnw-0">
1043
+                                          <div class="media-body flex-grow-1 mnw-0 d-flex flex-column justify-content-center"><div class="flex-between-center c-gap-10 text-dark font-weight-500 font-15" title="${rdate}"><span class="text-truncate">${rdate}</span></div>
1044 1044
                                           <div class="user-about hidden"></div></div></a></li>`;
1045 1045
                                             $('.readuserslist').html(html).removeClass('hidden');
1046 1046
                                         }
@@ -1061,9 +1061,9 @@ var Unibase;
1061 1061
                                                 if (contact != null) {
1062 1062
                                                     const contactName = contact.contactName;
1063 1063
                                                     const avatarHtml = instance._chatTemplate.getUserAvatarHtml(contact);
1064
-                                                    deliveredUsersHtml += `<li class="list-group-item px-1 py-2 flex-between-center position-relative delivered-user" id="deliveredUser_${recievedusers[i]}">
1065
-                            <a href="javascript:;" class="d-flex align-items-center c-gap-10 w-100 mnw-0">${avatarHtml}
1066
-                            <div class="media-body flex-grow-1 mnw-0 d-flex flex-column justify-content-center"><div class="flex-between-center c-gap-10 text-dark font-weight-500 font-15" title="${contactName}"><span class="text-truncate">${contactName}</span></div>
1064
+                                                    deliveredUsersHtml += `<li class="list-group-item px-1 py-2 flex-between-center position-relative delivered-user" id="deliveredUser_${recievedusers[i]}">
1065
+                            <a href="javascript:;" class="d-flex align-items-center c-gap-10 w-100 mnw-0">${avatarHtml}
1066
+                            <div class="media-body flex-grow-1 mnw-0 d-flex flex-column justify-content-center"><div class="flex-between-center c-gap-10 text-dark font-weight-500 font-15" title="${contactName}"><span class="text-truncate">${contactName}</span></div>
1067 1067
                             <div class="user-about hidden"></div></div></a></li>`;
1068 1068
                                                 }
1069 1069
                                             }
@@ -1079,9 +1079,9 @@ var Unibase;
1079 1079
                                                 const contact = Chat.grpdetails.find(x => x.recipientId == readusers[i]);
1080 1080
                                                 const contactName = contact.contactName;
1081 1081
                                                 const avatarHtml = instance._chatTemplate.getUserAvatarHtml(contact);
1082
-                                                readUserHtml += `<li class="list-group-item px-1 py-2 flex-between-center position-relative delivered-user" id="readUser_${readusers[i]}">
1083
-                            <a href="javascript:;" class="d-flex align-items-center c-gap-10 w-100 mnw-0">${avatarHtml}
1084
-                            <div class="media-body flex-grow-1 mnw-0 d-flex flex-column justify-content-center"><div class="flex-between-center c-gap-10 text-dark font-weight-500 font-15" title="${contactName}"><span class="text-truncate">${contactName}</span></div>
1082
+                                                readUserHtml += `<li class="list-group-item px-1 py-2 flex-between-center position-relative delivered-user" id="readUser_${readusers[i]}">
1083
+                            <a href="javascript:;" class="d-flex align-items-center c-gap-10 w-100 mnw-0">${avatarHtml}
1084
+                            <div class="media-body flex-grow-1 mnw-0 d-flex flex-column justify-content-center"><div class="flex-between-center c-gap-10 text-dark font-weight-500 font-15" title="${contactName}"><span class="text-truncate">${contactName}</span></div>
1085 1085
                             <div class="user-about hidden"></div></div></a></li>`;
1086 1086
                                             }
1087 1087
                                             $('.readuserslist').html(readUserHtml).removeClass('hidden');
@@ -2994,11 +2994,31 @@ var Unibase;
2994 2994
                             audio: true
2995 2995
                         }).then(function (stream) {
2996 2996
                             gumStream = stream;
2997
+                            recorder.ondataavailable = function (e) {
2998
+                                chunks.push(e.data);
2999
+                                let blob = new Blob(chunks, { type: 'audio/webm' });
3000
+                                var reader = new FileReader();
3001
+                                reader.addEventListener("load", function () {
3002
+                                    var audiofile = Chat.Instance().dataURLtoFile(reader.result, Chat.Instance().getUniqueAudioName());
3003
+                                    var item = {
3004
+                                        Files: audiofile,
3005
+                                        Index: Chat.attachments.length
3006
+                                    };
3007
+                                    Chat.attachments.push(item);
3008
+                                    Chat.Instance().sendfiles();
3009
+                                }, false);
3010
+                                reader.readAsDataURL(blob);
3011
+                            };
3012
+                            recorder.start();
2997 3013
                         });
2998 3014
                         $('.voicemsg-send-btn').click(function () {
2999 3015
                             document.getElementById('minutes').innerText = '0';
3000 3016
                             document.getElementById('seconds').innerText = '0';
3001 3017
                             $('.record_div').addClass('hidden');
3018
+                            if (recorder.state != 'inactive') {
3019
+                                recorder.stop();
3020
+                                gumStream.getAudioTracks()[0].stop();
3021
+                            }
3002 3022
                             clearInterval(x);
3003 3023
                         });
3004 3024
                     }
@@ -3137,18 +3157,18 @@ var Unibase;
3137 3157
                         let popUpHtml = '';
3138 3158
                         if (!jQuery.isEmptyObject(config)) {
3139 3159
                             const buttons = config.buttons;
3140
-                            popUpHtml += `<div class="modal fade chat-popup biz-custom-scrollbar" id="chatPopUp" ${!Chat.isFullScreen ? 'data-backdrop="false"' : ''}>
3141
-            <div class="modal-dialog modal-dialog-centered" role="document">
3142
-                <div class="modal-content">
3143
-                    ${config.message && `<div class="modal-body pa-10">
3144
-                    <div class="chat-popup-msg font-weight-500 text-dark">${config.message}</div>
3145
-                    </div>`}
3146
-                    ${config.buttons && `<div class="modal-footer pa-10">
3147
-                        <a href="javascript:;" class="${buttons.cancel.className || 'btn btn-outline-danger'} btn-sm cancel-btn" id="chatPopupCancelBtn">${buttons.cancel.label || 'Close'}</a>
3148
-                        <a href="javascript:;" class="${buttons.confirm.className || 'btn btn-primary'} btn-sm confirm-btn" id="chatPopupConfirmBtn">${buttons.confirm.label || 'Save'}</a>
3149
-                    </div>`}
3150
-                </div>
3151
-            </div>
3160
+                            popUpHtml += `<div class="modal fade chat-popup biz-custom-scrollbar" id="chatPopUp" ${!Chat.isFullScreen ? 'data-backdrop="false"' : ''}>
3161
+            <div class="modal-dialog modal-dialog-centered" role="document">
3162
+                <div class="modal-content">
3163
+                    ${config.message && `<div class="modal-body pa-10">
3164
+                    <div class="chat-popup-msg font-weight-500 text-dark">${config.message}</div>
3165
+                    </div>`}
3166
+                    ${config.buttons && `<div class="modal-footer pa-10">
3167
+                        <a href="javascript:;" class="${buttons.cancel.className || 'btn btn-outline-danger'} btn-sm cancel-btn" id="chatPopupCancelBtn">${buttons.cancel.label || 'Close'}</a>
3168
+                        <a href="javascript:;" class="${buttons.confirm.className || 'btn btn-primary'} btn-sm confirm-btn" id="chatPopupConfirmBtn">${buttons.confirm.label || 'Save'}</a>
3169
+                    </div>`}
3170
+                </div>
3171
+            </div>
3152 3172
         </div>`;
3153 3173
                             popUpHtml += '<div class="modal-backdrop fade show position-absolute chat-popup-backdrop" id="chatPopupBackdrop"></div>';
3154 3174
                             $('#chatAppWrap').append(popUpHtml);
@@ -3191,15 +3211,15 @@ var Unibase;
3191 3211
                         else {
3192 3212
                             contact = Chat.AllContacts.find(x => x.chatGroupId == Chat.chatGroupId);
3193 3213
                         }
3194
-                        const popupHtml = `<div class="modal fade chat-img-preview-modal chat-popup panel-preview" id="chatImgPreviewModal" tabindex="-1" role="dialog" data-backdrop="false">
3195
-                          <div class="modal-dialog h-100 my-0" role="document">
3196
-                            <div class="modal-content h-100">
3197
-                              <div class="modal-body h-100">
3198
-                                <img src="${contact.photoUrl}" class="preview-img img-fluid" onerror="ReloadImage(event)" data-dynamic="1" data-loaded="0">
3199
-                              </div>
3200
-                            </div>
3201
-                          </div>
3202
-                        </div>
3214
+                        const popupHtml = `<div class="modal fade chat-img-preview-modal chat-popup panel-preview" id="chatImgPreviewModal" tabindex="-1" role="dialog" data-backdrop="false">
3215
+                          <div class="modal-dialog h-100 my-0" role="document">
3216
+                            <div class="modal-content h-100">
3217
+                              <div class="modal-body h-100">
3218
+                                <img src="${contact.photoUrl}" class="preview-img img-fluid" onerror="ReloadImage(event)" data-dynamic="1" data-loaded="0">
3219
+                              </div>
3220
+                            </div>
3221
+                          </div>
3222
+                        </div>
3203 3223
                         <div class="modal-backdrop fade show position-absolute" id="chatPopupBackdrop"></div>`;
3204 3224
                         $('#chatAppWrap').append(popupHtml);
3205 3225
                         $('#chatImgPreviewModal').modal();

+ 22
- 3
wwwroot/platform/connect/components/chat.template.js 查看文件

@@ -143,6 +143,7 @@ var Unibase;
143 143
         <section class="message-info chat-flex-column h-100 hidden" id="messageInfoSection"></section>
144 144
     </div>${isFullScreen ? this.getChatFullScreenHtml() : ''}
145 145
     <div class="webcam hidden"></div>
146
+    <div class="audio_controls hidden" style="position:absolute;top:85%;left:10%;"></div>
146 147
 </div>`;
147 148
                         return _template;
148 149
                     }
@@ -221,6 +222,18 @@ var Unibase;
221 222
                     </a>
222 223
                 </div>
223 224
             </div>
225
+         <div class="record_div ml-6 hidden" style="position: absolute;background-color: #b5c9a6;width: 96%;height: 48px;border-radius: 10px;font-size: 20px;z-index: 1;display: flex;">
226
+              <span class="ml-10 ">Recording.......</span>
227
+              <span class="" style="width: 30px;">
228
+                <ul style="display:flex;">
229
+                  <li><span id="minutes"></span></li>
230
+                  <p>:</p>
231
+                  <li><span id="seconds"></span></li>
232
+               </ul>
233
+              </span>
234
+              <a href="javascript:;" class="btn btn-icon btn-primary btn-rounded d-30 voicemsg-send-btn  cursor-pointer  mt-10 ml-120">
235
+                <span class="btn-icon-wrap"><i class="las la-paper-plane msg-option font-20"></i></span></a>
236
+            </div>
224 237
             <div class="msg-option-container d-flex align-items-center c-gap-15 font-20">
225 238
                 <div class="msg-compose-options align-items-center c-gap-15">
226 239
                     <div class="btn-file msg-option attachments-btn cursor-pointer">
@@ -251,6 +264,11 @@ var Unibase;
251 264
                         <span class="btn-icon-wrap"> <i class="las la-paper-plane msg-option font-20"></i></span>
252 265
                     </a>
253 266
                 </div>
267
+               <div class="voicemsg_icon" id="recordaudio">
268
+                   <a href="javascript:;" class="btn btn-icon btn-primary btn-rounded d-30 msg-send-btn"  onclick="Unibase.Platform.Connect.Components.Chat.Instance().voicemsg()">
269
+                        <span class="btn-icon-wrap"><i class="fa fa-microphone msg-option font-20"></i></span>
270
+                   </a>
271
+                </div>
254 272
             </div>
255 273
         </div>
256 274
         <div class="msg-multiaction-btns hidden">
@@ -477,6 +495,7 @@ var Unibase;
477 495
                         return _template;
478 496
                     }
479 497
                     getprofilebody() {
498
+                        var imginput = '';
480 499
                         var contact = Components.Chat.contacts.find(x => x.contactId == Components.Chat.contactId);
481 500
                         if (Components.Chat.contactId == 0) {
482 501
                             contact = Components.Chat.recentChats.find(x => x.chatGroupId == Components.Chat.chatGroupId);
@@ -490,9 +509,9 @@ var Unibase;
490 509
                         let avatarHtml = this.getUserAvatarHtml(contact, false, true);
491 510
                         avatarHtml = avatarHtml.replace('avatar-sm', 'avatar-xl d-100');
492 511
                         if (!Components.Chat.isPrivate) {
493
-                            avatarHtml += '<input type="file" id="profileImageInput" class="Profile_image hidden" onchange="Unibase.Platform.Connect.Components.Chat.Instance().changeProfileImage(this);" accept="image/png,image/jpeg">';
512
+                            imginput = '<span class="btn btn-icon btn-icon-circle btn-primary btn-xs d-20" style="position:absolute;top:10%;z-index:1;left:56%;"><i class="fa fa-pencil"></i></span><input type="file" id="profileImageInput" class="Profile_image hidden" onchange="Unibase.Platform.Connect.Components.Chat.Instance().changeProfileImage(this);" accept="image/png,image/jpeg">';
494 513
                         }
495
-                        const template = `<div class="profile-details-wrap" id="profileDetailsWrap"><div class="user-profile-info flex-center flex-column r-gap-10" id="userProfileInfo"><label class="profile-header-img flex-center flex-shrink-0 my-0 cursor-pointer" for="profileImageInput" imgchatUser_${Components.Chat.chatGroupId} title="Upload Image">${avatarHtml}</label>
514
+                        const template = `<div class="profile-details-wrap" id="profileDetailsWrap"><div class="user-profile-info flex-center flex-column r-gap-10" id="userProfileInfo"><label class="profile-header-img flex-center flex-shrink-0 my-0 cursor-pointer" for="profileImageInput" imgchatUser_${Components.Chat.chatGroupId} title="Upload Image">${imginput}</label>${avatarHtml}
496 515
                             <div class="div-user-group-Name d-flex flex-column justify-content-center mnw-0 r-gap-5 w-100">
497 516
                             <div class="profile-name-wrap position-relative flex-center c-gap-10"><span class="Profile_name grpname_${Components.Chat.chatGroupId} font-weight-500 font-18 text-center text-dark">${contactName}</span><div class="edit-group-input-wrap position-relative mb-5 hidden" id="editGroupInputWrap"><input type="text" class="custom-chat-input text-dark font-weight-500 edit_groupdetailsInput pr-30" value="${contactName} " data-prevvalue="${contactName} "></a>
498 517
                             <a href="javascript:;" class="save_changes btn btn-flush-biz-theme btn-icon btn-rounded flush-soft-hover d-26" onclick="Unibase.Platform.Connect.Components.Chat.Instance().changeGroupName();"><span class="btn-icon-wrap"><i class="icon dripicons-checkmark"></i></span></a></div><a href="javascript:;" class="edit_grpdetails btn btn-flush-biz-theme btn-icon btn-rounded flush-soft-hover d-26 hidden" onclick="Unibase.Platform.Connect.Components.Chat.Instance().EditgroupDetails('${contactName}');"><span class="btn-icon-wrap"><i class="fa fa-pencil font-14"></i></span></a></div>
@@ -638,7 +657,7 @@ var Unibase;
638 657
                         return _template;
639 658
                     }
640 659
                     getUserAvatarHtml(contactInfo, isOnlineVisible = false, isPrivateWindow = false) {
641
-                        let avatarHtml = '<div class="media-img-wrap avatar ImagePng_' + contactInfo.chatGroupId + ' avatar-sm flex-shrink-0">';
660
+                        let avatarHtml = '<div class="media-img-wrap avatar ImagePng_' + contactInfo.chatGroupId + ' avatar-sm flex-shrink-0 cursor-pointer" onclick="Unibase.Platform.Connect.Components.Chat.Instance().showProfileImgPreview()" title="Preview Profile">';
642 661
                         if (!contactInfo.photoUrl) {
643 662
                             let avatarTxt = "";
644 663
                             let headingTxt = contactInfo.contactName;

+ 0
- 24
wwwroot/platform/connect/managers/chatmanager.js 查看文件

@@ -189,30 +189,6 @@ var Unibase;
189 189
                             });
190 190
                         });
191 191
                     }
192
-                    mediafiles(chatgroupid) {
193
-                        return __awaiter(this, void 0, void 0, function* () {
194
-                            const url = 'apis/uniconnect/chats/getmediafiles/chatgroupid/' + chatgroupid;
195
-                            return yield this.dataHelper().getAsync(url).then(function (response) {
196
-                                return response;
197
-                            });
198
-                        });
199
-                    }
200
-                    documentfiles(chatgroupid) {
201
-                        return __awaiter(this, void 0, void 0, function* () {
202
-                            const url = 'apis/uniconnect/chats/getdocumentfiles/chatgroupid/' + chatgroupid;
203
-                            return yield this.dataHelper().getAsync(url).then(function (response) {
204
-                                return response;
205
-                            });
206
-                        });
207
-                    }
208
-                    getlinks(chatgroupid) {
209
-                        return __awaiter(this, void 0, void 0, function* () {
210
-                            const url = 'apis/uniconnect/chats/getlinks/chatgroupid/' + chatgroupid;
211
-                            return yield this.dataHelper().getAsync(url).then(function (response) {
212
-                                return response;
213
-                            });
214
-                        });
215
-                    }
216 192
                     changeGroupName(chatgroupid, groupname) {
217 193
                         return __awaiter(this, void 0, void 0, function* () {
218 194
                             const url = 'apis/uniconnect/chats/changegroupname/chatgroupid/' + chatgroupid + '/groupname/' + groupname;

+ 3
- 0
wwwroot/platform/core/helpers/routes/routehelper.js 查看文件

@@ -421,6 +421,9 @@ class RouteHelper {
421 421
                                 Unibase.Platform.Communications.Managers.ReminderManager.Instance().changeReminderStatus(reminderid, status).then(function (response) {
422 422
                                 });
423 423
                             }
424
+                            else {
425
+                                Unibase.Themes.Compact.Components.Index.Instance().isIframeObj.isListDetailPage = false;
426
+                            }
424 427
                             Unibase.Themes.Compact.Components.Index.Instance().isIframe = true;
425 428
                             Unibase.Themes.Compact.Components.Index.Instance().isIframeObj.isListPage = true;
426 429
                             RouteHelper.Instance().navHelper.loadList(installedAppId, null);

+ 1
- 0
wwwroot/platform/forms/components/formviewer/formviewer.js 查看文件

@@ -780,6 +780,7 @@ var Unibase;
780 780
                                         if (Unibase.Themes.Compact.Components.Index.Instance().isIframe) {
781 781
                                             Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('tenants/themes/compact/components/popupdetails/popupdetails.js', function () {
782 782
                                                 Unibase.Themes.Compact.Components.Index.Instance().isIframeObj.isPopupPage = true;
783
+                                                window.parent.postMessage(`save-form-success/${ViewerObject.FormId}`, '*');
783 784
                                                 Unibase.Platform.Helpers.NavigationHelper.Instance().popup(0, '', Unibase.Platform.Membership.Components.PopupDetails.Instance(), function () {
784 785
                                                     let formid = ViewerObject.FormId;
785 786
                                                     let appconfigid = ViewerObject.AppConfigurationId;

+ 6
- 1
wwwroot/tenants/themes/compact/components/details/details.js 查看文件

@@ -125,7 +125,12 @@ var Unibase;
125 125
                         instance.appmanager = Unibase.Platform.Apps.Managers.AppManager.Instance();
126 126
                         instance.doctypemanager = Unibase.Platform.DataSources.Managers.DocTypeManager.Instance();
127 127
                         $("#" + containerid).find(".detail-close").click(function () {
128
-                            window.parent.postMessage('clickToBack', '*');
128
+                            if (!Unibase.Themes.Compact.Components.Index.Instance().isIframeObj.isListDetailPage) {
129
+                                window.parent.postMessage('List-Details-page', '*');
130
+                            }
131
+                            else {
132
+                                window.parent.postMessage('clickToBack', '*');
133
+                            }
129 134
                             $('.txt_global_search').show();
130 135
                             $('.search_icon').removeClass("hidden");
131 136
                             $(this).removeClass("hidden");

+ 1
- 1
wwwroot/tenants/themes/compact/index.js 查看文件

@@ -35,7 +35,7 @@ var Unibase;
35 35
                         this.currentUser = Unibase.Platform.Membership.Infos.Identity.currentUser;
36 36
                         this.isTouchScreen = ('ontouchstart' in window) || (navigator.msMaxTouchPoints > 0);
37 37
                         this.isIframe = false;
38
-                        this.isIframeObj = { "isDetailsPage": false, "isNotifiPage": false, "isListPage": false, "isForm": false, "isPopupPage": false, "isDetailsForm": false };
38
+                        this.isIframeObj = { "isDetailsPage": false, "isNotifiPage": false, "isListPage": false, "isForm": false, "isPopupPage": false, "isDetailsForm": false, "isListDetailPage": true };
39 39
                     }
40 40
                     init(callback) {
41 41
                         const instance = this;

+ 0
- 4
wwwroot/tenants/themes/compact/js/navigation/navigationhelper.js 查看文件

@@ -233,10 +233,6 @@ var Unibase;
233 233
                                 $("#" + panel).find('.modal-header .close').click();
234 234
                                 window.parent.postMessage('closeForm', '*');
235 235
                             });
236
-                            $("#" + panel).find("#btnDynamicSave").on("click", function () {
237
-                                let formid = $("#" + panel + ' .modal-header #hf_FormId').val();
238
-                                window.parent.postMessage(`save-form/${formid}`, '*');
239
-                            });
240 236
                         }
241 237
                         if (Unibase.Themes.Providers.DetailHelper.isListStages) {
242 238
                             $("#" + panel).find(".btn_CloseForm ").on("click", function () {

Loading…
取消
儲存