Making TagRule autocomplete available to models other than Customer

Incorporate ng admin.tags module and rails TagController into existing admin.tagRules module + TagRuleController
This commit is contained in:
Rob Harrington
2016-05-11 10:52:50 +10:00
parent 9e0b97dc9c
commit ddcfe1535a
20 changed files with 89 additions and 74 deletions

View File

@@ -1,4 +1,4 @@
angular.module("admin.customers").controller "customersCtrl", ($scope, CustomerResource, TagsResource, $q, Columns, pendingChanges, shops) ->
angular.module("admin.customers").controller "customersCtrl", ($scope, CustomerResource, TagRuleResource, $q, Columns, pendingChanges, shops) ->
$scope.shop = {}
$scope.shops = shops
$scope.submitAll = pendingChanges.submitAll
@@ -16,7 +16,7 @@ angular.module("admin.customers").controller "customersCtrl", ($scope, CustomerR
defer = $q.defer()
params =
enterprise_id: $scope.shop.id
TagsResource.index params, (data) =>
TagRuleResource.mapByTag params, (data) =>
filtered = data.filter (tag) ->
tag.text.toLowerCase().indexOf(query.toLowerCase()) != -1
defer.resolve filtered

View File

@@ -1 +1 @@
angular.module("admin.customers", ['ngResource', 'ngTagsInput', 'admin.indexUtils', 'admin.utils', 'admin.dropdown'])
angular.module("admin.customers", ['ngResource', 'admin.tagRules', 'admin.indexUtils', 'admin.utils', 'admin.dropdown'])

View File

@@ -1,9 +0,0 @@
angular.module("admin.customers").factory 'TagsResource', ($resource) ->
$resource('/admin/tags.json', {}, {
'index':
method: 'GET'
isArray: true
cache: true
params:
enterprise_id: '@enterprise_id'
})

View File

@@ -1,2 +1,10 @@
angular.module("admin.shippingMethods").controller "shippingMethodCtrl", ($scope, shippingMethod) ->
angular.module("admin.shippingMethods").controller "shippingMethodCtrl", ($scope, shippingMethod, TagRuleResource, $q) ->
$scope.shippingMethod = shippingMethod
$scope.findTags = (query) ->
defer = $q.defer()
TagRuleResource.mapByTag (data) =>
filtered = data.filter (tag) ->
tag.text.toLowerCase().indexOf(query.toLowerCase()) != -1
defer.resolve filtered
defer.promise

View File

@@ -1 +1 @@
angular.module("admin.shippingMethods", ["ngTagsInput", 'admin.utils', 'templates'])
angular.module("admin.shippingMethods", ["ngTagsInput", 'admin.utils', 'admin.tagRules', 'templates'])

View File

@@ -0,0 +1,10 @@
angular.module("admin.tagRules").factory 'TagRuleResource', ($resource) ->
$resource('/admin/tag_rules/:action.json', {}, {
'mapByTag':
method: 'GET'
isArray: true
cache: true
params:
action: 'map_by_tag'
enterprise_id: '@enterprise_id'
})

View File

@@ -1 +1 @@
angular.module("admin.tagRules", ['ngTagsInput'])
angular.module("admin.tagRules", ['ngResource', 'ngTagsInput'])

File diff suppressed because one or more lines are too long