pip-webui
Version:
HTML5 UI for LOB applications
110 lines (96 loc) • 4.64 kB
JavaScript
/**
* @file Announces data model
* @copyright Digital Living Software Corp. 2014-2016
*/
/* global angular */
(function () {
'use strict';
var thisModule = angular.module('pipAnnouncesData', ['pipRest', 'pipDataModel', 'pipAnnouncesCache']);
thisModule.provider('pipAnnouncesData', function () {
// Read all announces
this.readAnnouncesResolver = function () {
return /* @ngInject */ function ($stateParams, pipRest, pipEnums) {
return pipRest.announces().query().$promise;
};
};
this.readCompletedAnnouncesResolver = function () {
return /* @ngInject */ function ($stateParams, pipRest, pipEnums) {
return pipRest.announces().query( {
status: pipEnums.EXECUTION_STATUS.COMPLETED
}
).$promise;
};
};
this.readAnnounceResolver = function () {
return /* @ngInject */ function ($stateParams, pipRest) {
return pipRest.announces().get({
id: $stateParams.id
}).$promise;
};
};
// CRUD operations and other business methods
this.$get = function (pipRest, $stateParams, pipDataModel, pipAnnouncesCache) {
return {
partyId: pipRest.partyId,
readAnnounces: function (params, successCallback, errorCallback) {
params.resource = 'announces';
params.item = params.item || {};
params.item.search = $stateParams.search;
params.item.tags = $stateParams.search;
params.item.party_id = pipRest.partyId($stateParams);
return pipAnnouncesCache.readAnnounces(params, successCallback, errorCallback);
},
updateAnnounce: function (params, successCallback, errorCallback) {
params.resource = 'announces';
params.skipTransactionBegin = true;
params.skipTransactionEnd = false;
pipDataModel.update(
params,
pipAnnouncesCache.onAnnounceCreate(params, successCallback),
errorCallback
);
},
updateAnnounceWithFiles: function(params, successCallback, errorCallback) {
params.skipTransactionEnd = true;
pipDataModel.saveFiles(params, function() {
params.resource = 'announces';
params.skipTransactionBegin = true;
params.skipTransactionEnd = false;
pipDataModel.update(
params,
pipAnnouncesCache.onAnnounceUpdate(params, successCallback),
errorCallback
);
});
},
createAnnounceWithFiles: function(params, successCallback, errorCallback) {
params.skipTransactionEnd = true;
pipDataModel.saveFiles(params, function() {
params.resource = 'announces';
params.skipTransactionBegin = true;
params.skipTransactionEnd = false;
pipDataModel.create(
params,
pipAnnouncesCache.onAnnounceCreate(params, successCallback),
errorCallback
);
});
},
createAnnounce: function (params, successCallback, errorCallback) {
params.resource = 'announces';
params.skipTransactionBegin = true;
params.skipTransactionEnd = false;
pipDataModel.create(
params,
pipAnnouncesCache.onAnnounceCreate(params, successCallback),
errorCallback
);
},
deleteAnnounce: function(params, successCallback, errorCallback) {
params.resource = 'announces';
pipDataModel.remove(params, pipAnnouncesCache.onAnnounceDelete(params, successCallback), errorCallback);
}
}
};
});
})();