/**
*
* Copyright (C) 2021 Akorbi Digital RMP
*
* This file is part of RunMyProcess SDK-JS.
*
* RunMyProcess SDK-JS is free software: you can redistribute it and/or modify
* it under the terms of 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.
*/
/**
Contains a list of processes
@constructor
@property {Array} processes - Array of processes.
@see Resource
*/
function ProcessList(){
this.processes = [];
this.availableFilters = new Array("PROJECT");//DEPRECATED
};
/**
Inherits Resource
@borrows Resource.js
*/
ProcessList.prototype = new Resource();
/**
Overrides Resource's loadPreset method.
@method
@see Resource#loadPreset
*/
ProcessList.prototype.loadPreset = function () {
/**
Overrides Resource's generateUrl method to return the request url
@method
@see Resource#generateUrl
*/
this.generateUrl=function () {
return context.link.process;
};
};
/**
Overrides Resource's loadSet method to set local variables after request.
@method
@param {json} rObject - JSON representation of the loaded data.
@see Resource#loadSet
*/
ProcessList.prototype.loadSet = function (rObject) {
var father = this;
father.projects = [];
var ent=this.getArray(rObject, "entry");
for (var i = 0; i < ent.length; i++) {
var p = new Process();
p.id = ent[i].id;
p.content = ent[i].content;
p.selfUrl = ent[i].content.src;
p.author.name = ent[i].author.name;
p.author.selfUrl = ent[i].author.uri;
p.contributor.name = ent[i].contributor.name;
p.contributor.selfUrl = ent[i].contributor.uri;
p.title = ent[i].title;
p.published = new Date(ent[i].published);
p.links = p.getArray(ent[i], "link");
p.rights = ent[i].rights;
father.processes.push(p);
}
};
/**
Overrides Resource's savePreset method.
@method
@see Resource#savePreset
*/
ProcessList.prototype.savePreset = function () {
/**
Overrides Resource's generateUrl method to return the Post url
@method
@see Resource#generateUrl
*/
this.generateUrl = function () {
return this.selfUrl;
};
};
/**
@deprecated since version 5.1
Adds the customer filter
@param [string] customerId - id of the customer to filter
*/
ProcessList.prototype.addProjectFilter = function (projectId) {
var opt = {};
opt.filter='PROJECT';
opt.operator='EE';
opt.value=projectId;
this.addFilter(opt);
};
/**
@deprecated since version 5.1
Removes the customer filter
*/
ProcessList.prototype.removeProjectFilter = function () {
this.removeFilter('PROJECT');
};