Files
admin-php-module/web/controllers/modules.js
miroman-afk 5497b611ef v.2.12
-Add new setting "Delete shift"
-Move "Shift" frontend to V1 module
2022-02-01 01:55:15 +03:00

62 lines
1.6 KiB
JavaScript

(function () {
'use strict';
angular
.module('app')
.controller('ModulesCtrl', ModulesCtrl);
ModulesCtrl.$inject = ['$scope', 'smartRequest', '$location', 'Notification'];
function ModulesCtrl($scope, smartRequest, $location, Notification) {
$scope.modules = [];
$scope.isAllSelected = false;
$scope.getListModules = function () {
smartRequest.get('settings/modules', function (data) {
$scope.modules = data.modules.modules;
$scope.modules.forEach(function (el) {
el.selected = false;
});
});
};
$scope.toggleAll = function () {
var toggleStatus = !$scope.isAllSelected;
angular.forEach($scope.modules, function (itm) { itm.selected = toggleStatus; });
$scope.isAllSelected = toggleStatus;
};
$scope.optionToggled = function () {
$scope.isAllSelected = $scope.modules.every(function (itm) { return itm.selected; });
};
$scope.updateModules = function () {
$scope.buttonDownload(true);
smartRequest.post('settings/update/modules', {
'modules': JSON.stringify($scope.toObject($scope.getSelectedModules()))
}, function(data) {
Notification.success('Модули обновлены');
$scope.getListModules();
$scope.buttonDownload(false);
});
};
$scope.getSelectedModules = function () {
return $scope.modules.filter(function (el) {
return el.selected;
});
};
$scope.toObject = function (arr) {
var rv = {};
for (var i = 0; i < arr.length; i++)
rv[i] = arr[i];
return rv;
};
$scope.buttonDownload = function(toggle) {
$('#btn-download').prop('disabled', toggle);
};
$scope.getListModules();
}
})();