| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | 1× 1× 1× 1× 1× 1× 1× | (function ()
{
'use strict';
angular
.module('app.notes')
.factory('NotesService', NotesService);
/** @ngInject */
function NotesService(msApi, $q)
{
var service = {
data : [],
addNote : addNote,
updateNote: updateNote,
deleteNote: deleteNote,
getData : getData
};
/**
* Add Note
* @param note
*/
function addNote(note)
{
service.data.push(note);
}
/**
* Update Note
* @param note
*/
function updateNote(note)
{
for ( var i = 0; i < service.data.length; i++ )
{
if ( service.data[i].id === note.id )
{
service.data[i] = note;
}
}
}
/**
* Delete Note
* @param note
*/
function deleteNote(note)
{
for ( var i = 0; i < service.data.length; i++ )
{
if ( service.data[i].id === note.id )
{
service.data.splice(i, 1);
}
}
}
/**
* Get service data
* @returns {Array}
*/
function getData()
{
// Create a new deferred object
var deferred = $q.defer();
msApi.request('notes.notes@get', {},
// SUCCESS
function (response)
{
// Attach the data
service.data = response.data;
// Resolve the promise
deferred.resolve(response);
},
// ERROR
function (response)
{
// Reject the promise
deferred.reject(response);
}
);
return deferred.promise;
}
return service;
}
})(); |