本文整理汇总了TypeScript中client/apis/product/product-api.d.IProductApi类的典型用法代码示例。如果您正苦于以下问题:TypeScript d.IProductApi类的具体用法?TypeScript d.IProductApi怎么用?TypeScript d.IProductApi使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了d.IProductApi类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: create
/**
* Create new product
* @param {string} instanceName Instance name e.g. detailsPage
* @param {Object} attributes Product attributes
*/
public create(instanceName, attributes) {
if(this.state.products[instanceName].isFetching) {
return;
}
this.onNext({
type: PRODUCT_ACTIONS.CREATE_REQUEST,
payload: {instanceName}
});
let onSuccess = ({entities, result}) => {
this.saveEntity(entities);
this.onNext({
type: PRODUCT_ACTIONS.CREATE_SUCCESS,
payload: {result, instanceName}
});
}
let onError = (error) => {
this.handleApiError(error);
this.onNext({
type: PRODUCT_ACTIONS.CREATE_FAILURE,
payload: {error, instanceName}
})
}
this.productApi.create(attributes, this.state.session.shop.id)
.subscribe(onSuccess, onError);
}
示例2: all
/**
* Get all products
*/
public all() {
if(this.state.products.list.isFetching) {
return;
}
//
this.onNext({ type: PRODUCT_ACTIONS.FETCH_LIST_REQUEST });
//
let onSuccess = ({entities, result}) => {
this.saveEntity(entities);
this.onNext({
type: PRODUCT_ACTIONS.FETCH_LIST_SUCCESS,
payload: {result}
});
}
let onError = (error) => {
this.handleApiError(error);
this.onNext({
type: PRODUCT_ACTIONS.FETCH_LIST_FAILURE,
payload: {error}
})
}
this.productApi.all().subscribe(onSuccess, onError);
}
示例3: replace
/**
* Create new product
* @param {string} instanceName Instance name e.g. detailsPage
* @param {string} id Product id
* @param {Object} attributes Product attributes
*/
public replace(instanceName, id, attributes) {
if(this.state.products[instanceName].isUpdating) {
return;
}
this.onNext({
type: PRODUCT_ACTIONS.REPLACE_REQUEST,
payload: {id}
});
let onSuccess = ({entities, result}) => {
this.saveEntity(entities);
this.onNext({
type: PRODUCT_ACTIONS.REPLACE_SUCCESS,
payload: {result, instanceName}
});
}
let onError = (error) => {
this.handleApiError(error);
this.onNext({
type: PRODUCT_ACTIONS.REPLACE_FAILURE,
payload: {error, instanceName}
})
}
this.productApi.replace(id, attributes).subscribe(onSuccess, onError);
}
示例4: findById
/**
* Find product by id
* @param {string} instanceName Instance name e.g. detailsPage
* @param {string} id Product id
*/
public findById(instanceName, id) {
if(this.state.products[instanceName].isFetching ||
this.state.products[instanceName].isUpdating) {
return;
}
//
this.onNext({
type: PRODUCT_ACTIONS.FETCH_REQUEST,
payload: {id, instanceName}
});
//
let onSuccess = ({ result, entities }) => {
this.saveEntity(entities);
this.onNext({
type: PRODUCT_ACTIONS.FETCH_SUCCESS,
payload: {result, instanceName}
});
}
//
let onError = (error) => {
this.handleApiError(error);
this.onNext({
type: PRODUCT_ACTIONS.FETCH_FAILURE,
payload: {error, instanceName}
})
}
//
this.productApi.findById(id).subscribe(onSuccess, onError);
}
示例5: remove
/**
* Create new product
* @param {string} instanceName Instance name e.g. detailsPage
* @param {string} id Product id
*/
public remove(id) {
this.onNext({
type: PRODUCT_ACTIONS.DELETE_REQUEST,
payload: {id}
});
let onSuccess = () => {
this.removeFromEntity('products', id);
this.onNext({
type: PRODUCT_ACTIONS.DELETE_SUCCESS,
payload: {id}
});
}
let onError = (error) => {
this.handleApiError(error);
this.onNext({
type: PRODUCT_ACTIONS.CREATE_FAILURE,
payload: {error}
})
}
this.productApi.remove(id).subscribe(onSuccess, onError);
}