issue #23965: filter down sales dashboards
authorSteve Hackbarth <stephenhackbarth@gmail.com>
Fri, 20 Jun 2014 02:46:03 +0000 (22:46 -0400)
committerSteve Hackbarth <stephenhackbarth@gmail.com>
Fri, 20 Jun 2014 02:46:03 +0000 (22:46 -0400)
enyo-client/extensions/source/crm/client/widgets/chart.js
enyo-client/extensions/source/sales/client/en/strings.js
enyo-client/extensions/source/sales/client/widgets/chart.js
lib/enyo-x/source/widgets/chart.js

index 5e1e70d..016dae7 100644 (file)
@@ -56,7 +56,7 @@ trailing:true, white:true*/
           attribute: "targetClose",
           operator: "<=",
           value: XT.date.applyTimezoneOffset(XV.Date.prototype.textToDate("+30"), true)
-        }],
+        }]
       },
       totalField: "amount"
     });
index 67d3c2d..bf6ef81 100644 (file)
@@ -16,6 +16,7 @@ strict:true, trailing:true, white:true */
     "_autoAllocateCreditMemos": "Allocate Credit Memos to New Sales Order on Save",
     "_autoSelectForBilling": "Check 'Select for Billing' option on Ship Order",
     "_bookings": "Bookings",
+    "_bookingsNext30Days": "Bookings Next 30 Days",
     "_convert": "Convert",
     "_creditControl": "Credit Control",
     "_creditMemo": "Credit Memo",
@@ -54,6 +55,7 @@ strict:true, trailing:true, white:true */
     "_sales": "Sales",
     "_salesDescription": "Customer and Sales Order Management",
     "_salesHistory": "Sales History",
+    "_salesHistoryLast30Days": "Sales History Last 30 Days",
     "_salesOrder": "Sales Order",
     "_salesOrderAck": "Sales Order Acknowledgement",
     "_scheduled": "Scheduled",
index 7a410b7..6180e9e 100644 (file)
@@ -5,44 +5,23 @@ trailing:true, white:true*/
 
 (function () {
 
-
-/*
-unused and out of date. if we want to use this, add correct parameters to
-filter options
-  enyo.kind({
-    name: "XV.SalesHistoryBarChart",
-    kind: "XV.DrilldownBarChart",
-    collection: "XM.SalesHistoryCollection",
-    chartTitle: "_salesHistory".loc(),
-    drillDownAttr: "orderNumber",
-    drillDownRecordType: "XM.SalesOrderRelation",
-    filterOptions: [
-      { name: "today" },
-      { name: "thisWeek" },
-      { name: "thisMonth" },
-      { name: "thisYear" },
-      { name: "twoYears" },
-      { name: "fiveYears" }
-    ],
-    groupByOptions: [
-      { name: "customer" },
-      { name: "salesRep" }
-    ],
-    totalField: "totalPrice",
-    filterData: filterData
-  });
-*/
-
   enyo.kind({
     name: "XV.SalesHistoryTimeSeriesChart",
     kind: "XV.TimeSeriesChart",
     collection: "XM.SalesHistoryCollection",
-    chartTitle: "_salesHistory".loc(),
+    chartTitle: "_salesHistoryLast30Days".loc(),
     groupByOptions: [
       { name: "" },
       { name: "customer" },
       { name: "salesRep" }
     ],
+    query: {
+      parameters: [{
+        attribute: "shipDate",
+        operator: ">=",
+        value: XT.date.applyTimezoneOffset(XV.Date.prototype.textToDate("-30"), true)
+      }]
+    },
     dateField: "shipDate",
     totalField: "totalPrice"
   });
@@ -51,12 +30,23 @@ filter options
     name: "XV.SalesOrderTimeSeriesChart",
     kind: "XV.TimeSeriesChart",
     collection: "XM.SalesOrderListItemCollection",
-    chartTitle: "_bookings".loc(),
+    chartTitle: "_bookingsNext30Days".loc(),
     groupByOptions: [
       { name: "" },
       { name: "customer" },
       { name: "salesRep" }
     ],
+    query: {
+      parameters: [{
+        attribute: "orderDate",
+        operator: ">=",
+        value: XT.date.applyTimezoneOffset(XV.Date.prototype.textToDate("0"), true)
+      }, {
+        attribute: "orderDate",
+        operator: "<=",
+        value: XT.date.applyTimezoneOffset(XV.Date.prototype.textToDate("+30"), true)
+      }]
+    },
     dateField: "orderDate",
     totalField: "total"
   });
index fa2b64a..c446236 100644 (file)
@@ -441,11 +441,7 @@ trailing:true, white:true*/
       dateField: ""
     },
     filterOptions: [
-      { name: "thisWeek" },
-      { name: "thisMonth" },
-      { name: "thisYear" },
-      { name: "twoYears" },
-      { name: "fiveYears" }
+      { name: "all", parameters: [] }
     ],
     /**
       This looks really complicated! I'm just binning the
@@ -497,39 +493,6 @@ trailing:true, white:true*/
 
       return histoGroup;
     },
-    filterData: function (data, callback) {
-      var that = this;
-
-      callback(_.filter(data, function (datum) {
-        var shipDate = datum.get(that.getDateField()).getTime(),
-          now = new Date().getTime(),
-          timespan = 0,
-          oneDay = 1000 * 60 * 60 * 24;
-
-        // XXX use YTD etc.?
-        switch (that.getFilterAttr()) {
-        case "today":
-          timespan = oneDay;
-          break;
-        case "thisWeek":
-          timespan = 7 * oneDay;
-          break;
-        case "thisMonth":
-          timespan = 30 * oneDay;
-          break;
-        case "thisYear":
-          timespan = 365 * oneDay;
-          break;
-        case "twoYears":
-          timespan = 2 * 365 * oneDay;
-          break;
-        case "fiveYears":
-          timespan = 5 * 365 * oneDay;
-          break;
-        }
-        return shipDate + timespan >= now;
-      }));
-    },
     /**
       Make the chart using v3 and nv.d3, working off our this.processedData.
      */