META-INF.dirigible.ide-bpm.scripts.configuration.app-definition-toolbar-default-actions.js Maven / Gradle / Ivy
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
'use strict';
var APP_DEFINITION_TOOLBAR = {
ACTIONS: {
saveModel: function (services) {
_internalCreateModal({
backdrop: true,
keyboard: true,
template: 'views/popup/app-definition-save-model.html?version=' + Date.now(),
scope: services.$scope
}, services.$modal, services.$scope);
},
help: function (services) {
},
feedback: function (services) {
},
closeEditor: function (services) {
services.$location.path('/apps');
}
}
};
/** Custom controller for the save dialog */
angular.module('flowableModeler').controller('SaveAppDefinitionCtrl',
[ '$rootScope', '$scope', '$http', '$route', '$location', '$translate',
function ($rootScope, $scope, $http, $route, $location, $translate) {
var description = '';
if ($rootScope.currentAppDefinition.description) {
description = $rootScope.currentAppDefinition.description;
}
var saveDialog = {
name: $rootScope.currentAppDefinition.name,
key: $rootScope.currentAppDefinition.key,
description: description,
publish: false
};
$scope.saveDialog = saveDialog;
$scope.status = {
loading: false
};
$scope.cancel = function () {
$scope.$hide();
};
$scope.saveAndClose = function (force) {
$scope.save(function() {
$location.path('/apps');
}, force);
};
$scope.save = function (saveCallback, force) {
if (!$scope.saveDialog.name || $scope.saveDialog.name.length == 0 ||
!$scope.saveDialog.key || $scope.saveDialog.key.length == 0) {
return;
}
// Indicator spinner image
$scope.status.loading = true;
var data = {
appDefinition: $rootScope.currentAppDefinition,
publish: $scope.saveDialog.publish
};
data.appDefinition.name = $scope.saveDialog.name;
if ($scope.saveDialog.description && $scope.saveDialog.description.length > 0) {
data.appDefinition.description = $scope.saveDialog.description;
}
if (force !== undefined && force !== null && force === true) {
data.force = true;
}
delete $scope.conflict;
$http({method: 'PUT', url: FLOWABLE.APP_URL.getAppDefinitionUrl($rootScope.currentAppDefinition.id), data: data}).
success(function(response, status, headers, config) {
// Regular error
if (response.error) {
$scope.status.loading = false;
$scope.saveDialog.errorMessage = response.errorDescription;
} else {
$scope.$hide();
$rootScope.addAlert($translate.instant('APP.POPUP.SAVE-APP-SAVE-SUCCESS', 'info'));
if (saveCallback) {
saveCallback();
}
}
}).
error(function(data, status, headers, config) {
$scope.status.loading = false;
$scope.saveDialog.errorMessage = data.message;
});
};
$scope.isOkButtonDisabled = function() {
if ($scope.status.loading) {
return false;
} else if ($scope.error && $scope.error.hasCustomStencilItem) {
return false;
}
return true;
};
$scope.okClicked = function() {
if ($scope.error) {
if ($scope.error.conflictResolveAction === 'discardChanges') {
$scope.close();
$route.reload();
} else if ($scope.error.conflictResolveAction === 'overwrite'
|| $scope.error.conflictResolveAction === 'newVersion') {
$scope.save();
} else if($scope.error.conflictResolveAction === 'saveAs') {
$scope.save(function() {
$rootScope.ignoreChanges = true; // Otherwise will get pop up that changes are not saved.
$location.path('/apps');
});
}
}
};
}]);
© 2015 - 2025 Weber Informatics LLC | Privacy Policy