Skip to content

Commit c52d383

Browse files
Merge branch 'MAGETWO-46317' of https://github.com/magento-falcons/magento2ce into MAGETWO-56240
2 parents 903dcbb + 386db3a commit c52d383

File tree

18 files changed

+423
-111
lines changed

18 files changed

+423
-111
lines changed

app/design/adminhtml/Magento/backend/web/app/setup/styles/less/_setup.less

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@
9898
// Updater pages
9999
//@import '../../../updater/styles/less/pages/_common.less';
100100
//@import '../../../updater/styles/less/pages/_home.less';
101-
//@import '../../../updater/styles/less/pages/_component-manager.less';
101+
//@import '../../../updater/styles/less/pages/_extension-manager.less';
102102
//@import '../../../updater/styles/less/pages/_login.less';
103103

104104
//

app/design/adminhtml/Magento/backend/web/app/setup/styles/less/pages/_readiness-check.less

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,64 @@
6666
margin-top: .3rem;
6767
}
6868

69+
.extensions-information {
70+
margin-bottom: 5rem;
71+
72+
h3 {
73+
font-size: @base__font-size;
74+
margin-bottom: 1.3rem;
75+
}
76+
77+
.message {
78+
margin-bottom: @indent__m;
79+
80+
&:before {
81+
margin-top: 0;
82+
top: 1.8rem;
83+
}
84+
}
85+
86+
.extensions-container {
87+
padding: 0 @indent__base;
88+
}
89+
90+
.list {
91+
margin-bottom: @indent__s;
92+
93+
select {
94+
cursor: pointer;
95+
96+
&:disabled {
97+
background: @color-gray80;
98+
cursor: default;
99+
}
100+
}
101+
102+
.extension-delete {
103+
&:extend(.abs-action-delete all);
104+
font-size: 1.7rem;
105+
padding-top: 0;
106+
}
107+
}
108+
}
109+
110+
.delete-modal-wrap {
111+
padding: 0 4% @indent__xl;
112+
113+
h3 {
114+
.lib-font-size(34);
115+
display: inline-block;
116+
font-weight: @font-weight__light;
117+
margin: 0 0 @indent__base;
118+
padding: .9rem 0 0;
119+
vertical-align: top;
120+
}
121+
122+
.actions {
123+
padding: @indent__l 0 0;
124+
}
125+
}
126+
69127
//
70128
// Mobile
71129
// _____________________________________________

setup/config/states.extensionManager.config.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
'templateUrl' => "$base/start-updater",
6666
'controller' => 'startUpdaterController',
6767
'title' => "Component \n Install",
68-
'header' => 'Step 3: Component Install',
68+
'header' => 'Step 3: Install',
6969
'nav' => true,
7070
'order' => 6,
7171
'type' => 'install',

setup/config/states.update.config.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@
6060
'url' => 'start-updater',
6161
'templateUrl' => "$base/start-updater",
6262
'controller' => 'startUpdaterController',
63-
'title' => "Component \n Update",
64-
'header' => 'Step 3: Component Update',
63+
'title' => "Extension \n Update",
64+
'header' => 'Step 3: Extension Update',
6565
'nav' => true,
6666
'order' => 6,
6767
'type' => 'update'

setup/pub/magento/setup/install-extension-grid.js

Lines changed: 10 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,17 @@
55

66
'use strict';
77
angular.module('install-extension-grid', ['ngStorage', 'clickOut'])
8-
.controller('installExtensionGridController', ['$scope', '$http', '$localStorage', 'authService', 'paginationService',
9-
function ($scope, $http, $localStorage, authService, paginationService) {
8+
.controller('installExtensionGridController', ['$scope', '$http', '$localStorage', 'authService', 'paginationService', 'multipleChoiceService',
9+
function ($scope, $http, $localStorage, authService, paginationService, multipleChoiceService) {
1010

1111
$http.get('index.php/installExtensionGrid/extensions').success(function(data) {
1212
$scope.error = false;
1313
$scope.errorMessage = '';
14-
$scope.selectedExtensions = {};
15-
$scope.allExtensions = {};
14+
$scope.multipleChoiceService = multipleChoiceService;
15+
$scope.multipleChoiceService.reset();
1616
angular.forEach(data.extensions, function(value) {
17-
this[value.name] = {
18-
'name': value.name,
19-
'version': value.version
20-
};
21-
}, $scope.allExtensions);
17+
$scope.multipleChoiceService.addExtension(value.name, value.version);
18+
});
2219
$scope.extensions = data.extensions;
2320
$scope.total = data.total;
2421
$scope.currentPage = 1;
@@ -28,90 +25,29 @@ angular.module('install-extension-grid', ['ngStorage', 'clickOut'])
2825

2926
paginationService.initWatchers($scope);
3027

31-
$scope.updateSelectedExtensions = function($event, name, version) {
32-
var checkbox = $event.target;
33-
if (checkbox.checked) {
34-
$scope.selectedExtensions[name] = {
35-
'name': name,
36-
'version': version
37-
};
38-
if ($scope.getObjectSize($scope.selectedExtensions) == $scope.getObjectSize($scope.allExtensions)) {
39-
$scope.someExtensionsSelected = false;
40-
$scope.allExtensionsSelected = true;
41-
} else {
42-
$scope.someExtensionsSelected = true;
43-
$scope.allExtensionsSelected = false;
44-
}
45-
} else {
46-
delete $scope.selectedExtensions[name];
47-
$scope.allExtensionsSelected = false;
48-
if ($scope.getObjectSize($scope.selectedExtensions) > 0) {
49-
$scope.someExtensionsSelected = true;
50-
} else {
51-
$scope.someExtensionsSelected = false;
52-
}
53-
}
54-
};
55-
5628
$scope.predicate = 'name';
5729
$scope.reverse = false;
5830
$scope.order = function(predicate) {
5931
$scope.reverse = ($scope.predicate === predicate) ? !$scope.reverse : false;
6032
$scope.predicate = predicate;
6133
};
6234

63-
$scope.getObjectSize = function(obj) {
64-
var size = 0, key;
65-
for (key in obj) {
66-
if (obj.hasOwnProperty(key)) {
67-
++size;
68-
}
69-
}
70-
return size;
71-
};
72-
73-
$scope.isNewExtensionsMenuVisible = false;
74-
$scope.toggleNewExtensionsMenu = function() {
75-
$scope.isNewExtensionsMenuVisible = !$scope.isNewExtensionsMenuVisible;
76-
};
77-
$scope.hideNewExtensionsMenu = function() {
78-
$scope.isNewExtensionsMenuVisible = false;
79-
};
80-
$scope.someExtensionsSelected = false;
81-
$scope.allExtensionsSelected = false;
82-
$scope.selectAllExtensions = function() {
83-
$scope.isNewExtensionsMenuVisible = false;
84-
$scope.someExtensionsSelected = false;
85-
$scope.allExtensionsSelected = true;
86-
$scope.selectedExtensions = angular.copy($scope.allExtensions);
87-
};
88-
$scope.deselectAllExtensions = function() {
89-
$scope.isNewExtensionsMenuVisible = false;
90-
$scope.someExtensionsSelected = false;
91-
$scope.allExtensionsSelected = false;
92-
$scope.selectedExtensions = {};
93-
};
94-
9535
$scope.isHiddenSpinner = true;
9636
$scope.installAll = function() {
9737
$scope.isHiddenSpinner = false;
9838
authService.checkAuth({
9939
success: function(response) {
10040
$scope.isHiddenSpinner = true;
101-
if ($scope.getObjectSize($scope.selectedExtensions) > 0) {
102-
$scope.error = false;
103-
$scope.errorMessage = '';
104-
$localStorage.packages = $scope.selectedExtensions;
105-
} else {
106-
$scope.error = true;
107-
$scope.errorMessage = 'Please select at least one extension';
108-
}
41+
var result = $scope.multipleChoiceService.checkSelectedExtensions();
42+
$scope.error = result.error;
43+
$scope.errorMessage = result.errorMessage;
10944

11045
if (!$scope.error) {
11146
$scope.nextState();
11247
}
11348
},
11449
fail: function(response) {
50+
$scope.isHiddenSpinner = true;
11551
authService.openAuthDialog($scope);
11652
},
11753
error: function() {

setup/pub/magento/setup/main.js

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,91 @@ main.controller('navigationController',
277277
};
278278
}
279279
])
280+
.service('multipleChoiceService', ['$localStorage',
281+
function ($localStorage) {
282+
return {
283+
selectedExtensions: {},
284+
allExtensions: {},
285+
someExtensionsSelected: false,
286+
allExtensionsSelected: false,
287+
isNewExtensionsMenuVisible: false,
288+
289+
addExtension: function (name, version) {
290+
this.allExtensions[name] = {
291+
'name': name,
292+
'version': version
293+
};
294+
},
295+
reset: function () {
296+
this.allExtensions = {};
297+
this.selectedExtensions = {};
298+
this.someExtensionsSelected = false;
299+
this.allExtensionsSelected = false;
300+
this.isNewExtensionsMenuVisible = false;
301+
},
302+
updateSelectedExtensions: function ($event, name, version) {
303+
var checkbox = $event.target;
304+
if (checkbox.checked) {
305+
this.selectedExtensions[name] = {
306+
'name': name,
307+
'version': version
308+
};
309+
if (this._getObjectSize(this.selectedExtensions) == this._getObjectSize(this.allExtensions)) {
310+
this.someExtensionsSelected = false;
311+
this.allExtensionsSelected = true;
312+
} else {
313+
this.someExtensionsSelected = true;
314+
this.allExtensionsSelected = false;
315+
}
316+
} else {
317+
delete this.selectedExtensions[name];
318+
this.allExtensionsSelected = false;
319+
this.someExtensionsSelected = (this._getObjectSize(this.selectedExtensions) > 0);
320+
}
321+
},
322+
toggleNewExtensionsMenu: function() {
323+
this.isNewExtensionsMenuVisible = !this.isNewExtensionsMenuVisible;
324+
},
325+
hideNewExtensionsMenu: function() {
326+
this.isNewExtensionsMenuVisible = false;
327+
},
328+
selectAllExtensions: function() {
329+
this.isNewExtensionsMenuVisible = false;
330+
this.someExtensionsSelected = false;
331+
this.allExtensionsSelected = true;
332+
this.selectedExtensions = angular.copy(this.allExtensions);
333+
},
334+
deselectAllExtensions: function() {
335+
this.isNewExtensionsMenuVisible = false;
336+
this.someExtensionsSelected = false;
337+
this.allExtensionsSelected = false;
338+
this.selectedExtensions = {};
339+
},
340+
checkSelectedExtensions: function() {
341+
var result = {error: false, errorMessage: ''};
342+
if (this._getObjectSize(this.selectedExtensions) > 0) {
343+
result.error = false;
344+
result.errorMessage = '';
345+
$localStorage.packages = this.selectedExtensions;
346+
} else {
347+
result.error = true;
348+
result.errorMessage = 'Please select at least one extension';
349+
}
350+
351+
return result;
352+
},
353+
_getObjectSize: function (obj) {
354+
var size = 0, key;
355+
for (key in obj) {
356+
if (obj.hasOwnProperty(key)) {
357+
++size;
358+
}
359+
}
360+
return size;
361+
}
362+
};
363+
}
364+
])
280365
.filter('startFrom', function () {
281366
return function (input, start) {
282367
if (input !== undefined && start !== 'NaN') {

setup/pub/magento/setup/readiness-check.js

Lines changed: 51 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@
44
*/
55

66
'use strict';
7-
angular.module('readiness-check', [])
7+
angular.module('readiness-check', ['remove-dialog'])
88
.constant('COUNTER', 1)
9-
.controller('readinessCheckController', ['$rootScope', '$scope', '$localStorage', '$http', '$timeout', '$sce', '$state', 'COUNTER', function ($rootScope, $scope, $localStorage, $http, $timeout, $sce, $state, COUNTER) {
9+
.controller('readinessCheckController', ['$rootScope', '$scope', '$localStorage', '$http', '$timeout', '$sce', '$state', 'COUNTER', 'ngDialog', function ($rootScope, $scope, $localStorage, $http, $timeout, $sce, $state, COUNTER, ngDialog) {
1010
$scope.Object = Object;
1111
$scope.titles = $localStorage.titles;
1212
$scope.moduleName = $localStorage.moduleName;
1313
$scope.progressCounter = COUNTER;
14+
$rootScope.needReCheck = false;
1415
$scope.startProgress = function() {
1516
++$scope.progressCounter;
1617
};
@@ -361,6 +362,9 @@ angular.module('readiness-check', [])
361362
}
362363
} else {
363364
$actionString += 'package';
365+
if ($scope.getObjectSize($localStorage.packages) > 1) {
366+
$actionString += 's';
367+
}
364368
}
365369
}
366370
$actionString += " to be " + $state.current.type;
@@ -370,5 +374,49 @@ angular.module('readiness-check', [])
370374
$actionString +='ed';
371375
}
372376
return $actionString;
373-
}
377+
};
378+
379+
$scope.getExtensionsList = function () {
380+
return $scope.componentDependency.packages ? $scope.componentDependency.packages : {};
381+
};
382+
383+
$scope.openDialog = function (name) {
384+
$scope.extensionToRemove = name;
385+
ngDialog.open({scope: $scope, template: 'removeDialog', controller: 'removeDialogController'});
386+
};
387+
388+
$scope.getCurrentVersion = function (name) {
389+
if ($scope.getExtensionInfo(name).hasOwnProperty('currentVersion')) {
390+
return $scope.getExtensionInfo(name)['currentVersion'];
391+
}
392+
393+
return '';
394+
};
395+
396+
$scope.getVersionsList = function (name) {
397+
if ($scope.getExtensionInfo(name).hasOwnProperty('versions')) {
398+
return $scope.getExtensionInfo(name)['versions'];
399+
}
400+
401+
return {};
402+
};
403+
404+
$scope.getExtensionInfo = function (name) {
405+
var extensionsVersions = $localStorage.extensionsVersions;
406+
return extensionsVersions.hasOwnProperty(name) ? extensionsVersions[name] : {};
407+
};
408+
409+
$scope.versionChanged = function () {
410+
$rootScope.needReCheck = true;
411+
};
412+
413+
$scope.getObjectSize = function (obj) {
414+
var size = 0, key;
415+
for (key in obj) {
416+
if (obj.hasOwnProperty(key)) {
417+
++size;
418+
}
419+
}
420+
return size;
421+
};
374422
}]);

0 commit comments

Comments
 (0)