createApiStoreModule β
ΠΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΡΡΠ²ΠΎΡΠ΅Π½Π½Ρ ΡΡΠΎΡΠ° Π΄Π»Ρ Π°ΠΏΡ, ΡΠΊΠΈΠΉ Π²ΠΆΠ΅ ΠΌΠ°Ρ Π² ΡΠΎΠ±Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π΄Π»Ρ ΡΠΎΠ±ΠΎΡΠΈ Π· Π°ΠΏΡ. ΠΠ°Π·Π²ΠΈΡΠ°ΠΉ ΠΏΡΠ°ΡΡΡ Ρ Π·Π²ΚΌΡΠ·ΡΡ Π· card i tableStoreModule.
State β
api β
ΠΠΠ Π¦Π¬ΠΠΠ ΠΠ Π ΠΠΠΠ’ΠΠΠ!
ΠΡΠΈ ΡΡΠ²ΠΎΡΠ΅Π½Π½Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΠ±ΠΎΠ²ΚΌΡΠ·ΠΊΠΎΠ²ΠΎ ΡΡΠ΅Π±Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΎΠ±ΚΌΡΠΊΡ Π· ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π΄Π»Ρ ΡΠΎΠ±ΠΎΡΠΈ Π· Π°ΠΏΡ. ΠΠΎΠΊΠ»Π°Π΄Π½ΡΡΠ΅ Π² ΡΡΠΉ Π΄ΠΎΡΡ: api/clients#interface.
Actions β
GET_LIST β
ΠΡΠΈΠΉΠΌΠ°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ { context, params }, Π΄Π΅ context - ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΡΠΎΡΠ°, ΡΠΊΠΈΠΉ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°Ρ ΡΡ Π°ΠΏΡΡΠΊΡ, params - ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΡ.
GET_ITEM β
ΠΡΠΈΠΉΠΌΠ°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ { context, params }, Π΄Π΅ context - ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΡΠΎΡΠ°, ΡΠΊΠΈΠΉ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°Ρ ΡΡ Π°ΠΏΡΡΠΊΡ, params - ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΡ.
POST_ITEM β
ΠΡΠΈΠΉΠΌΠ°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ { context }, Π΄Π΅ context - ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΡΠΎΡΠ°, ΡΠΊΠΈΠΉ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°Ρ ΡΡ Π°ΠΏΡΡΠΊΡ.
PATCH_ITEM β
ΠΡΠΈΠΉΠΌΠ°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ { context, id, changes }, Π΄Π΅ context - ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΡΠΎΡΠ°, ΡΠΊΠΈΠΉ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°Ρ ΡΡ Π°ΠΏΡΡΠΊΡ. id - ΡΠ΄Π΅Π½ΡΠΈΡΡΠΊΠ°ΡΠΎΡ Π·Π°ΠΏΠΈΡΡ, changes - Π·ΠΌΡΠ½ΠΈ.
UPD_ITEM β
ΠΡΠΈΠΉΠΌΠ°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ { context }, Π΄Π΅ context - ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΡΠΎΡΠ°, ΡΠΊΠΈΠΉ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°Ρ ΡΡ Π°ΠΏΡΡΠΊΡ.
DELETE_ITEM β
ΠΡΠΈΠΉΠΌΠ°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ { context, id }, Π΄Π΅ context - ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΡΠΎΡΠ°, ΡΠΊΠΈΠΉ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°Ρ ΡΡ Π°ΠΏΡΡΠΊΡ. id - ΡΠ΄Π΅Π½ΡΠΈΡΡΠΊΠ°ΡΠΎΡ Π·Π°ΠΏΠΈΡΡ.
Π§ΠΎΠΌΡ ΠΌΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΌΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Ρ ΡΠΊ Π²ΠΎΠ½ΠΎ ΡΠΎΠ·Π΄ΡΠΏΠ»ΡΡΡΡΡΡ? β
Π’Π°ΠΊ ΡΡΡΠΎΡΠΈΡΠ½ΠΎ ΡΠΊΠ»Π°Π»ΠΎΡΡ, ΡΠΎ, Π·Π°Π·Π²ΠΈΡΠ°ΠΉ, ΡΡΠ΅ΠΉΡ Π΄ΠΎΠ²ΠΎΠ»Ρ ΠΎΠ΄Π½Π°ΠΊΠΎΠ²ΠΈΠΉ: Ρ Π½ΡΠΎΠΌΡ Ρ itemId, itemInstance, Ρ Π²ΡΡΠΊΡ ΡΠ°ΠΊΡ ΡΡΡΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ
ΡΠ΄Π½Ρ Π΄Π»Ρ ΡΡΠ²ΠΎΡΠ΅Π½Π½Ρ, Π°Π±ΠΎ Π°ΠΏΠ΄Π΅ΠΉΡΡ Π·Π°ΠΏΠΈΡΡ. ΠΡΠ΄ΠΏΠΎΠ²ΡΠ΄Π½ΠΎ, ΠΌΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΌΠΎ ΠΏΠΎΠ²Π½ΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΠΎΠ³ΠΎ ΡΡΠΎΡΠ° Π½Π° Π°ΠΏΡ, ΡΠΎΠ± Ρ ΡΠ°ΠΌΠΎΠΌΡ, ΡΠΊΠ°ΠΆΡΠΌΠΎ, ΠΌΠ΅ΡΠΎΠ΄Ρ update Ρ ΡΠ°ΠΉΠ»ΠΈΠΊΡ Π°ΠΏΡΡΠΊΠΈ Π²ΠΈΡΡΠ³ΡΠΈ Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ² { itemInstance, itemId }.
ΠΠ΅ Π³Π°ΡΠ½ΠΎ? - ΠΠ³ΠΎΠ΄Π΅Π½. Π’Π°ΠΊ ΡΠΊΠ»Π°Π»ΠΎΡΡ ΡΡΡΠΎΡΠΈΡΠ½ΠΎ π
ΠΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ β
ΠΠ°Π·Π²ΠΈΡΠ°ΠΉ Π°ΠΏΡ ΡΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΡΡΡΡΡ ΡΠΊ ΡΠ°ΠΉΠ»Π΄ ΡΠ½ΡΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π·Ρ ΡΠ²ΠΎΡΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠΌ, ΡΠΊΠΈΠΉ ΠΉΠΎΠ³ΠΎ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°Ρ.
import {
createApiStoreModule,
createBaseStoreModule,
} from '@webitel/ui-sdk/store';
import smthApi from '../api/smth'; // { getList, get, ... }
const actions = {
GET_LIST_OF_SMTH: (context) =>
context.dispatch('api/GET_LIST', { context, params: { smth: 'smth' } }),
};
const apiModule = createApiStoreModule({
state: {
// Π±Π΅Π· ΡΡΠΎΠ³ΠΎ Π½Π΅ ΡΠΎΠ±ΠΈΡΠΈΠΌΠ΅!
api: smthApi,
},
});
const baseModule = createBaseStoreModule({
actions,
modules: {
api: apiModule,
},
});
export default baseModule;