Home Reference Source
import AjaxResource from 'prg-editor/src/AjaxResource.js'
public class | source

AjaxResource

Rest API Resource data fetcher

  • enables crossdomain requrests
  • enables CORS credentials (sends cookies)
  • uses classic GET/PUT/POST/DELETE endpoints

Constructor Summary

Public Constructor
public

constructor(apiUrl: string, ajaxOptions: object, requestor: any)

Creates an instance of AjaxResource.

Member Summary

Public Members
public

Map response data after GET /resource

public

Map response data after GET/PUT /resource/:id & POST /resource

public

Map body data before PUT /resource/:id and POST /resource

public

Map query params called before GET /resource

Method Summary

Public Methods
public

abort()

Cancels current request

public

create(formData: Object): Promise<Object>

Send data to server

public

getAll(params: Object): Promise<{data: [], offset: number, nextOffset: mumber}>

Fetch all data

public

getById(id: string): Promise<Object>

Get Single Element Data

public

getId(data: object): string

Returns identifier of the object

public

remove(id: string): Promise

Remove data by id

public

update(id: string, formData: Object): Promise<Object>

Update data on server

Public Constructors

public constructor(apiUrl: string, ajaxOptions: object, requestor: any) source

Creates an instance of AjaxResource.

Params:

NameTypeAttributeDescription
apiUrl string

resource url

ajaxOptions object
  • optional
  • default: {}

options passed to $.ajax

requestor any
  • optional
  • default: $.ajax

alternative to $.ajax

Public Members

public mapGetAllOutput: * source

Map response data after GET /resource

public mapGetOutput: * source

Map response data after GET/PUT /resource/:id & POST /resource

public mapInput: * source

Map body data before PUT /resource/:id and POST /resource

public mapParams: * source

Map query params called before GET /resource

Public Methods

public abort() source

Cancels current request

public create(formData: Object): Promise<Object> source

Send data to server

Params:

NameTypeAttributeDescription
formData Object

Return:

Promise<Object>

public getAll(params: Object): Promise<{data: [], offset: number, nextOffset: mumber}> source

Fetch all data

Params:

NameTypeAttributeDescription
params Object

Return:

Promise<{data: [], offset: number, nextOffset: mumber}>

public getById(id: string): Promise<Object> source

Get Single Element Data

Params:

NameTypeAttributeDescription
id string

Return:

Promise<Object>

public getId(data: object): string source

Returns identifier of the object

Params:

NameTypeAttributeDescription
data object

Return:

string

public remove(id: string): Promise source

Remove data by id

Params:

NameTypeAttributeDescription
id string

Return:

Promise

public update(id: string, formData: Object): Promise<Object> source

Update data on server

Params:

NameTypeAttributeDescription
id string
formData Object

Return:

Promise<Object>