mno-enterprise-frontend 2.0.9 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/mno_enterprise/angular/app.js.coffee.erb +0 -120
  3. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/maestrano-components.js.coffee +0 -11
  4. data/app/assets/javascripts/mno_enterprise/application.js +0 -2
  5. data/app/assets/javascripts/mno_enterprise/lib/xeditable.js +0 -0
  6. data/app/assets/stylesheets/mno_enterprise/main.less +0 -28
  7. data/app/views/layouts/mno_enterprise/_application_js.html.haml +0 -4
  8. data/app/views/layouts/mno_enterprise/_common_cdn_lib_js.html.haml +0 -5
  9. data/app/views/layouts/mno_enterprise/_header_files.html.haml +0 -3
  10. data/app/views/layouts/mno_enterprise/application.html.haml +1 -1
  11. data/app/views/mno_enterprise/provision/_provision_apps.html.haml +7 -8
  12. data/config/routes.rb +1 -10
  13. data/lib/mno_enterprise/frontend/engine.rb +12 -0
  14. data/lib/mno_enterprise/frontend/locales_generator.rb +57 -0
  15. data/lib/tasks/mnoe_admin_tasks.rake +67 -0
  16. data/lib/tasks/mnoe_frontend_tasks.rake +138 -0
  17. data/lib/tasks/mnoe_locales.rake +14 -0
  18. data/lib/tasks/templates/bower.json +10 -0
  19. data/spec/controllers/mno_enterprise/auth/confirmations_controller_spec.rb +2 -2
  20. data/spec/controllers/mno_enterprise/webhook/o_auth_controller_spec.rb +1 -1
  21. data/spec/lib/mno_enterprise/locales_generator_spec.rb +14 -0
  22. data/spec/lib/tasks/mnoe_locales_rake_spec.rb +25 -0
  23. metadata +35 -145
  24. data/app/assets/images/mno_enterprise/impac/close-widget-pink.png +0 -0
  25. data/app/assets/images/mno_enterprise/impac/close-widget.png +0 -0
  26. data/app/assets/javascripts/mno_enterprise/angular/controllers/maestrano-controllers.js.coffee +0 -4
  27. data/app/assets/javascripts/mno_enterprise/angular/controllers/modals/modals-ctrl.js.coffee +0 -62
  28. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-account.js.coffee +0 -157
  29. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-app-deletion-request.js.coffee +0 -62
  30. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-apps-list.js.coffee +0 -127
  31. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-components.js.coffee +0 -25
  32. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-marketplace-app.js.coffee +0 -77
  33. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-marketplace.js.coffee +0 -51
  34. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-menu.js.coffee +0 -174
  35. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/arrears.js.coffee +0 -70
  36. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/billing.js.coffee +0 -48
  37. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/credit-card.js.coffee +0 -142
  38. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/index.js.coffee +0 -61
  39. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/invoices.js.coffee +0 -42
  40. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/members.js.coffee +0 -280
  41. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/settings.js.coffee +0 -91
  42. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/team-list.js.coffee +0 -179
  43. data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/teams.js.coffee +0 -268
  44. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/file-model.js.coffee +0 -33
  45. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-autostop-app.js.coffee +0 -123
  46. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-currency-widget.js.coffee +0 -43
  47. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-current-currency.js.coffee +0 -22
  48. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-editable.js.coffee +0 -68
  49. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-helptext.js.coffee +0 -38
  50. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-match.js.coffee +0 -14
  51. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-message-modal.js.coffee +0 -56
  52. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-partner-code-popup.js.coffee +0 -74
  53. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-partner-contact.js.coffee +0 -59
  54. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-price-converter.js.coffee +0 -49
  55. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-scroll-to.js.coffee +0 -14
  56. data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-typeahead.js.coffee +0 -89
  57. data/app/assets/javascripts/mno_enterprise/angular/directives/user-setup/components.js.coffee +0 -7
  58. data/app/assets/javascripts/mno_enterprise/angular/directives/user-setup/index.js.coffee +0 -256
  59. data/app/assets/javascripts/mno_enterprise/angular/filters/maestrano-app-by-category.js.coffee +0 -5
  60. data/app/assets/javascripts/mno_enterprise/angular/filters/maestrano-currency.js.coffee +0 -30
  61. data/app/assets/javascripts/mno_enterprise/angular/filters/maestrano-filters.js.coffee +0 -7
  62. data/app/assets/javascripts/mno_enterprise/angular/filters/maestrano-replace-underscore-with-space.js.coffee +0 -4
  63. data/app/assets/javascripts/mno_enterprise/angular/filters/maestrano-titleize.js.coffee +0 -7
  64. data/app/assets/javascripts/mno_enterprise/angular/filters/maestrano-truncate.js.coffee +0 -24
  65. data/app/assets/javascripts/mno_enterprise/angular/services/dashboard/maestrano-app-instance.js.coffee +0 -15
  66. data/app/assets/javascripts/mno_enterprise/angular/services/dashboard/maestrano-apps-document.js.coffee +0 -83
  67. data/app/assets/javascripts/mno_enterprise/angular/services/dashboard/maestrano-user.js.coffee +0 -27
  68. data/app/assets/javascripts/mno_enterprise/angular/services/dashboard/organization-svc.js.coffee +0 -318
  69. data/app/assets/javascripts/mno_enterprise/angular/services/dashboard/team-svc.js.coffee +0 -180
  70. data/app/assets/javascripts/mno_enterprise/angular/services/dashboard/tickets-svc.js.coffee +0 -109
  71. data/app/assets/javascripts/mno_enterprise/angular/services/impac-config.svc.js.coffee +0 -35
  72. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-apps-list-helper.js.coffee +0 -337
  73. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-current-currency.js.coffee +0 -7
  74. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-current-user-svc.js.coffee +0 -99
  75. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-exchange-rates.js.coffee +0 -102
  76. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-miscellaneous.js.coffee.erb +0 -46
  77. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-modal.js.coffee +0 -67
  78. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-services.js.coffee +0 -21
  79. data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-shopping-cart.js.coffee +0 -361
  80. data/app/assets/javascripts/mno_enterprise/angular/services/marketplace-svc.js.coffee +0 -59
  81. data/app/assets/javascripts/mno_enterprise/lib/angular-really-click.js +0 -17
  82. data/app/assets/javascripts/ng-performance/ngPerformance.html +0 -109
  83. data/app/assets/javascripts/ng-performance/ngPerformance.js +0 -211
  84. data/app/assets/stylesheets/mno_enterprise/custom/impac-variables-override.less +0 -65
  85. data/app/assets/stylesheets/mno_enterprise/custom/utility/app-presentation.less +0 -77
  86. data/app/assets/stylesheets/mno_enterprise/custom/utility/banners.less +0 -145
  87. data/app/assets/stylesheets/mno_enterprise/custom/utility/carousel.less +0 -68
  88. data/app/assets/stylesheets/mno_enterprise/custom/utility/helptext.less +0 -40
  89. data/app/assets/stylesheets/mno_enterprise/custom/utility/miscellaneous.less +0 -134
  90. data/app/assets/stylesheets/mno_enterprise/custom/utility/testimonial.less +0 -118
  91. data/app/assets/stylesheets/mno_enterprise/custom/views/apps.less +0 -243
  92. data/app/assets/stylesheets/mno_enterprise/custom/views/myspace.less +0 -477
  93. data/app/assets/stylesheets/mno_enterprise/custom/views/pages/home.less +0 -57
  94. data/app/assets/stylesheets/mno_enterprise/custom/views/star.less +0 -18
  95. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/dashboard/bootstrap-wizard.less +0 -63
  96. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/dashboard/dashboard-marketplace.less +0 -187
  97. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/dashboard/dashboard-organization.less +0 -149
  98. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/dashboard/dashboard-teams.less +0 -119
  99. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/dashboard/support.less +0 -42
  100. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/dashboard/tickets.less +0 -80
  101. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/mno-editable.less +0 -60
  102. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/shopping-cart.less +0 -333
  103. data/app/assets/stylesheets/mno_enterprise/custom/views/templates/star-wizard.less +0 -49
  104. data/app/assets/stylesheets/mno_enterprise/custom/views/user-setup.less +0 -10
  105. data/app/assets/templates/mno_enterprise/dashboard/account.html +0 -131
  106. data/app/assets/templates/mno_enterprise/dashboard/app_deletion.html +0 -36
  107. data/app/assets/templates/mno_enterprise/dashboard/apps_list.html +0 -103
  108. data/app/assets/templates/mno_enterprise/dashboard/horizontal_menu.html +0 -85
  109. data/app/assets/templates/mno_enterprise/dashboard/marketplace/index.html +0 -60
  110. data/app/assets/templates/mno_enterprise/dashboard/marketplace/show.html +0 -133
  111. data/app/assets/templates/mno_enterprise/dashboard/menu.html +0 -161
  112. data/app/assets/templates/mno_enterprise/dashboard/organization/arrears.html +0 -37
  113. data/app/assets/templates/mno_enterprise/dashboard/organization/billing.html +0 -37
  114. data/app/assets/templates/mno_enterprise/dashboard/organization/credit-card.html +0 -156
  115. data/app/assets/templates/mno_enterprise/dashboard/organization/index.full.html +0 -181
  116. data/app/assets/templates/mno_enterprise/dashboard/organization/index.html +0 -173
  117. data/app/assets/templates/mno_enterprise/dashboard/organization/invoices.html +0 -27
  118. data/app/assets/templates/mno_enterprise/dashboard/organization/members.html +0 -288
  119. data/app/assets/templates/mno_enterprise/dashboard/organization/settings.html +0 -55
  120. data/app/assets/templates/mno_enterprise/dashboard/teams/index.html +0 -175
  121. data/app/assets/templates/mno_enterprise/dashboard/teams/member-add-modal.html +0 -60
  122. data/app/assets/templates/mno_enterprise/dashboard/teams/member-removal-modal.html +0 -35
  123. data/app/assets/templates/mno_enterprise/dashboard/teams/team-add-modal.html +0 -35
  124. data/app/assets/templates/mno_enterprise/dashboard/teams/team-delete-modal.html +0 -35
  125. data/app/assets/templates/mno_enterprise/dashboard/teams/team-list.html +0 -107
  126. data/app/assets/templates/mno_enterprise/default_template.html +0 -20
  127. data/app/assets/templates/mno_enterprise/maestrano-components/autostop_app.html +0 -42
  128. data/app/assets/templates/mno_enterprise/maestrano-components/currency_widget.html +0 -1
  129. data/app/assets/templates/mno_enterprise/maestrano-components/editable.html +0 -28
  130. data/app/assets/templates/mno_enterprise/maestrano-components/modal-messages/congratulations.html +0 -8
  131. data/app/assets/templates/mno_enterprise/maestrano-components/modal-messages/default.html +0 -1
  132. data/app/assets/templates/mno_enterprise/maestrano-components/modal-messages/information.html +0 -8
  133. data/app/assets/templates/mno_enterprise/maestrano-components/star_wizard.html +0 -254
  134. data/app/assets/templates/mno_enterprise/maestrano-components/upload_spreadsheet.html +0 -191
  135. data/app/assets/templates/mno_enterprise/modals/new-organization-reseller-req.html +0 -35
  136. data/app/assets/templates/mno_enterprise/modals/new-organization.html +0 -35
  137. data/app/assets/templates/mno_enterprise/user-setup/index.html +0 -312
  138. data/app/controllers/mno_enterprise/pages_controller.rb +0 -9
  139. data/app/controllers/mno_enterprise/user_setup_controller.rb +0 -11
  140. data/app/views/layouts/mno_enterprise/_impersonate_header.html.haml +0 -7
  141. data/app/views/layouts/mno_enterprise/application_dashboard.html.haml +0 -22
  142. data/app/views/mno_enterprise/pages/myspace.html.haml +0 -6
  143. data/app/views/mno_enterprise/user_setup/index.html.haml +0 -2
  144. data/config/initializers/ng-performance.rb +0 -3
  145. data/lib/assets/javascripts/impac-angular.js +0 -8719
  146. data/lib/assets/stylesheets/impac-angular.less +0 -2352
  147. data/lib/mno_enterprise/frontend/concerns/README.md +0 -6
  148. data/lib/mno_enterprise/frontend/concerns/controllers/pages_controller.rb +0 -25
  149. data/spec/controllers/mno_enterprise/pages_controller_spec.rb +0 -42
  150. data/spec/controllers/mno_enterprise/user_setup_controller_spec.rb +0 -33
  151. data/spec/routing/mno_enterprise/pages_controller_routing_spec.rb +0 -18
  152. data/spec/routing/mno_enterprise/user_setup_controller_routing_spec.rb +0 -11
@@ -1,123 +0,0 @@
1
- module = angular.module('maestrano.components.mno-autostop-app',['maestrano.assets'])
2
-
3
- #============================================
4
- # Component 'Select App'
5
- #============================================
6
- module.controller('MnoAutostopAppCtrl',[
7
- '$scope', '$rootScope', '$window', 'MsgBus', 'Utilities','$modal', '$http'
8
- ($scope, $rootScope, $window, MsgBus, Utilities, $modal, $http) ->
9
- $scope.assetPath = $rootScope.assetPath
10
- $scope.windowHeight = $window.innerHeight
11
-
12
- #===================================
13
- # Load Scope
14
- #===================================
15
- $scope.autostopModal = autostopModal = {}
16
- $scope.currentAppBeingAsked = undefined
17
-
18
-
19
- if angular.isArray($scope.mnoAutostopApp())
20
- $scope.appQueue = appQueue = $scope.mnoAutostopApp
21
- else if angular.isObject($scope.mnoAutostopApp())
22
- $scope.appQueue = appQueue = (->[$scope.mnoAutostopApp()])
23
- else
24
- $scope.appQueue = appQueue = MsgBus.subscribe('autostopQueue')
25
-
26
- #===================================
27
- # Watch the queue and open modals
28
- # successively until empty
29
- #===================================
30
- $scope.$watch(
31
- () ->
32
- if !autostopModal.isOpen
33
- if $scope.currentAppBeingAsked != undefined
34
- autostopModal.open($scope.currentAppBeingAsked)
35
- else if appQueue().length > 0
36
- $scope.currentAppBeingAsked = appQueue()[0]
37
- ,(->))
38
-
39
-
40
- #===================================
41
- # AutostopModal
42
- #===================================
43
- # Open the autostopModal and reset the proceed action
44
- autostopModal.open = (instance) ->
45
- self = autostopModal
46
- self.$instance = $modal.open(templateUrl: 'internal-autostop-modal.html', scope: $scope)
47
- self.isOpen = true
48
- self.instance = instance
49
- self.defaultDuration = 1
50
- self.model = {}
51
- self.model.duration = self.defaultDuration
52
- if instance.name
53
- self.title = "Choose idle time for #{instance.name}"
54
- else if instance.appName
55
- self.title = "Choose idle time for #{instance.appName}"
56
- else
57
- self.title = "Choose idle time for this app"
58
-
59
- self.proceed = () ->
60
- self.inProgress = true
61
-
62
- if self.model.duration != self.defaultDuration
63
- $http.put("/app_instances/#{instance.id}/autostop", {duration: self.model.duration}).then(
64
- (success) ->
65
- self.close()
66
- (error) ->
67
- self.errors = Utilities.processRailsError(error)
68
- self.inProgress = false
69
- )
70
- else
71
- self.close()
72
-
73
- autostopModal.availableDurations = () ->
74
- self = autostopModal
75
- return [1,2,3,4,5,6,8,10]
76
-
77
-
78
- autostopModal.select = (duration) ->
79
- self = autostopModal
80
- self.model.duration = duration
81
-
82
-
83
- autostopModal.classFor = (duration) ->
84
- self = autostopModal
85
- if duration == self.model.duration
86
- return "selected"
87
-
88
- autostopModal.proceedEnabled = () ->
89
- return true
90
-
91
- autostopModal.text = () ->
92
- self = autostopModal
93
- return "Your app will automatically be offlined after <b class=\"text-info\">#{self.model.duration} hour(s)</b> of inactivity."
94
-
95
- # Close the transferModal and reset its values
96
- autostopModal.close = () ->
97
- self = autostopModal
98
- self.$instance.close()
99
- self.errors = []
100
- $scope.currentAppBeingAsked = undefined
101
- self.inProgress = false
102
- self.model = {}
103
- self.instance = {}
104
- self.cancel = self.defaultProceed
105
- self.isOpen = false
106
- appQueue().shift()
107
-
108
-
109
- # This is the default proceed method
110
- autostopModal.defaultProceed = () ->
111
- autostopModal.close()
112
- ])
113
-
114
- module.directive('mnoAutostopApp', ['TemplatePath', (TemplatePath) ->
115
- return {
116
- restrict: 'A',
117
- scope: {
118
- mnoAutostopApp: '&'
119
- },
120
- templateUrl: TemplatePath['mno_enterprise/maestrano-components/autostop_app.html'],
121
- controller: 'MnoAutostopAppCtrl'
122
- }
123
- ])
@@ -1,43 +0,0 @@
1
- module = angular.module('maestrano.components.mno-currency-widget',['maestrano.assets'])
2
-
3
- #============================================
4
- # Component 'Currency Widget'
5
- #============================================
6
-
7
-
8
- module.controller('MnoCurrencyWidgetCtrl',['$scope', 'CurrentCurrency', ($scope, CurrentCurrency) ->
9
-
10
-
11
- $scope.currencies = ["USD","AUD","CAD","CNY","EUR","GBP","HKD","INR","JPY","NZD","SGD","PHP"]
12
- $scope.currentCurrency = CurrentCurrency.val
13
-
14
- # Set the currency
15
- $scope.setCurrency = (currency) ->
16
- CurrentCurrency.val = currency
17
-
18
- # Outject 'selectedCurrency' function in scope.
19
- # 'selected-currency' is accessible via directive attribute
20
- # and can be called by other element on the page that are
21
- # not angular ready (haml pages)
22
- $scope.selectedCurrency = ->
23
- return CurrentCurrency.val
24
-
25
- # Initialize current currency based on user location
26
- curr = if window.currentVisitorCountryCode is "AU" then "AUD" else "USD"
27
- $scope.setCurrency(curr)
28
-
29
- ])
30
-
31
- module.directive('mnoCurrencyWidget', ['TemplatePath', '$timeout', (TemplatePath, $timeout) ->
32
- return {
33
- link: (scope,element,attrs) ->
34
- $timeout ->
35
- $('select.select-picker').selectpicker()
36
- ,1000
37
- restrict: 'A',
38
- scope:
39
- selectedCurrency: '=?'
40
- templateUrl: TemplatePath['mno_enterprise/maestrano-components/currency_widget.html'],
41
- controller: 'MnoCurrencyWidgetCtrl',
42
- }
43
- ])
@@ -1,22 +0,0 @@
1
- module = angular.module('maestrano.components.mno-current-currency',['maestrano.assets'])
2
-
3
- #============================================
4
- # Component 'Current Currency'
5
- #============================================
6
-
7
-
8
- module.controller('MnoCurrentCurrencyCtrl',['$scope', 'CurrentCurrency', ($scope, CurrentCurrency) ->
9
-
10
- $scope.currentCurrency = ->
11
- return CurrentCurrency.val
12
-
13
- ])
14
-
15
- module.directive('mnoCurrentCurrency', ['TemplatePath', (TemplatePath) ->
16
- return {
17
- restrict: 'A',
18
- scope: {}
19
- template: "<span>{{currentCurrency()}}</span>",
20
- controller: 'MnoCurrentCurrencyCtrl',
21
- }
22
- ])
@@ -1,68 +0,0 @@
1
- module = angular.module('maestrano.components.mno-editable',['maestrano.assets'])
2
-
3
- #============================================
4
- # Component
5
- #============================================
6
- module.controller('MnoEditableCtrl',[
7
- '$scope','$http','$element',
8
- ($scope, $http, $element) ->
9
-
10
- $scope.model = { orig:$scope.initialValue, value:$scope.initialValue }
11
-
12
- # Perform an ajax request to update the content element
13
- $scope.updateField = () ->
14
- route = "/mnoe/jpi/v1/admin/content/#{$scope.contentableId}"
15
- data = {
16
- contentable_type: $scope.contentableType
17
- field_name: $scope.fieldName
18
- value: $scope.model.value
19
- }
20
- $http.put(route,data).then(
21
- (success) ->
22
- $scope.model.orig = $scope.model.value
23
- ,(error) ->
24
- $scope.model.value = $scope.model.orig
25
- )
26
- return true
27
-
28
- $scope.uploadImage = () ->
29
- opts = { transformRequest: angular.identity, headers: {'Content-Type': undefined} }
30
- route = "/mnoe/jpi/v1/admin/content/#{$scope.contentableId}/upload_image"
31
- data = new FormData()
32
- data.append('image',$scope.model.image)
33
- data.append('contentable_type',$scope.contentableType)
34
- data.append('field_name',$scope.fieldName)
35
- $http.put(route,data,opts).then(
36
- (success) ->
37
- $scope.model.orig = success.data
38
- )
39
-
40
- ])
41
-
42
- module.directive('mnoEditable', ['TemplatePath', (TemplatePath) ->
43
- return {
44
- restrict: 'A',
45
- scope: {
46
- contentableType:'@'
47
- contentableId:'@'
48
- fieldName:'@'
49
- contentType:'@'
50
- initialValue:'@'
51
- customStyle:'@'
52
- },
53
- controller: 'MnoEditableCtrl'
54
- templateUrl: TemplatePath['mno_enterprise/maestrano-components/editable.html'],
55
- link: (scope, element, attrs) ->
56
- scope.showForm = false
57
- element.on("mouseenter", ->
58
- scope.showForm = true
59
- scope.$apply()
60
- )
61
-
62
- element.on("mouseleave", ->
63
- scope.showForm = false
64
- scope.$apply()
65
- )
66
-
67
- }
68
- ])
@@ -1,38 +0,0 @@
1
- module = angular.module('maestrano.components.mno-helptext',[])
2
-
3
- module.directive("mnoHelptext", ['$window', ($window) ->
4
- return {
5
- restrict: 'A'
6
- link: (scope, elem, attrs, ctrl) ->
7
- delay = attrs.helptextDelay
8
- scope.$watch(
9
- () ->
10
- attrs.mnoHelptext
11
- ,() ->
12
- $(elem).tooltip({
13
- title: attrs.mnoHelptext,
14
- html: true,
15
- delay: {
16
- show: (delay || 1000)
17
- hide: 100
18
- },
19
- animation: false,
20
- placement: () ->
21
- if attrs.helptextPlacement
22
- return attrs.helptextPlacement
23
- else
24
- # Calculate remaining space on bottom, right, left
25
- remainingBottom = $($window).height() + $($window).scrollTop() - $(elem).offset().top - $(elem).height()
26
- remainingLeft = $(elem).offset().left - $($window).scrollLeft()
27
- remainingRight = $($window).width() - remainingLeft - $(elem).width()
28
-
29
- # Adjust positioning based on remaining space
30
- # Note that according to the rules below bottom is clearly preferred
31
- position = (if remainingBottom < 200 then 'top' else 'bottom')
32
- position = 'right' if remainingLeft < 50
33
- position = 'left' if remainingRight < 50
34
- return position
35
- })
36
- )
37
- }
38
- ])
@@ -1,14 +0,0 @@
1
- module = angular.module('maestrano.components.mno-match',[])
2
-
3
- module.directive("mnoMatch", ['$parse', ($parse) ->
4
- return {
5
- require: "ngModel",
6
- link: (scope, elem, attrs, ctrl) ->
7
- scope.$watch(
8
- () ->
9
- return $parse(attrs.mnoMatch)(scope) == ctrl.$modelValue
10
- , (currentValue) ->
11
- ctrl.$setValidity('mismatch', currentValue)
12
- )
13
- }
14
- ])
@@ -1,56 +0,0 @@
1
- module = angular.module('maestrano.components.mno-message-modal',['maestrano.assets'])
2
-
3
- #============================================
4
- #
5
- #============================================
6
- module.controller('MnoMessageModalCtrl',[
7
- '$scope','$modal','MessageSvc','$location','TemplatePath','AssetPath',
8
- ($scope, $modal, MessageSvc, $location, TemplatePath, AssetPath) ->
9
- $scope.assetPath = AssetPath
10
-
11
- $scope.modal = {}
12
- message = null
13
-
14
- $scope.modal.title = ->
15
- return message.title || "Congratulations!"
16
-
17
- $scope.modal.body = ->
18
- return message.body
19
-
20
- $scope.templateUrl = ->
21
- return message.templateUrl
22
-
23
- $scope.modal.open = ->
24
- $scope.modal.$instance = $modal.open(templateUrl:'internal-message-modal.html',scope:$scope, size:'lg')
25
- $scope.modal.$instance.result.finally ->
26
- $scope.modal.$instance = null
27
- MessageSvc.next()
28
-
29
-
30
- $scope.modal.close = ->
31
- $scope.modal.$instance.close()
32
-
33
- $scope.modal.goBackToDashboard = ->
34
- $scope.modal.close()
35
- $location.path("/")
36
-
37
-
38
- $scope.$watch(( -> MessageSvc.count),
39
- () ->
40
- if MessageSvc.count > 0
41
- message = MessageSvc.pullMessage()
42
- $scope.modal.open()
43
- )
44
-
45
-
46
- ])
47
-
48
- module.directive('mnoMessageModal', ['TemplatePath', (TemplatePath) ->
49
- return {
50
- restrict: 'A',
51
- scope: {
52
- },
53
- templateUrl: TemplatePath['mno_enterprise/default_template.html'],
54
- controller: 'MnoMessageModalCtrl'
55
- }
56
- ])
@@ -1,74 +0,0 @@
1
- module = angular.module('maestrano.components.mno-partner-code-popup',['maestrano.assets'])
2
-
3
- #============================================
4
- # Component 'Select App'
5
- #============================================
6
- module.controller('MnoPartnerCodePopupCtrl',[
7
- '$scope', '$rootScope', '$window', 'Utilities', '$modal','DashboardUser','CurrentUserSvc',
8
- ($scope, $rootScope, $window, Utilities, $modal, DashboardUser, CurrentUserSvc) ->
9
- $scope.assetPath = $rootScope.assetPath
10
-
11
- #===================================
12
- # Load Scope
13
- #===================================
14
- $scope.partnerCodeModal = partnerCodeModal= {}
15
-
16
-
17
- #===================================
18
- # partnerCodeModal
19
- #===================================
20
- # Open the partnerCodeModal and reset the proceed action
21
- partnerCodeModal.open = () ->
22
- self = partnerCodeModal
23
- self.$instance = $modal.open(templateUrl: 'internal-partner-code-popup.html', scope: $scope)
24
- self.isSaveInProgress = false
25
- self.model = {}
26
- self.errors = null
27
- self.$instance.result.finally ->
28
- self.$instance = null
29
-
30
- partnerCodeModal.proceedEnabled = () ->
31
- self = partnerCodeModal
32
- return self.model.resellerCode && !self.model.resellerCode.match(/\s+/)
33
-
34
- # Close the transferModal and reset its values
35
- partnerCodeModal.close = () ->
36
- self = partnerCodeModal
37
- self.$instance.close()
38
- self.$instance = null
39
-
40
-
41
- partnerCodeModal.proceed = () ->
42
- self = partnerCodeModal
43
- self.isSaveInProgress = true
44
- # TODO: we should create a custom action for that that would check
45
- # if the reseller exists before updating the reseller code
46
- DashboardUser.update({reseller_code:self.model.resellerCode}).then(
47
- (success) ->
48
- self.isSaveInProgress = false
49
- self.close()
50
- ,(error) ->
51
- self.errors = Utilities.processRailsError(error)
52
- self.isSaveInProgress = false
53
- )
54
-
55
-
56
- #===================================
57
- # Init Code
58
- #===================================
59
- # Listener for the modal opening
60
- CurrentUserSvc.loadDocument().then (data) ->
61
- resellerCode = CurrentUserSvc.document.current_user.reseller_code
62
- if (!resellerCode || resellerCode == '')
63
- partnerCodeModal.open()
64
- ])
65
-
66
- module.directive('mnoPartnerCodePopup', ['TemplatePath', (TemplatePath) ->
67
- return {
68
- restrict: 'A',
69
- scope: {
70
- },
71
- templateUrl: TemplatePath['mno_enterprise/maestrano-components/partner_code_popup.html'],
72
- controller: 'MnoPartnerCodePopupCtrl'
73
- }
74
- ])