UNPKG

stream-chat-react-native-core

Version:

The official React Native and Expo components for Stream Chat, a service for building chat applications

56 lines 2.35 kB
Object.defineProperty(exports, "__esModule", { value: true }); exports.useIsNameEdited = exports.useIsImageEdited = exports.useAreChannelDetailsEdited = exports.isNameEdited = exports.isImageEdited = exports.EditChannelDetailsStore = void 0; var _streamChat = require("stream-chat"); var _useStateStore = require("../hooks/useStateStore"); class EditChannelDetailsStore { constructor(channel) { var _channel$data$name, _channel$data, _channel$data2; var initialName = (_channel$data$name = (_channel$data = channel.data) == null ? void 0 : _channel$data.name) != null ? _channel$data$name : ''; var initialImage = (_channel$data2 = channel.data) == null ? void 0 : _channel$data2.image; this.state = new _streamChat.StateStore({ currentName: initialName, initialImage, initialName, pendingAction: null, updatedImage: undefined }); } setCurrentName(currentName) { this.state.partialNext({ currentName }); } setUpdatedImage(updatedImage) { this.state.partialNext({ updatedImage }); } setPendingAction(pendingAction) { this.state.partialNext({ pendingAction }); } } exports.EditChannelDetailsStore = EditChannelDetailsStore; var isNameEdited = state => state.currentName !== state.initialName; exports.isNameEdited = isNameEdited; var isImageEdited = state => !(state.updatedImage === undefined || !state.updatedImage && !state.initialImage); exports.isImageEdited = isImageEdited; var selectIsNameEdited = state => ({ isNameEdited: isNameEdited(state) }); var selectIsImageEdited = state => ({ isImageEdited: isImageEdited(state) }); var selectAreChannelDetailsEdited = state => ({ areChannelDetailsEdited: isNameEdited(state) || isImageEdited(state) }); var useIsNameEdited = store => (0, _useStateStore.useStateStore)(store.state, selectIsNameEdited).isNameEdited; exports.useIsNameEdited = useIsNameEdited; var useIsImageEdited = store => (0, _useStateStore.useStateStore)(store.state, selectIsImageEdited).isImageEdited; exports.useIsImageEdited = useIsImageEdited; var useAreChannelDetailsEdited = store => (0, _useStateStore.useStateStore)(store.state, selectAreChannelDetailsEdited).areChannelDetailsEdited; exports.useAreChannelDetailsEdited = useAreChannelDetailsEdited; //# sourceMappingURL=edit-channel-details-store.js.map