Moving dropdown to its own module folder and renaming

This commit is contained in:
Rob Harrington
2015-05-07 16:48:37 +10:00
parent 1c03e27686
commit f5c0ae0f41
6 changed files with 30 additions and 32 deletions

View File

@@ -1,3 +1,3 @@
angular.module("ofn.admin", ["ngResource", "ngAnimate", "ofn.dropdown", "admin.products", "admin.taxons", "infinite-scroll"]).config ($httpProvider) ->
angular.module("ofn.admin", ["ngResource", "ngAnimate", "admin.dropdown", "admin.products", "admin.taxons", "infinite-scroll"]).config ($httpProvider) ->
$httpProvider.defaults.headers.common["X-CSRF-Token"] = $("meta[name=csrf-token]").attr("content")
$httpProvider.defaults.headers.common["Accept"] = "application/json, text/javascript, */*"

View File

@@ -19,6 +19,7 @@
//= require ../shared/ng-infinite-scroll.min.js
//= require ./admin
//= require ./customers/customers
//= require ./dropdown/dropdown
//= require ./enterprises/enterprises
//= require ./enterprise_groups/enterprise_groups
//= require ./index_utils/index_utils

View File

@@ -0,0 +1,2 @@
angular.module("admin.dropdown").controller "DropDownCtrl", ($scope) ->
$scope.expanded = false

View File

@@ -0,0 +1,5 @@
angular.module("admin.dropdown").directive "ofnCloseOnClick", ($document) ->
link: (scope, element, attrs) ->
element.click (event) ->
event.stopPropagation()
scope.$emit "offClick"

View File

@@ -0,0 +1,20 @@
angular.module("admin.dropdown").directive "ofnDropDown", ($document) ->
link: (scope, element, attrs) ->
outsideClickListener = (event) ->
unless $(event.target).is("div.ofn_drop_down##{attrs.id} div.menu") ||
$(event.target).parents("div.ofn_drop_down##{attrs.id} div.menu").length > 0
scope.$emit "offClick"
element.click (event) ->
if !scope.expanded
event.stopPropagation()
scope.deregistrationCallback = scope.$on "offClick", ->
$document.off "click", outsideClickListener
scope.$apply ->
scope.expanded = false
element.removeClass "expanded"
scope.deregistrationCallback()
$document.on "click", outsideClickListener
scope.$apply ->
scope.expanded = true
element.addClass "expanded"

View File

@@ -1,31 +1 @@
dropDownModule = angular.module("ofn.dropdown", [])
dropDownModule.directive "ofnDropDown", ($document) ->
link: (scope, element, attrs) ->
outsideClickListener = (event) ->
unless $(event.target).is("div.ofn_drop_down##{attrs.id} div.menu") ||
$(event.target).parents("div.ofn_drop_down##{attrs.id} div.menu").length > 0
scope.$emit "offClick"
element.click (event) ->
if !scope.expanded
event.stopPropagation()
scope.deregistrationCallback = scope.$on "offClick", ->
$document.off "click", outsideClickListener
scope.$apply ->
scope.expanded = false
element.removeClass "expanded"
scope.deregistrationCallback()
$document.on "click", outsideClickListener
scope.$apply ->
scope.expanded = true
element.addClass "expanded"
dropDownModule.directive "ofnCloseOnClick", ($document) ->
link: (scope, element, attrs) ->
element.click (event) ->
event.stopPropagation()
scope.$emit "offClick"
dropDownModule.controller "DropDownCtrl", ($scope) ->
$scope.expanded = false
angular.module("admin.dropdown", [])