當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript operations.replace函數代碼示例

本文整理匯總了TypeScript中@dojo/framework/stores/state/operations.replace函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript replace函數的具體用法?TypeScript replace怎麽用?TypeScript replace使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了replace函數的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: async

	async ({ get, path, payload: { type, page, filter } }) => {
		const token = get(path('user', 'token'));
		const offset = page * 10;
		let url: string;

		switch (type) {
			case 'feed':
				url = `${baseUrl}/articles/feed?`;
				break;
			case 'favorites':
				url = `${baseUrl}/articles?favorited=${filter}&`;
				break;
			case 'user':
				url = `${baseUrl}/articles?author=${filter}&`;
				break;
			case 'tag':
				url = `${baseUrl}/articles?tag=${filter}&`;
				break;
			default:
				url = `${baseUrl}/articles/?`;
				break;
		}

		const response = await fetch(`${url}limit=10&offset=${offset}`, { headers: getHeaders(token) });
		const json = await response.json();
		return [
			replace(path('feed', 'items'), json.articles),
			replace(path('feed', 'total'), json.articlesCount),
			replace(path('feed', 'offset'), offset),
			replace(path('feed', 'loading'), false),
			replace(path('feed', 'loaded'), true)
		];
	}
開發者ID:dojo,項目名稱:examples,代碼行數:33,代碼來源:feedProcesses.ts

示例2: commandFactory

const registerCommand = commandFactory(async ({ get, path }) => {
	const requestPayload = {
		user: get(path('register'))
	};

	const response = await fetch(`${baseUrl}/users`, {
		method: 'post',
		body: JSON.stringify(requestPayload),
		headers: getHeaders()
	});
	const json = await response.json();
	if (!response.ok) {
		return [
			replace(path('register', 'failed'), true),
			replace(path('register', 'loading'), false),
			replace(path('errors'), json.errors),
			replace(path('user'), {})
		];
	}

	global.sessionStorage.setItem('conduit-session', JSON.stringify(json.user));

	return [
		replace(path('routing', 'outlet'), 'home'),
		replace(path('register', 'loading'), false),
		replace(path('errors'), undefined),
		replace(path('user'), json.user),
		replace(path('feed', 'items'), undefined),
		replace(path('feed', 'loaded'), false)
	];
});
開發者ID:dojo,項目名稱:examples,代碼行數:31,代碼來源:loginProcesses.ts

示例3: commandFactory

const publishArticleCommand = commandFactory(async ({ get, path }) => {
	const token = get(path('user', 'token'));
	const slug = get(path('editor', 'slug'));
	const requestPayload = {
		article: get(path('editor'))
	};

	const url = slug ? `${baseUrl}/articles/${slug}` : `${baseUrl}/articles`;
	const response = await fetch(url, {
		method: slug ? 'put' : 'post',
		headers: getHeaders(token),
		body: JSON.stringify(requestPayload)
	});
	const json = await response.json();

	if (!response.ok) {
		return [replace(path('editor', 'loading'), false), replace(path('errors'), json.errors)];
	}

	return [
		replace(path('article', 'item'), json.article),
		replace(path('article', 'loaded'), true),
		replace(path('editor'), undefined)
	];
});
開發者ID:dojo,項目名稱:examples,代碼行數:25,代碼來源:editorProcesses.ts

示例4: commandFactory

const startLoadingArticleCommand = commandFactory(({ path }) => {
	return [
		replace(path('article', 'item'), undefined),
		replace(path('article', 'comments'), []),
		replace(path('article', 'loading'), true),
		replace(path('article', 'loaded'), false)
	];
});
開發者ID:dojo,項目名稱:examples,代碼行數:8,代碼來源:articleProcesses.ts

示例5: commandFactory

const saveTodoCommand = commandFactory(({ get, path }): PatchOperation[] => {
	const editedTodo = get(path('editedTodo'));

	return editedTodo ? [
		replace(path('todos', editedTodo.id), editedTodo),
		replace(path('editedTodo'), undefined)
	] : [];
});
開發者ID:dojo,項目名稱:examples,代碼行數:8,代碼來源:todoProcesses.ts

示例6: get

const preSortCommand = commandFactory<SortCommandPayload>(({ at, path, get, payload: { id, columnId, direction } }) => {
	const page = get(path(id, 'meta', 'page'));
	return [
		remove(path(id, 'data', 'pages')),
		replace(path(id, 'meta', 'fetchedPages'), page === 1 ? [1] : [page, page - 1]),
		replace(path(id, 'meta', 'sort', 'columnId'), columnId),
		replace(path(id, 'meta', 'sort', 'direction'), direction),
		replace(path(id, 'meta', 'isSorting'), true)
	];
});
開發者ID:dojo,項目名稱:widgets,代碼行數:10,代碼來源:processes.ts

示例7: remove

const preFilterCommand = commandFactory<FilterCommandPayload>(({ at, path, get, payload: { id, filterOptions } }) => {
	return [
		remove(path(id, 'data', 'pages')),
		replace(path(id, 'meta', 'fetchedPages'), [1]),
		replace(path(id, 'meta', 'filter', filterOptions.columnId), filterOptions.value),
		replace(path(id, 'meta', 'currentFilter'), filterOptions),
		replace(path(id, 'meta', 'page'), 1),
		replace(path(id, 'meta', 'isSorting'), true)
	];
});
開發者ID:dojo,項目名稱:widgets,代碼行數:10,代碼來源:processes.ts

示例8: async

	async ({ at, path, get, payload: { id, updater, columnId, value, page, rowNumber } }) => {
		const item = get(at(path(id, 'data', 'pages', `page-${page}`), rowNumber));
		try {
			await updater(item);
		} catch (err) {
			const previousItem = get(path(id, 'meta', 'editedRow', 'item'));
			return [replace(at(path(id, 'data', 'pages', `page-${page}`), rowNumber), previousItem)];
		}

		return [replace(path(id, 'meta', 'editedRow'), undefined)];
	}
開發者ID:dojo,項目名稱:widgets,代碼行數:11,代碼來源:processes.ts


注:本文中的@dojo/framework/stores/state/operations.replace函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。