UNPKG

@atlaskit/editor-plugin-card

Version:

Card plugin for @atlaskit/editor-core

161 lines (160 loc) 7.24 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var queue = function queue(state, action) { return _objectSpread(_objectSpread({}, state), {}, { requests: state.requests.concat(action.requests) }); }; var resolve = function resolve(state, action) { var requests = state.requests.reduce(function (requests, request) { if (request.url !== action.url) { requests.push(request); } return requests; }, []); return _objectSpread(_objectSpread({}, state), {}, { requests: requests }); }; var register = function register(state, action) { return _objectSpread(_objectSpread({}, state), {}, { cards: state.cards.filter(function (card) { return card.pos !== action.info.pos; }).concat(action.info) }); }; var removeCard = function removeCard(state, action) { return _objectSpread(_objectSpread({}, state), {}, { cards: state.cards.filter(function (card) { return card.id !== action.info.id; }) }); }; var setProvider = function setProvider(state, action) { return _objectSpread(_objectSpread({}, state), {}, { provider: action.provider }); }; var setCardLayout = function setCardLayout(state, action) { return _objectSpread(_objectSpread({}, state), {}, { layout: action.layout }); }; var setDatasourceTableRef = function setDatasourceTableRef(state, action) { return _objectSpread(_objectSpread({}, state), {}, { datasourceTableRef: action.datasourceTableRef }); }; var setResolvedToolbarAttributes = function setResolvedToolbarAttributes(state, action) { return _objectSpread(_objectSpread({}, state), {}, { resolvedToolbarAttributesByUrl: _objectSpread(_objectSpread({}, state.resolvedToolbarAttributesByUrl), {}, (0, _defineProperty2.default)({}, action.url, action.attributes)) }); }; var setCardLayoutDatasourceTableRef = function setCardLayoutDatasourceTableRef(state, action) { return _objectSpread(_objectSpread({}, state), {}, { datasourceTableRef: action.datasourceTableRef, layout: action.layout }); }; var registerEvents = function registerEvents(state, action) { return _objectSpread(_objectSpread({}, state), {}, { smartLinkEvents: action.smartLinkEvents }); }; var setLinkToolbar = function setLinkToolbar(state, action) { return _objectSpread(_objectSpread({}, state), {}, { showLinkingToolbar: action.type === 'SHOW_LINK_TOOLBAR' }); }; var showDatasourceModal = function showDatasourceModal(state, action) { return _objectSpread(_objectSpread({}, state), {}, { showDatasourceModal: true, datasourceModalType: action.type === 'SHOW_DATASOURCE_MODAL' ? action.modalType : undefined }); }; var hideDatasourceModal = function hideDatasourceModal(state) { return _objectSpread(_objectSpread({}, state), {}, { showDatasourceModal: false, datasourceModalType: undefined }); }; var clearOverlayCandidate = function clearOverlayCandidate(state) { return _objectSpread(_objectSpread({}, state), {}, { overlayCandidatePosition: undefined }); }; var registerRemoveOverlayOnInsertedLink = function registerRemoveOverlayOnInsertedLink(state, action) { return _objectSpread(_objectSpread({}, state), {}, { cards: action.info ? state.cards.filter(function (card) { var _action$info; return card.pos !== ((_action$info = action.info) === null || _action$info === void 0 ? void 0 : _action$info.pos); }).concat(action.info) : state.cards, removeOverlay: action.callback }); }; var setDatasourceStash = function setDatasourceStash(state, action) { return _objectSpread(_objectSpread({}, state), {}, { datasourceStash: _objectSpread(_objectSpread({}, state.datasourceStash), {}, (0, _defineProperty2.default)({}, action.datasourceStash.url, { views: action.datasourceStash.views })) }); }; var removeDatasourceStash = function removeDatasourceStash(state, action) { var _state$datasourceStas = state.datasourceStash, _action$url = action.url, _ = _state$datasourceStas[_action$url], datasourceStash = (0, _objectWithoutProperties2.default)(_state$datasourceStas, [_action$url].map(_toPropertyKey)); return _objectSpread(_objectSpread({}, state), {}, { datasourceStash: datasourceStash }); }; var _default = exports.default = function _default(state, action) { switch (action.type) { case 'QUEUE': return queue(state, action); case 'SET_PROVIDER': return setProvider(state, action); case 'RESOLVE': return resolve(state, action); case 'REGISTER': return register(state, action); case 'REMOVE_CARD': return removeCard(state, action); case 'REGISTER_EVENTS': return registerEvents(state, action); case 'SET_DATASOURCE_TABLE_REF': return setDatasourceTableRef(state, action); case 'SET_RESOLVED_TOOLBAR_ATTRIBUTES': return setResolvedToolbarAttributes(state, action); case 'SET_CARD_LAYOUT': return setCardLayout(state, action); case 'SET_CARD_LAYOUT_AND_DATASOURCE_TABLE_REF': return setCardLayoutDatasourceTableRef(state, action); case 'SHOW_LINK_TOOLBAR': case 'HIDE_LINK_TOOLBAR': return setLinkToolbar(state, action); case 'SHOW_DATASOURCE_MODAL': return showDatasourceModal(state, action); case 'HIDE_DATASOURCE_MODAL': return hideDatasourceModal(state); case 'CLEAR_OVERLAY_CANDIDATE': return clearOverlayCandidate(state); case 'REGISTER_REMOVE_OVERLAY_ON_INSERTED_LINK': return registerRemoveOverlayOnInsertedLink(state, action); case 'SET_DATASOURCE_STASH': return setDatasourceStash(state, action); case 'REMOVE_DATASOURCE_STASH': return removeDatasourceStash(state, action); } };