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.
- checksums.yaml +4 -4
- data/app/assets/javascripts/mno_enterprise/angular/app.js.coffee.erb +0 -120
- data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/maestrano-components.js.coffee +0 -11
- data/app/assets/javascripts/mno_enterprise/application.js +0 -2
- data/app/assets/javascripts/mno_enterprise/lib/xeditable.js +0 -0
- data/app/assets/stylesheets/mno_enterprise/main.less +0 -28
- data/app/views/layouts/mno_enterprise/_application_js.html.haml +0 -4
- data/app/views/layouts/mno_enterprise/_common_cdn_lib_js.html.haml +0 -5
- data/app/views/layouts/mno_enterprise/_header_files.html.haml +0 -3
- data/app/views/layouts/mno_enterprise/application.html.haml +1 -1
- data/app/views/mno_enterprise/provision/_provision_apps.html.haml +7 -8
- data/config/routes.rb +1 -10
- data/lib/mno_enterprise/frontend/engine.rb +12 -0
- data/lib/mno_enterprise/frontend/locales_generator.rb +57 -0
- data/lib/tasks/mnoe_admin_tasks.rake +67 -0
- data/lib/tasks/mnoe_frontend_tasks.rake +138 -0
- data/lib/tasks/mnoe_locales.rake +14 -0
- data/lib/tasks/templates/bower.json +10 -0
- data/spec/controllers/mno_enterprise/auth/confirmations_controller_spec.rb +2 -2
- data/spec/controllers/mno_enterprise/webhook/o_auth_controller_spec.rb +1 -1
- data/spec/lib/mno_enterprise/locales_generator_spec.rb +14 -0
- data/spec/lib/tasks/mnoe_locales_rake_spec.rb +25 -0
- metadata +35 -145
- data/app/assets/images/mno_enterprise/impac/close-widget-pink.png +0 -0
- data/app/assets/images/mno_enterprise/impac/close-widget.png +0 -0
- data/app/assets/javascripts/mno_enterprise/angular/controllers/maestrano-controllers.js.coffee +0 -4
- data/app/assets/javascripts/mno_enterprise/angular/controllers/modals/modals-ctrl.js.coffee +0 -62
- data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-account.js.coffee +0 -157
- data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-app-deletion-request.js.coffee +0 -62
- data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-apps-list.js.coffee +0 -127
- data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-components.js.coffee +0 -25
- data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-marketplace-app.js.coffee +0 -77
- data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-marketplace.js.coffee +0 -51
- data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/dashboard-menu.js.coffee +0 -174
- data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/arrears.js.coffee +0 -70
- data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/billing.js.coffee +0 -48
- data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/credit-card.js.coffee +0 -142
- data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/index.js.coffee +0 -61
- data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/invoices.js.coffee +0 -42
- data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/members.js.coffee +0 -280
- data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/settings.js.coffee +0 -91
- data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/team-list.js.coffee +0 -179
- data/app/assets/javascripts/mno_enterprise/angular/directives/dashboard/organization/teams.js.coffee +0 -268
- data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/file-model.js.coffee +0 -33
- data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-autostop-app.js.coffee +0 -123
- data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-currency-widget.js.coffee +0 -43
- data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-current-currency.js.coffee +0 -22
- data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-editable.js.coffee +0 -68
- data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-helptext.js.coffee +0 -38
- data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-match.js.coffee +0 -14
- data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-message-modal.js.coffee +0 -56
- data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-partner-code-popup.js.coffee +0 -74
- data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-partner-contact.js.coffee +0 -59
- data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-price-converter.js.coffee +0 -49
- data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-scroll-to.js.coffee +0 -14
- data/app/assets/javascripts/mno_enterprise/angular/directives/maestrano-components/mno-typeahead.js.coffee +0 -89
- data/app/assets/javascripts/mno_enterprise/angular/directives/user-setup/components.js.coffee +0 -7
- data/app/assets/javascripts/mno_enterprise/angular/directives/user-setup/index.js.coffee +0 -256
- data/app/assets/javascripts/mno_enterprise/angular/filters/maestrano-app-by-category.js.coffee +0 -5
- data/app/assets/javascripts/mno_enterprise/angular/filters/maestrano-currency.js.coffee +0 -30
- data/app/assets/javascripts/mno_enterprise/angular/filters/maestrano-filters.js.coffee +0 -7
- data/app/assets/javascripts/mno_enterprise/angular/filters/maestrano-replace-underscore-with-space.js.coffee +0 -4
- data/app/assets/javascripts/mno_enterprise/angular/filters/maestrano-titleize.js.coffee +0 -7
- data/app/assets/javascripts/mno_enterprise/angular/filters/maestrano-truncate.js.coffee +0 -24
- data/app/assets/javascripts/mno_enterprise/angular/services/dashboard/maestrano-app-instance.js.coffee +0 -15
- data/app/assets/javascripts/mno_enterprise/angular/services/dashboard/maestrano-apps-document.js.coffee +0 -83
- data/app/assets/javascripts/mno_enterprise/angular/services/dashboard/maestrano-user.js.coffee +0 -27
- data/app/assets/javascripts/mno_enterprise/angular/services/dashboard/organization-svc.js.coffee +0 -318
- data/app/assets/javascripts/mno_enterprise/angular/services/dashboard/team-svc.js.coffee +0 -180
- data/app/assets/javascripts/mno_enterprise/angular/services/dashboard/tickets-svc.js.coffee +0 -109
- data/app/assets/javascripts/mno_enterprise/angular/services/impac-config.svc.js.coffee +0 -35
- data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-apps-list-helper.js.coffee +0 -337
- data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-current-currency.js.coffee +0 -7
- data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-current-user-svc.js.coffee +0 -99
- data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-exchange-rates.js.coffee +0 -102
- data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-miscellaneous.js.coffee.erb +0 -46
- data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-modal.js.coffee +0 -67
- data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-services.js.coffee +0 -21
- data/app/assets/javascripts/mno_enterprise/angular/services/maestrano-shopping-cart.js.coffee +0 -361
- data/app/assets/javascripts/mno_enterprise/angular/services/marketplace-svc.js.coffee +0 -59
- data/app/assets/javascripts/mno_enterprise/lib/angular-really-click.js +0 -17
- data/app/assets/javascripts/ng-performance/ngPerformance.html +0 -109
- data/app/assets/javascripts/ng-performance/ngPerformance.js +0 -211
- data/app/assets/stylesheets/mno_enterprise/custom/impac-variables-override.less +0 -65
- data/app/assets/stylesheets/mno_enterprise/custom/utility/app-presentation.less +0 -77
- data/app/assets/stylesheets/mno_enterprise/custom/utility/banners.less +0 -145
- data/app/assets/stylesheets/mno_enterprise/custom/utility/carousel.less +0 -68
- data/app/assets/stylesheets/mno_enterprise/custom/utility/helptext.less +0 -40
- data/app/assets/stylesheets/mno_enterprise/custom/utility/miscellaneous.less +0 -134
- data/app/assets/stylesheets/mno_enterprise/custom/utility/testimonial.less +0 -118
- data/app/assets/stylesheets/mno_enterprise/custom/views/apps.less +0 -243
- data/app/assets/stylesheets/mno_enterprise/custom/views/myspace.less +0 -477
- data/app/assets/stylesheets/mno_enterprise/custom/views/pages/home.less +0 -57
- data/app/assets/stylesheets/mno_enterprise/custom/views/star.less +0 -18
- data/app/assets/stylesheets/mno_enterprise/custom/views/templates/dashboard/bootstrap-wizard.less +0 -63
- data/app/assets/stylesheets/mno_enterprise/custom/views/templates/dashboard/dashboard-marketplace.less +0 -187
- data/app/assets/stylesheets/mno_enterprise/custom/views/templates/dashboard/dashboard-organization.less +0 -149
- data/app/assets/stylesheets/mno_enterprise/custom/views/templates/dashboard/dashboard-teams.less +0 -119
- data/app/assets/stylesheets/mno_enterprise/custom/views/templates/dashboard/support.less +0 -42
- data/app/assets/stylesheets/mno_enterprise/custom/views/templates/dashboard/tickets.less +0 -80
- data/app/assets/stylesheets/mno_enterprise/custom/views/templates/mno-editable.less +0 -60
- data/app/assets/stylesheets/mno_enterprise/custom/views/templates/shopping-cart.less +0 -333
- data/app/assets/stylesheets/mno_enterprise/custom/views/templates/star-wizard.less +0 -49
- data/app/assets/stylesheets/mno_enterprise/custom/views/user-setup.less +0 -10
- data/app/assets/templates/mno_enterprise/dashboard/account.html +0 -131
- data/app/assets/templates/mno_enterprise/dashboard/app_deletion.html +0 -36
- data/app/assets/templates/mno_enterprise/dashboard/apps_list.html +0 -103
- data/app/assets/templates/mno_enterprise/dashboard/horizontal_menu.html +0 -85
- data/app/assets/templates/mno_enterprise/dashboard/marketplace/index.html +0 -60
- data/app/assets/templates/mno_enterprise/dashboard/marketplace/show.html +0 -133
- data/app/assets/templates/mno_enterprise/dashboard/menu.html +0 -161
- data/app/assets/templates/mno_enterprise/dashboard/organization/arrears.html +0 -37
- data/app/assets/templates/mno_enterprise/dashboard/organization/billing.html +0 -37
- data/app/assets/templates/mno_enterprise/dashboard/organization/credit-card.html +0 -156
- data/app/assets/templates/mno_enterprise/dashboard/organization/index.full.html +0 -181
- data/app/assets/templates/mno_enterprise/dashboard/organization/index.html +0 -173
- data/app/assets/templates/mno_enterprise/dashboard/organization/invoices.html +0 -27
- data/app/assets/templates/mno_enterprise/dashboard/organization/members.html +0 -288
- data/app/assets/templates/mno_enterprise/dashboard/organization/settings.html +0 -55
- data/app/assets/templates/mno_enterprise/dashboard/teams/index.html +0 -175
- data/app/assets/templates/mno_enterprise/dashboard/teams/member-add-modal.html +0 -60
- data/app/assets/templates/mno_enterprise/dashboard/teams/member-removal-modal.html +0 -35
- data/app/assets/templates/mno_enterprise/dashboard/teams/team-add-modal.html +0 -35
- data/app/assets/templates/mno_enterprise/dashboard/teams/team-delete-modal.html +0 -35
- data/app/assets/templates/mno_enterprise/dashboard/teams/team-list.html +0 -107
- data/app/assets/templates/mno_enterprise/default_template.html +0 -20
- data/app/assets/templates/mno_enterprise/maestrano-components/autostop_app.html +0 -42
- data/app/assets/templates/mno_enterprise/maestrano-components/currency_widget.html +0 -1
- data/app/assets/templates/mno_enterprise/maestrano-components/editable.html +0 -28
- data/app/assets/templates/mno_enterprise/maestrano-components/modal-messages/congratulations.html +0 -8
- data/app/assets/templates/mno_enterprise/maestrano-components/modal-messages/default.html +0 -1
- data/app/assets/templates/mno_enterprise/maestrano-components/modal-messages/information.html +0 -8
- data/app/assets/templates/mno_enterprise/maestrano-components/star_wizard.html +0 -254
- data/app/assets/templates/mno_enterprise/maestrano-components/upload_spreadsheet.html +0 -191
- data/app/assets/templates/mno_enterprise/modals/new-organization-reseller-req.html +0 -35
- data/app/assets/templates/mno_enterprise/modals/new-organization.html +0 -35
- data/app/assets/templates/mno_enterprise/user-setup/index.html +0 -312
- data/app/controllers/mno_enterprise/pages_controller.rb +0 -9
- data/app/controllers/mno_enterprise/user_setup_controller.rb +0 -11
- data/app/views/layouts/mno_enterprise/_impersonate_header.html.haml +0 -7
- data/app/views/layouts/mno_enterprise/application_dashboard.html.haml +0 -22
- data/app/views/mno_enterprise/pages/myspace.html.haml +0 -6
- data/app/views/mno_enterprise/user_setup/index.html.haml +0 -2
- data/config/initializers/ng-performance.rb +0 -3
- data/lib/assets/javascripts/impac-angular.js +0 -8719
- data/lib/assets/stylesheets/impac-angular.less +0 -2352
- data/lib/mno_enterprise/frontend/concerns/README.md +0 -6
- data/lib/mno_enterprise/frontend/concerns/controllers/pages_controller.rb +0 -25
- data/spec/controllers/mno_enterprise/pages_controller_spec.rb +0 -42
- data/spec/controllers/mno_enterprise/user_setup_controller_spec.rb +0 -33
- data/spec/routing/mno_enterprise/pages_controller_routing_spec.rb +0 -18
- 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
|
-
])
|