本文整理汇总了TypeScript中@ngrx/entity.EntityAdapter.addMany方法的典型用法代码示例。如果您正苦于以下问题:TypeScript EntityAdapter.addMany方法的具体用法?TypeScript EntityAdapter.addMany怎么用?TypeScript EntityAdapter.addMany使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@ngrx/entity.EntityAdapter
的用法示例。
在下文中一共展示了EntityAdapter.addMany方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: lessonsReducer
export function lessonsReducer(state = initialLessonsState,
action: CourseActions): LessonsState {
switch(action.type) {
case CourseActionTypes.LessonsPageCancelled:
return {
...state,
loading:false
};
case CourseActionTypes.LessonsPageRequested:
return {
...state,
loading:true
};
case CourseActionTypes.LessonsPageLoaded:
return adapter.addMany(action.payload.lessons, {...state, loading:false});
default:
return state;
}
}
示例2: reducer
export function reducer(state = initialState, action: contentActions.Union | eventActions.Union | discussionActions.Union): State {
switch (action.type) {
case contentActions.ActionTypes.CreateContentSuccess: {
return adapter.addOne(action.content, state);
}
case contentActions.ActionTypes.AddManyContentItems: {
return adapter.addMany(action.contents, state);
}
// TODO: move to own reducer
case eventActions.ActionTypes.ParticipateSuccess: {
return adapter.updateOne({id: action.event.contentId, changes: {event: action.event}}, state);
}
case eventActions.ActionTypes.UnparticipateSuccess: {
return adapter.updateOne({id: action.event.contentId, changes: {event: action.event}}, state);
}
case discussionActions.ActionTypes.CreateCommentSuccess: {
const discussion = {...state.entities[action.contentId].discussion} as Discussion;
discussion.comments = discussion.comments.concat(action.comment);
return adapter.updateOne({id: action.contentId, changes: {discussion}}, state);
}
}
return state;
}
示例3: reducer
export function reducer(state = initialState, action: topicsActions.Union): State {
switch (action.type) {
case topicsActions.ActionTypes.FetchTopicsSuccess: {
return adapter.addMany(action.topics, state);
}
// case TopicsActions.ActionTypes.AddNormalizedTopics: {
// return adapter.addMany(action.topics, state);
// }
// case topicsActions.ActionTypes.AddContentRefToTopic: {
// const topic = {...state.entities[action.topicId]} as any;
//
// return adapter.updateOne({id: action.topicId, changes: {content: topic.content.concat(action.contentId)}}, state);
// }
case topicsActions.ActionTypes.FetchTopicSuccess: {
return adapter.addOne(action.topic, state);
}
case topicsActions.ActionTypes.CreateTopicSuccess: {
return adapter.addOne(action.topic, state);
}
}
return state;
}
示例4: reducer
export function reducer(state = initialState, action: BookActions | CollectionActions) {
switch (action.type) {
case BookActionTypes.SearchComplete:
case CollectionActionTypes.LoadSuccess: {
return {
/**
* 将许多记录添加到实体字典,并返回一个新的状态,包括那些记录。
* 如果要对集合进行排序,则适配器将在进入已排序的数组时对每个记录进行排序。
*/
...adapter.addMany(action.payload, state),
selectedBookId: state.selectedBookId
};
}
case BookActionTypes.Load: {
return {
/**
* 将一个记录添加到实体字典,并返回一个新的状态,包括该记录如果不存在的话。
* 如果要对集合进行排序,则适配器将把新记录插入到已排序的数组中。
*/
...adapter.addOne(action.payload, state),
selectedBookId: state.selectedBookId
};
}
case BookActionTypes.Select: {
return {
...state,
selectedBookId: action.payload
};
}
default: {
return state;
}
}
}
示例5: reducer
export function reducer(
state = initialState,
action: BookActionsUnion | CollectionActionsUnion
): State {
switch (action.type) {
case BookActionTypes.SearchComplete:
case CollectionActionTypes.LoadSuccess: {
/**
* The addMany function provided by the created adapter
* adds many records to the entity dictionary
* and returns a new state including those records. If
* the collection is to be sorted, the adapter will
* sort each record upon entry into the sorted array.
*/
return adapter.addMany(action.payload, {
...state,
selectedBookId: state.selectedBookId,
});
}
case BookActionTypes.Load: {
/**
* The addOne function provided by the created adapter
* adds one record to the entity dictionary
* and returns a new state including that records if it doesn't
* exist already. If the collection is to be sorted, the adapter will
* insert the new record into the sorted array.
*/
return adapter.addOne(action.payload, {
...state,
selectedBookId: state.selectedBookId,
});
}
case BookActionTypes.Select: {
return {
...state,
selectedBookId: action.payload,
};
}
default: {
return state;
}
}
}
示例6: reducer
export function reducer(
state = initialState,
action: book.Actions
): State {
switch (action.type) {
case book.SEARCH_COMPLETE: {
return {
/**
* The addMany function provided by the created adapter
* adds many records to the entity dictionary
* and returns a new state including those records. If
* the collection is to be sorted, the adapter will
* sort each record upon entry into the sorted array.
*/
...adapter.addMany(action.payload, state),
selectedBookId: state.selectedBookId,
};
}
case book.LOAD: {
return {
/**
* The addOne function provided by the created adapter
* adds one record to the entity dictionary
* and returns a new state including that records if it doesn't
* exist already. If the collection is to be sorted, the adapter will
* insert the new record into the sorted array.
*/
...adapter.addOne(action.payload, state),
selectedBookId: state.selectedBookId,
};
}
case book.SELECT: {
return {
...state,
selectedBookId: action.payload,
};
}
default: {
return state;
}
}
}
示例7: reducer
export function reducer(
state = initialState,
action: ArticlesActions
): State {
switch (action.type) {
case ArticlesActionTypes.LoadArticle: {
return {
...state,
selectedArticleId: state.selectedArticleId,
selectedArticle: null
};
}
case ArticlesActionTypes.Load: {
return adapter.removeAll({
...state,
});
}
case ArticlesActionTypes.LoadSuccess: {
return adapter.addMany(action.payload.articles, {
...state,
selectedArticleId: null,
selectedArticle: null,
} as State);
}
case ArticlesActionTypes.LoadFail: {
return Object.assign({}, {
...state
} as State);
}
case ArticlesActionTypes.ChangePage: {
const index = action.payload;
const start = index * state.page.pageSize;
return {
...state,
page: {
pageIndex: index,
pageSize: state.page.pageSize,
startIndex: start,
endIndex: start + state.page.pageSize
} as Page
};
}
case ArticlesActionTypes.SelectArticle: {
return {
...state,
selectedArticleId: action.payload,
selectedArticle: null
};
}
case ArticlesActionTypes.SelectArticleSuccess: {
return {
...state,
selectedArticleId: state.selectedArticleId,
selectedArticle: action.payload.article
};
}
case ArticlesActionTypes.SelectArticleFail: {
return {
...state
};
}
default: {
return state;
}
}
}
示例8: reducer
export function reducer(state = initialState, action: GizmoActions): State {
switch (action.type) {
case GizmoActionTypes.DATABASE_LISTEN_FOR_DATA_START: {
return {
...state,
loading: true,
};
}
case GizmoActionTypes.DATABASE_LISTEN_FOR_DATA_STOP: {
return adapter.removeAll({
...state,
loaded: false,
loading: false,
selectedGizmoId: '',
});
}
/*
case GizmoActionTypes.ADD_GIZMO: {
return adapter.addOne(action.payload.gizmo, state);
}
case GizmoActionTypes.ADD_GIZMOS: {
return adapter.addMany(action.payload.gizmos, state);
}
case GizmoActionTypes.UPDATE_GIZMO: {
return adapter.updateOne(action.payload.gizmo, state);
}
*/
case GizmoActionTypes.STORE_ADD_ITEMS: {
return {
...adapter.addMany(action.payload.gizmos, state),
loaded: true,
loading: false,
};
}
case GizmoActionTypes.STORE_DELETE_ITEMS: {
return adapter.removeMany(action.payload.ids, state);
}
case GizmoActionTypes.STORE_UPDATE_ITEMS: {
return adapter.updateMany(action.payload.items, state);
}
/*
case GizmoActionTypes.DELETE_GIZMO: {
return adapter.removeOne(action.payload.id, state);
}
case GizmoActionTypes.LOAD_GIZMOS: {
return adapter.addAll(action.payload.gizmos, state);
}
case GizmoActionTypes.CLEAR_GIZMOS: {
return adapter.removeAll({ ...state, selectedGizmoId: '' });
}
*/
default: {
return state;
}
}
}