UNPKG

@stackend/api

Version:

JS bindings to api.stackend.com

160 lines 5.88 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.qnaStyling = exports.qnaGame = exports.qnaSelectedFilters = exports.qnaServer = exports.qnaReducer = exports.qnaSearchResult = exports.qnaAvailableFilters = exports.RECEIVE_SEARCH_RESULT = exports.SET_QNA_AVAILABLE_FILTERS = exports.CHANGE_FILTER = exports.SET_QNA_STYLE = exports.SET_QNA_GAME = exports.SET_QNA_SERVER = exports.CHANGE_QNA_PAGE = void 0; var immutability_helper_1 = __importDefault(require("immutability-helper")); ////Action Type exports.CHANGE_QNA_PAGE = 'CHANGE_QNA_PAGE'; exports.SET_QNA_SERVER = 'SET_QNA_SERVER'; exports.SET_QNA_GAME = 'SET_QNA_GAME'; exports.SET_QNA_STYLE = 'SET_QNA_STYLE'; exports.CHANGE_FILTER = 'CHANGE_FILTER'; exports.SET_QNA_AVAILABLE_FILTERS = 'SET_QNA_AVAILABLE_FILTERS'; exports.RECEIVE_SEARCH_RESULT = 'RECEIVE_SEARCH_RESULT'; //Reducer var qnaReducer = function (state, action) { if (state === void 0) { state = { pageType: 'Search' }; } switch (action.type) { case exports.CHANGE_QNA_PAGE: return (state = { pageType: action.pageType, forumThreadPermalink: action.forumThreadPermalink }); default: return state; } }; exports.qnaReducer = qnaReducer; var xcapModuleSettings = { qna: { server: '', game: { id: 0, name: '' }, styling: {} } }; //Reducer var qnaServer = function (state, action) { if (state === void 0) { state = xcapModuleSettings && xcapModuleSettings.qna && xcapModuleSettings.qna.server ? xcapModuleSettings.qna.server : ''; } switch (action.type) { case exports.SET_QNA_SERVER: return (state = action.server); default: return state; } }; exports.qnaServer = qnaServer; function qnaAvailableFilters(state, action) { if (state === void 0) { state = { filterGames: [], filterPlatforms: [], filterIssues: [], filterDevices: [], filterError: false }; } switch (action.type) { case exports.SET_QNA_AVAILABLE_FILTERS: return (state = action.filters); default: return state; } } exports.qnaAvailableFilters = qnaAvailableFilters; var defaultQnaSelectedFiltersState = { askQuestion: { game: xcapModuleSettings && xcapModuleSettings.qna && xcapModuleSettings.qna.game && xcapModuleSettings.qna.game.id, searchType: 'All' }, tags: { game: xcapModuleSettings && xcapModuleSettings.qna && xcapModuleSettings.qna.game && xcapModuleSettings.qna.game.name, searchType: 'Trending' }, searchSearchInput: { game: xcapModuleSettings && xcapModuleSettings.qna && xcapModuleSettings.qna.game && xcapModuleSettings.qna.game.name, searchType: 'All' } }; var qnaSelectedFilters = function (state, action) { var _a, _b, _c; if (state === void 0) { state = defaultQnaSelectedFiltersState; } switch (action.type) { case exports.CHANGE_FILTER: if (typeof state[action.contentType] === 'undefined') { //this is the first request of a specific contentType, store it in a separate place state[action.contentType] = {}; } //TODO: Is this realy working? what if action.filter[1] is clicked? if (!!Object.values(action.filter)[0] && state[action.contentType][Object.keys(action.filter)[0]] === Object.values(action.filter)[0] && Object.keys(action.filter)[0] !== 'searchType') { // the current clicked filter is selected, Un-check current filter selection return (0, immutability_helper_1.default)(state, (_a = {}, _a[action.contentType] = { $merge: (_b = {}, _b[Object.keys(action.filter)[0]] = '', _b) }, _a)); } //Check new filter selection return (0, immutability_helper_1.default)(state, (_c = {}, _c[action.contentType] = { $merge: action.filter }, _c)); default: return state; } }; exports.qnaSelectedFilters = qnaSelectedFilters; function qnaSearchResult(state, action) { if (state === void 0) { state = { entries: [], relatedObjects: [], categoryCounts: [], error: false }; } switch (action.type) { case exports.RECEIVE_SEARCH_RESULT: return (state = action.result); default: return state; } } exports.qnaSearchResult = qnaSearchResult; var qnaGame = function (state, action) { if (state === void 0) { state = xcapModuleSettings && xcapModuleSettings.qna && xcapModuleSettings.qna.game ? xcapModuleSettings.qna.game : ''; } switch (action.type) { case exports.SET_QNA_GAME: return (state = action.game); default: return state; } }; exports.qnaGame = qnaGame; var defaultStyle = { mainColor: '', accentColor: '', iconColor: '', titleFont: '', titleFontColor: '', bodyFont: '', bodyFontColor: '', buttonColor: '', buttonFontColor: '', linkColor: '', textDetailColor: '' }; var qnaStyling = function (state, action) { if (state === void 0) { state = xcapModuleSettings && xcapModuleSettings.qna && xcapModuleSettings.qna.styling ? xcapModuleSettings.qna.styling : defaultStyle; } switch (action.type) { case exports.SET_QNA_STYLE: return (state = action.style); default: return state; } }; exports.qnaStyling = qnaStyling; exports.default = qnaReducer; //# sourceMappingURL=qnaReducer.js.map