track ui state with an enumeration
This commit is contained in:
@@ -114,10 +114,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
||||||
<button type="button" class="btn btn-success" ng-show="config.provider === 'caas' && !appInstall.installFormVisible && user.admin && appInstall.resourceConstraintVisible" ng-click="showRequestUpgrade()">Upgrade Cloudron</button>
|
<button type="button" class="btn btn-success" ng-show="config.provider === 'caas' && user.admin && appInstall.state === 'resourceConstraint'" ng-click="showRequestUpgrade()">Upgrade Cloudron</button>
|
||||||
<button type="button" class="btn btn-danger" ng-show="(config.isDev || config.provider !== 'caas') && !appInstall.installFormVisible && user.admin && appInstall.resourceConstraintVisible" ng-click="appInstall.showForm(true)">Install anyway</button>
|
<button type="button" class="btn btn-danger" ng-show="(config.isDev || config.provider !== 'caas') && user.admin && appInstall.state === 'resourceConstraint'" ng-click="appInstall.showForm(true)">Install anyway</button>
|
||||||
<button type="button" class="btn btn-success" ng-show="!appInstall.installFormVisible && user.admin && !appInstall.resourceConstraintVisible" ng-click="appInstall.showForm()">Install</button>
|
<button type="button" class="btn btn-success" ng-show="appInstall.state === 'appInfo' && user.admin" ng-click="appInstall.showForm()">Install</button>
|
||||||
<button type="button" class="btn btn-success" ng-show="appInstall.installFormVisible && user.admin && !appInstall.resourceConstraintVisible" ng-click="appInstall.submit()" ng-disabled="appInstallForm.$invalid || appInstall.busy"><i class="fa fa-spinner fa-pulse" ng-show="appInstall.busy"></i> Install</button>
|
<button type="button" class="btn btn-success" ng-show="appInstall.state === 'installForm' && user.admin" ng-click="appInstall.submit()" ng-disabled="appInstallForm.$invalid || appInstall.busy"><i class="fa fa-spinner fa-pulse" ng-show="appInstall.busy"></i> Install</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -24,8 +24,7 @@ angular.module('Application').controller('AppStoreController', ['$scope', '$loca
|
|||||||
|
|
||||||
$scope.appInstall = {
|
$scope.appInstall = {
|
||||||
busy: false,
|
busy: false,
|
||||||
installFormVisible: false,
|
state: 'appInfo',
|
||||||
resourceConstraintVisible: false,
|
|
||||||
error: {},
|
error: {},
|
||||||
app: {},
|
app: {},
|
||||||
location: '',
|
location: '',
|
||||||
@@ -58,8 +57,7 @@ angular.module('Application').controller('AppStoreController', ['$scope', '$loca
|
|||||||
$scope.appInstall.error = {};
|
$scope.appInstall.error = {};
|
||||||
$scope.appInstall.location = '';
|
$scope.appInstall.location = '';
|
||||||
$scope.appInstall.portBindings = {};
|
$scope.appInstall.portBindings = {};
|
||||||
$scope.appInstall.installFormVisible = false;
|
$scope.appInstall.state = 'appInfo';
|
||||||
$scope.appInstall.resourceConstraintVisible = false;
|
|
||||||
$scope.appInstall.mediaLinks = [];
|
$scope.appInstall.mediaLinks = [];
|
||||||
$scope.appInstall.certificateFile = null;
|
$scope.appInstall.certificateFile = null;
|
||||||
$scope.appInstall.certificateFileName = '';
|
$scope.appInstall.certificateFileName = '';
|
||||||
@@ -82,15 +80,13 @@ angular.module('Application').controller('AppStoreController', ['$scope', '$loca
|
|||||||
|
|
||||||
showForm: function (force) {
|
showForm: function (force) {
|
||||||
if (Client.enoughResourcesAvailable($scope.appInstall.app) || force) {
|
if (Client.enoughResourcesAvailable($scope.appInstall.app) || force) {
|
||||||
$scope.appInstall.installFormVisible = true;
|
$scope.appInstall.state = 'installForm';
|
||||||
$scope.appInstall.resourceConstraintVisible = false;
|
|
||||||
$('#collapseMediaLinksCarousel').collapse('hide');
|
$('#collapseMediaLinksCarousel').collapse('hide');
|
||||||
$('#collapseResourceConstraint').collapse('hide');
|
$('#collapseResourceConstraint').collapse('hide');
|
||||||
$('#collapseInstallForm').collapse('show');
|
$('#collapseInstallForm').collapse('show');
|
||||||
$('#appInstallLocationInput').focus();
|
$('#appInstallLocationInput').focus();
|
||||||
} else {
|
} else {
|
||||||
$scope.appInstall.installFormVisible = false;
|
$scope.appInstall.state = 'resourceConstraint';
|
||||||
$scope.appInstall.resourceConstraintVisible = true;
|
|
||||||
$('#collapseMediaLinksCarousel').collapse('hide');
|
$('#collapseMediaLinksCarousel').collapse('hide');
|
||||||
$('#collapseResourceConstraint').collapse('show');
|
$('#collapseResourceConstraint').collapse('show');
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user