diff --git a/src/components/widgets/sales-days-between-visits/sales-days-between-visits.directive.coffee b/src/components/widgets/sales-days-between-visits/sales-days-between-visits.directive.coffee new file mode 100644 index 00000000..cb991cb5 --- /dev/null +++ b/src/components/widgets/sales-days-between-visits/sales-days-between-visits.directive.coffee @@ -0,0 +1,60 @@ +module = angular.module('impac.components.widgets.sales-days-between-visits', []) +module.controller('WidgetSalesDaysBetweenVisitsCtrl', ($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) + + # Widget is ready: can trigger the "wait for settings to be ready" + # -------------------------------------- + $scope.widgetDeferred.resolve(settingsPromises) +) +module.directive('widgetSalesDaysBetweenVisits', -> + return { + restrict: 'A', + controller: 'WidgetSalesDaysBetweenVisitsCtrl' + } +) \ No newline at end of file diff --git a/src/components/widgets/sales-days-between-visits/sales-days-between-visits.less b/src/components/widgets/sales-days-between-visits/sales-days-between-visits.less new file mode 100644 index 00000000..97d20c6c --- /dev/null +++ b/src/components/widgets/sales-days-between-visits/sales-days-between-visits.less @@ -0,0 +1,11 @@ +.analytics .widget-item .content.sales-days-between-visits { + h6 { + text-align: center; + .font(11px, 300, @impac-widget-text-color); + margin-top: 2px; + } + + ::-webkit-scrollbar { + width: 0px; + } +} diff --git a/src/components/widgets/sales-days-between-visits/sales-days-between-visits.tmpl.html b/src/components/widgets/sales-days-between-visits/sales-days-between-visits.tmpl.html new file mode 100644 index 00000000..8b75ce82 --- /dev/null +++ b/src/components/widgets/sales-days-between-visits/sales-days-between-visits.tmpl.html @@ -0,0 +1,40 @@ +