diff --git a/src/components/widgets/sales-repeat-customers/sales-repeat-customers.directive.coffee b/src/components/widgets/sales-repeat-customers/sales-repeat-customers.directive.coffee new file mode 100644 index 00000000..6734681c --- /dev/null +++ b/src/components/widgets/sales-repeat-customers/sales-repeat-customers.directive.coffee @@ -0,0 +1,59 @@ +module = angular.module('impac.components.widgets.sales-repeat-customers', []) +module.controller('WidgetSalesRepeatCustomersCtrl', ($scope, $q, $filter, ChartFormatterSvc) -> + + w = $scope.widget + + # Define settings + # -------------------------------------- + $scope.orgDeferred = $q.defer() + $scope.chartDeferred = $q.defer() + $scope.histModeDeferred = $q.defer() + settingsPromises = [ + $scope.orgDeferred.promise + $scope.chartDeferred.promise + $scope.histModeDeferred.promise + ] + + # Widget specific methods + # -------------------------------------- + w.initContext = -> + $scope.isDataFound = w.content? + + $scope.getColorByIndex = (index) -> + ChartFormatterSvc.getColor(index) + + # Chart formating function + # -------------------------------------- + $scope.drawTrigger = $q.defer() + w.format = -> + if $scope.isDataFound + dates = _.map w.content.small_chart.dates, (date) -> + $filter('date')(date, 'MMM yy') + + lineOptions = { + scaleBeginAtZero: true, + showXLabels: false, + currency: 'hide' + } + + lineData = [ + {title: 'Merchant', labels: dates, values: w.content.small_chart.merchant_values}, + {title: 'Competitive Set', labels: dates, values: w.content.small_chart.competitive_values}, + {title: 'Industry', labels: dates, values: w.content.small_chart.industry_values} + ] + + # init chartData after transletion chages + chartData = ChartFormatterSvc.lineChart(lineData,lineOptions) + + # calls chart.draw() + $scope.drawTrigger.notify(chartData) + + + $scope.widgetDeferred.resolve(settingsPromises) +) +module.directive('widgetSalesRepeatCustomers', -> + return { + restrict: 'A', + controller: 'WidgetSalesRepeatCustomersCtrl' + } +) \ No newline at end of file diff --git a/src/components/widgets/sales-repeat-customers/sales-repeat-customers.less b/src/components/widgets/sales-repeat-customers/sales-repeat-customers.less new file mode 100644 index 00000000..d07b77ea --- /dev/null +++ b/src/components/widgets/sales-repeat-customers/sales-repeat-customers.less @@ -0,0 +1,18 @@ +.analytics .widget-item .content.sales-repeat-customers { + h6 { + text-align: center; + font-size: 11px; + margin-top: 2px; + } + + td { + text-align: center; + padding-left: 3px; + padding-right: 3px; + padding-top: 3px; + } + + ::-webkit-scrollbar { + width: 0px; + } +} diff --git a/src/components/widgets/sales-repeat-customers/sales-repeat-customers.tmpl.html b/src/components/widgets/sales-repeat-customers/sales-repeat-customers.tmpl.html new file mode 100644 index 00000000..aa7b2998 --- /dev/null +++ b/src/components/widgets/sales-repeat-customers/sales-repeat-customers.tmpl.html @@ -0,0 +1,57 @@ +
| + | Within | ++ |
| 1 month | ++ | 2 months | +
| {{figure.value[0]}}% | +{{figure.label}} | +{{figure.value[1]}}% | +