UNPKG

@acoustic-content-sdk/redux-feature-auth-layout

Version:

Implementation of a redux feature to manage authoring layouts.

94 lines 9.95 kB
/** * @fileoverview added by tsickle * Generated from: state/auth-layout/auth.layout.epics.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { createAuthenticatedLoader, guaranteeEpic, nonExistentEpic, PROJECT_ID_QUERY_PARAM } from '@acoustic-content-sdk/redux-feature-load'; import { selectPayload } from '@acoustic-content-sdk/redux-store'; import { addToSetEpic, getDeliveryIdFromAuthoringItem } from '@acoustic-content-sdk/redux-utils'; import { jsonParse, mapArray, rxPipe } from '@acoustic-content-sdk/utils'; import { combineEpics, ofType } from 'redux-observable'; import { map } from 'rxjs/operators'; import { ACTION_ADD_AUTH_LAYOUT, ACTION_ADD_AUTH_LAYOUT_IF_NONEXISTENT, ACTION_GUARANTEE_AUTH_LAYOUT, ACTION_LOAD_AUTH_LAYOUT, ACTION_SET_AUTH_LAYOUT, addAuthoringLayoutAction, loadAuthoringLayoutAction } from './auth.layout.actions'; import { selectAuthLayoutFeature } from './auth.layout.feature'; /** @type {?} */ var LOGGER = 'AuthLayoutEpic'; /** * @record */ export function AuthoringLayoutDependencies() { } if (false) { /** @type {?} */ AuthoringLayoutDependencies.prototype.fetchText; /** @type {?} */ AuthoringLayoutDependencies.prototype.logSvc; } // TODO type fallback for layouts! /** * Initialize the active page * @type {?} */ var loadLayoutEpic = (/** * @param {?} actions$ * @param {?} state$ * @param {?} __2 * @return {?} */ function (actions$, state$, _a) { var fetchText = _a.fetchText, logSvc = _a.logSvc; // logger /** @type {?} */ var logger = logSvc.get(LOGGER); // loader /** @type {?} */ var loader = (/** * @param {?} id * @return {?} */ function (id) { return rxPipe(fetchText("authoring/v1/layouts/" + encodeURIComponent(id) + "?" + PROJECT_ID_QUERY_PARAM), // convert text to json map(jsonParse), // save the loaded asset map(addAuthoringLayoutAction)); }); // our loader /** @type {?} */ var opLoader = createAuthenticatedLoader(state$, loader, logger); return rxPipe(actions$, ofType(ACTION_LOAD_AUTH_LAYOUT), // extract the id of the type map(selectPayload), // load opLoader); }); var ɵ0 = loadLayoutEpic; /** * Determine the IDs of the layouts to resolve * * @param {?} aLayouts - the authoring layouts * @return {?} the resolved layout IDs */ function idsFromSelectedLayouts(aLayouts) { return mapArray(aLayouts, (/** * @param {?} layout * @return {?} */ function (layout) { return layout.layout.id; })); } // epic to convert from ACTION_ADD_AUTH_LAYOUT to ACTION_SET_AUTH_LAYOUT /** @type {?} */ var setLayoutEpic = addToSetEpic(ACTION_ADD_AUTH_LAYOUT, ACTION_SET_AUTH_LAYOUT); /** * Handles layout guarantees * @type {?} */ var guaranteeLayoutEpic = guaranteeEpic(ACTION_GUARANTEE_AUTH_LAYOUT, loadAuthoringLayoutAction, selectAuthLayoutFeature); /** * Handles non existent items * @type {?} */ var nonExistentLayoutEpic = nonExistentEpic(ACTION_ADD_AUTH_LAYOUT_IF_NONEXISTENT, addAuthoringLayoutAction, getDeliveryIdFromAuthoringItem, selectAuthLayoutFeature); /** @type {?} */ export var authoringLayoutEpic = combineEpics(loadLayoutEpic, guaranteeLayoutEpic, nonExistentLayoutEpic, setLayoutEpic); export { ɵ0 }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5sYXlvdXQuZXBpY3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNvdXN0aWMtY29udGVudC1zZGsvcmVkdXgtZmVhdHVyZS1hdXRoLWxheW91dC8iLCJzb3VyY2VzIjpbInN0YXRlL2F1dGgtbGF5b3V0L2F1dGgubGF5b3V0LmVwaWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBS0EsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixhQUFhLEVBRWIsZUFBZSxFQUNmLHNCQUFzQixFQUN2QixNQUFNLDBDQUEwQyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLDhCQUE4QixFQUMvQixNQUFNLG1DQUFtQyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQVEsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIscUNBQXFDLEVBQ3JDLDRCQUE0QixFQUM1Qix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLHdCQUF3QixFQUV4Qix5QkFBeUIsRUFDMUIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7SUFFMUQsTUFBTSxHQUFHLGdCQUFnQjs7OztBQUUvQixpREFHQzs7O0lBRkMsZ0RBQXFCOztJQUNyQiw2Q0FBc0I7Ozs7Ozs7SUFRbEIsY0FBYzs7Ozs7O0FBQVMsVUFDM0IsUUFBUSxFQUNSLE1BQU0sRUFDTixFQUFrRDtRQUFoRCx3QkFBUyxFQUFFLGtCQUFNOzs7UUFHYixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7OztRQUUzQixNQUFNOzs7O0lBQWUsVUFBQyxFQUFFO1FBQzVCLE9BQUEsTUFBTSxDQUNKLFNBQVMsQ0FDUCwwQkFBd0Isa0JBQWtCLENBQ3hDLEVBQUUsQ0FDSCxTQUFJLHNCQUF3QixDQUM5QjtRQUNELHVCQUF1QjtRQUN2QixHQUFHLENBQThCLFNBQVMsQ0FBQztRQUMzQyx3QkFBd0I7UUFDeEIsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQzlCO0lBVkQsQ0FVQyxDQUFBOzs7UUFFRyxRQUFRLEdBQUcseUJBQXlCLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFFbEUsT0FBTyxNQUFNLENBQ1gsUUFBUSxFQUNSLE1BQU0sQ0FBNEIsdUJBQXVCLENBQUM7SUFDMUQsNkJBQTZCO0lBQzdCLEdBQUcsQ0FBQyxhQUFhLENBQUM7SUFDbEIsT0FBTztJQUNQLFFBQVEsQ0FDVCxDQUFDO0FBQ0osQ0FBQyxDQUFBOzs7Ozs7OztBQVFELFNBQVMsc0JBQXNCLENBQUMsUUFBbUM7SUFDakUsT0FBTyxRQUFRLENBQUMsUUFBUTs7OztJQUFFLFVBQUMsTUFBTSxJQUFLLE9BQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQWhCLENBQWdCLEVBQUMsQ0FBQztBQUMxRCxDQUFDOzs7SUFHSyxhQUFhLEdBQUcsWUFBWSxDQUNoQyxzQkFBc0IsRUFDdEIsc0JBQXNCLENBQ3ZCOzs7OztJQUtLLG1CQUFtQixHQUFTLGFBQWEsQ0FDN0MsNEJBQTRCLEVBQzVCLHlCQUF5QixFQUN6Qix1QkFBdUIsQ0FDeEI7Ozs7O0lBS0sscUJBQXFCLEdBQVMsZUFBZSxDQUNqRCxxQ0FBcUMsRUFDckMsd0JBQXdCLEVBQ3hCLDhCQUE4QixFQUM5Qix1QkFBdUIsQ0FDeEI7O0FBRUQsTUFBTSxLQUFPLG1CQUFtQixHQUFTLFlBQVksQ0FDbkQsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsYUFBYSxDQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXV0aG9yaW5nTGF5b3V0SXRlbSxcbiAgQXV0aG9yaW5nU2VsZWN0ZWRMYXlvdXQsXG4gIExvZ2dlclNlcnZpY2Vcbn0gZnJvbSAnQGFjb3VzdGljLWNvbnRlbnQtc2RrL2FwaSc7XG5pbXBvcnQge1xuICBjcmVhdGVBdXRoZW50aWNhdGVkTG9hZGVyLFxuICBndWFyYW50ZWVFcGljLFxuICBMb2FkZXJUeXBlLFxuICBub25FeGlzdGVudEVwaWMsXG4gIFBST0pFQ1RfSURfUVVFUllfUEFSQU1cbn0gZnJvbSAnQGFjb3VzdGljLWNvbnRlbnQtc2RrL3JlZHV4LWZlYXR1cmUtbG9hZCc7XG5pbXBvcnQgeyBzZWxlY3RQYXlsb2FkIH0gZnJvbSAnQGFjb3VzdGljLWNvbnRlbnQtc2RrL3JlZHV4LXN0b3JlJztcbmltcG9ydCB7XG4gIGFkZFRvU2V0RXBpYyxcbiAgZ2V0RGVsaXZlcnlJZEZyb21BdXRob3JpbmdJdGVtXG59IGZyb20gJ0BhY291c3RpYy1jb250ZW50LXNkay9yZWR1eC11dGlscyc7XG5pbXBvcnQgeyBGZXRjaFRleHQgfSBmcm9tICdAYWNvdXN0aWMtY29udGVudC1zZGsvcmVzdC1hcGknO1xuaW1wb3J0IHsganNvblBhcnNlLCBtYXBBcnJheSwgcnhQaXBlIH0gZnJvbSAnQGFjb3VzdGljLWNvbnRlbnQtc2RrL3V0aWxzJztcbmltcG9ydCB7IGNvbWJpbmVFcGljcywgRXBpYywgb2ZUeXBlIH0gZnJvbSAncmVkdXgtb2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIEFDVElPTl9BRERfQVVUSF9MQVlPVVQsXG4gIEFDVElPTl9BRERfQVVUSF9MQVlPVVRfSUZfTk9ORVhJU1RFTlQsXG4gIEFDVElPTl9HVUFSQU5URUVfQVVUSF9MQVlPVVQsXG4gIEFDVElPTl9MT0FEX0FVVEhfTEFZT1VULFxuICBBQ1RJT05fU0VUX0FVVEhfTEFZT1VULFxuICBhZGRBdXRob3JpbmdMYXlvdXRBY3Rpb24sXG4gIExvYWRBdXRob3JpbmdMYXlvdXRBY3Rpb24sXG4gIGxvYWRBdXRob3JpbmdMYXlvdXRBY3Rpb25cbn0gZnJvbSAnLi9hdXRoLmxheW91dC5hY3Rpb25zJztcbmltcG9ydCB7IHNlbGVjdEF1dGhMYXlvdXRGZWF0dXJlIH0gZnJvbSAnLi9hdXRoLmxheW91dC5mZWF0dXJlJztcblxuY29uc3QgTE9HR0VSID0gJ0F1dGhMYXlvdXRFcGljJztcblxuZXhwb3J0IGludGVyZmFjZSBBdXRob3JpbmdMYXlvdXREZXBlbmRlbmNpZXMge1xuICBmZXRjaFRleHQ6IEZldGNoVGV4dDtcbiAgbG9nU3ZjOiBMb2dnZXJTZXJ2aWNlO1xufVxuXG4vLyBUT0RPIHR5cGUgZmFsbGJhY2sgZm9yIGxheW91dHMhXG5cbi8qKlxuICogSW5pdGlhbGl6ZSB0aGUgYWN0aXZlIHBhZ2VcbiAqL1xuY29uc3QgbG9hZExheW91dEVwaWM6IEVwaWMgPSAoXG4gIGFjdGlvbnMkLFxuICBzdGF0ZSQsXG4gIHsgZmV0Y2hUZXh0LCBsb2dTdmMgfTogQXV0aG9yaW5nTGF5b3V0RGVwZW5kZW5jaWVzXG4pID0+IHtcbiAgLy8gbG9nZ2VyXG4gIGNvbnN0IGxvZ2dlciA9IGxvZ1N2Yy5nZXQoTE9HR0VSKTtcbiAgLy8gbG9hZGVyXG4gIGNvbnN0IGxvYWRlcjogTG9hZGVyVHlwZSA9IChpZCkgPT5cbiAgICByeFBpcGUoXG4gICAgICBmZXRjaFRleHQoXG4gICAgICAgIGBhdXRob3JpbmcvdjEvbGF5b3V0cy8ke2VuY29kZVVSSUNvbXBvbmVudChcbiAgICAgICAgICBpZFxuICAgICAgICApfT8ke1BST0pFQ1RfSURfUVVFUllfUEFSQU19YFxuICAgICAgKSxcbiAgICAgIC8vIGNvbnZlcnQgdGV4dCB0byBqc29uXG4gICAgICBtYXA8c3RyaW5nLCBBdXRob3JpbmdMYXlvdXRJdGVtPihqc29uUGFyc2UpLFxuICAgICAgLy8gc2F2ZSB0aGUgbG9hZGVkIGFzc2V0XG4gICAgICBtYXAoYWRkQXV0aG9yaW5nTGF5b3V0QWN0aW9uKVxuICAgICk7XG4gIC8vIG91ciBsb2FkZXJcbiAgY29uc3Qgb3BMb2FkZXIgPSBjcmVhdGVBdXRoZW50aWNhdGVkTG9hZGVyKHN0YXRlJCwgbG9hZGVyLCBsb2dnZXIpO1xuXG4gIHJldHVybiByeFBpcGUoXG4gICAgYWN0aW9ucyQsXG4gICAgb2ZUeXBlPExvYWRBdXRob3JpbmdMYXlvdXRBY3Rpb24+KEFDVElPTl9MT0FEX0FVVEhfTEFZT1VUKSxcbiAgICAvLyBleHRyYWN0IHRoZSBpZCBvZiB0aGUgdHlwZVxuICAgIG1hcChzZWxlY3RQYXlsb2FkKSxcbiAgICAvLyBsb2FkXG4gICAgb3BMb2FkZXJcbiAgKTtcbn07XG5cbi8qKlxuICogRGV0ZXJtaW5lIHRoZSBJRHMgb2YgdGhlIGxheW91dHMgdG8gcmVzb2x2ZVxuICpcbiAqIEBwYXJhbSBhTGF5b3V0cyAtIHRoZSBhdXRob3JpbmcgbGF5b3V0c1xuICogQHJldHVybnMgdGhlIHJlc29sdmVkIGxheW91dCBJRHNcbiAqL1xuZnVuY3Rpb24gaWRzRnJvbVNlbGVjdGVkTGF5b3V0cyhhTGF5b3V0czogQXV0aG9yaW5nU2VsZWN0ZWRMYXlvdXRbXSk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIG1hcEFycmF5KGFMYXlvdXRzLCAobGF5b3V0KSA9PiBsYXlvdXQubGF5b3V0LmlkKTtcbn1cblxuLy8gZXBpYyB0byBjb252ZXJ0IGZyb20gQUNUSU9OX0FERF9BVVRIX0xBWU9VVCB0byBBQ1RJT05fU0VUX0FVVEhfTEFZT1VUXG5jb25zdCBzZXRMYXlvdXRFcGljID0gYWRkVG9TZXRFcGljPEF1dGhvcmluZ0xheW91dEl0ZW0+KFxuICBBQ1RJT05fQUREX0FVVEhfTEFZT1VULFxuICBBQ1RJT05fU0VUX0FVVEhfTEFZT1VUXG4pO1xuXG4vKipcbiAqIEhhbmRsZXMgbGF5b3V0IGd1YXJhbnRlZXNcbiAqL1xuY29uc3QgZ3VhcmFudGVlTGF5b3V0RXBpYzogRXBpYyA9IGd1YXJhbnRlZUVwaWMoXG4gIEFDVElPTl9HVUFSQU5URUVfQVVUSF9MQVlPVVQsXG4gIGxvYWRBdXRob3JpbmdMYXlvdXRBY3Rpb24sXG4gIHNlbGVjdEF1dGhMYXlvdXRGZWF0dXJlXG4pO1xuXG4vKipcbiAqIEhhbmRsZXMgbm9uIGV4aXN0ZW50IGl0ZW1zXG4gKi9cbmNvbnN0IG5vbkV4aXN0ZW50TGF5b3V0RXBpYzogRXBpYyA9IG5vbkV4aXN0ZW50RXBpYyhcbiAgQUNUSU9OX0FERF9BVVRIX0xBWU9VVF9JRl9OT05FWElTVEVOVCxcbiAgYWRkQXV0aG9yaW5nTGF5b3V0QWN0aW9uLFxuICBnZXREZWxpdmVyeUlkRnJvbUF1dGhvcmluZ0l0ZW0sXG4gIHNlbGVjdEF1dGhMYXlvdXRGZWF0dXJlXG4pO1xuXG5leHBvcnQgY29uc3QgYXV0aG9yaW5nTGF5b3V0RXBpYzogRXBpYyA9IGNvbWJpbmVFcGljcyhcbiAgbG9hZExheW91dEVwaWMsXG4gIGd1YXJhbnRlZUxheW91dEVwaWMsXG4gIG5vbkV4aXN0ZW50TGF5b3V0RXBpYyxcbiAgc2V0TGF5b3V0RXBpY1xuKTtcbiJdfQ==