react-web-native-sketch
Version:
[TODO: We need an overview of how this can be used via npm vs as a local package]
69 lines • 2.69 kB
JavaScript
;
var __assign = (this && this.__assign) || Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
var TypeKeys;
(function (TypeKeys) {
TypeKeys["SHOW_ACTION_SHEET"] = "instacar/dialog/SHOW_ACTION_SHEET";
TypeKeys["ADD_SNACKBAR"] = "instacar/dialog/ADD_SNACKBAR";
TypeKeys["REMOVE_SNACKBAR"] = "instacar/dialog/REMOVE_SNACKBAR";
TypeKeys["REMOVE_FIRST_SNACKBAR"] = "instacar/dialog/REMOVE_FIRST_SNACKBAR";
TypeKeys["HIDE_SNACKBAR"] = "instacar/dialog/HIDE_SNACKBAR";
})(TypeKeys = exports.TypeKeys || (exports.TypeKeys = {}));
var currentId = 0;
exports.dialog = function (state, action) {
if (state === void 0) { state = { snackbarMessages: [] }; }
switch (action.type) {
case TypeKeys.SHOW_ACTION_SHEET:
return __assign({}, state, { sheetId: action.sheetId, sheetVisible: action.show });
case TypeKeys.ADD_SNACKBAR:
return __assign({}, state, { snackbarMessages: state.snackbarMessages.map(function (snack) { return (__assign({}, snack, { open: false })); }).concat([
{
message: action.message,
id: currentId++,
open: true,
},
]) });
case TypeKeys.REMOVE_SNACKBAR:
return __assign({}, state, { snackbarMessages: state.snackbarMessages.filter(function (snack) { return snack.id !== action.id; }) });
case TypeKeys.HIDE_SNACKBAR:
return __assign({}, state, { snackbarMessages: state.snackbarMessages.map(function (snack) { return (__assign({}, snack, { open: snack.id === action.id ? false : snack.open })); }) });
case TypeKeys.REMOVE_FIRST_SNACKBAR:
return __assign({}, state, { snackbarMessages: state.snackbarMessages.slice(1) });
default:
return state;
}
};
function showActionSheet(sheetId, show) {
return {
type: TypeKeys.SHOW_ACTION_SHEET,
sheetId: sheetId,
show: show,
};
}
exports.showActionSheet = showActionSheet;
exports.addSnackbar = function (message) {
return {
type: TypeKeys.ADD_SNACKBAR,
message: message,
};
};
exports.removeSnackbar = function (id) {
return {
type: TypeKeys.REMOVE_SNACKBAR,
id: id,
};
};
exports.hideSnackbar = function (id) {
return {
type: TypeKeys.HIDE_SNACKBAR,
id: id,
};
};
//# sourceMappingURL=dialog.js.map