Move isUniView
function to utils
This commit is contained in:
parent
06ec539839
commit
1809e38911
|
@ -570,16 +570,6 @@ export const api = _converse.api = {
|
|||
};
|
||||
|
||||
|
||||
_converse.isUniView = function () {
|
||||
/* We distinguish between UniView and MultiView instances.
|
||||
*
|
||||
* UniView means that only one chat is visible, even though there might be multiple ongoing chats.
|
||||
* MultiView means that multiple chats may be visible simultaneously.
|
||||
*/
|
||||
return ['mobile', 'fullscreen', 'embedded'].includes(api.settings.get("view_mode"));
|
||||
};
|
||||
|
||||
|
||||
export async function tearDown () {
|
||||
await _converse.api.trigger('beforeTearDown', {'synchronous': true});
|
||||
window.removeEventListener('click', _converse.onUserActivity);
|
||||
|
|
|
@ -6,10 +6,11 @@ import log from '@converse/headless/log';
|
|||
import pick from "lodash-es/pick";
|
||||
import { Model } from '@converse/skeletor/src/model.js';
|
||||
import { _converse, api, converse } from "../../core.js";
|
||||
import { getOpenPromise } from '@converse/openpromise';
|
||||
import { initStorage } from '@converse/headless/utils/storage.js';
|
||||
import { debouncedPruneHistory, pruneHistory } from '@converse/headless/shared/chat/utils.js';
|
||||
import { getMediaURLsMetadata } from '@converse/headless/shared/parsers.js';
|
||||
import { getOpenPromise } from '@converse/openpromise';
|
||||
import { initStorage } from '@converse/headless/utils/storage.js';
|
||||
import { isUniView } from '@converse/headless/utils/core.js';
|
||||
import { parseMessage } from './parsers.js';
|
||||
import { sendMarker } from '@converse/headless/shared/actions.js';
|
||||
|
||||
|
@ -30,7 +31,7 @@ const ChatBox = ModelWithContact.extend({
|
|||
return {
|
||||
'bookmarked': false,
|
||||
'chat_state': undefined,
|
||||
'hidden': _converse.isUniView() && !api.settings.get('singleton'),
|
||||
'hidden': isUniView() && !api.settings.get('singleton'),
|
||||
'message_type': 'chat',
|
||||
'nickname': undefined,
|
||||
'num_unread': 0,
|
||||
|
@ -1040,7 +1041,7 @@ const ChatBox = ModelWithContact.extend({
|
|||
},
|
||||
|
||||
maybeShow (force) {
|
||||
if (_converse.isUniView()) {
|
||||
if (isUniView()) {
|
||||
const filter = c => !c.get('hidden') &&
|
||||
c.get('jid') !== this.get('jid') &&
|
||||
c.get('id') !== 'controlbox';
|
||||
|
|
|
@ -14,6 +14,7 @@ import { computeAffiliationsDelta, setAffiliations, getAffiliationList } from '
|
|||
import { getOpenPromise } from '@converse/openpromise';
|
||||
import { initStorage } from '@converse/headless/utils/storage.js';
|
||||
import { isArchived, getMediaURLsMetadata } from '@converse/headless/shared/parsers';
|
||||
import { isUniView } from '@converse/headless/utils/core.js';
|
||||
import { parseMUCMessage, parseMUCPresence } from './parsers.js';
|
||||
import { sendMarker } from '@converse/headless/shared/actions';
|
||||
|
||||
|
@ -63,7 +64,7 @@ const ChatRoomMixin = {
|
|||
'bookmarked': false,
|
||||
'chat_state': undefined,
|
||||
'has_activity': false, // XEP-437
|
||||
'hidden': _converse.isUniView() && !api.settings.get('singleton'),
|
||||
'hidden': isUniView() && !api.settings.get('singleton'),
|
||||
'hidden_occupants': !!api.settings.get('hide_muc_participants'),
|
||||
'message_type': 'groupchat',
|
||||
'name': '',
|
||||
|
|
|
@ -14,6 +14,7 @@ import sizzle from "sizzle";
|
|||
import { Model } from '@converse/skeletor/src/model.js';
|
||||
import { Strophe } from 'strophe.js/src/strophe.js';
|
||||
import { getOpenPromise } from '@converse/openpromise';
|
||||
import { settings_api } from '@converse/headless/shared/settings/api.js';
|
||||
|
||||
export function isEmptyMessage (attrs) {
|
||||
if (attrs instanceof Model) {
|
||||
|
@ -26,6 +27,16 @@ export function isEmptyMessage (attrs) {
|
|||
}
|
||||
|
||||
|
||||
/* We distinguish between UniView and MultiView instances.
|
||||
*
|
||||
* UniView means that only one chat is visible, even though there might be multiple ongoing chats.
|
||||
* MultiView means that multiple chats may be visible simultaneously.
|
||||
*/
|
||||
export function isUniView () {
|
||||
return ['mobile', 'fullscreen', 'embedded'].includes(settings_api.get("view_mode"));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* The utils object
|
||||
* @namespace u
|
||||
|
@ -443,9 +454,9 @@ u.getUniqueId = function (suffix) {
|
|||
}
|
||||
}
|
||||
|
||||
u.httpToGeoUri = function(text, _converse) {
|
||||
u.httpToGeoUri = function(text) {
|
||||
const replacement = 'geo:$1,$2';
|
||||
return text.replace(_converse.api.settings.get("geouri_regex"), replacement);
|
||||
return text.replace(settings_api.get("geouri_regex"), replacement);
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -3,19 +3,20 @@
|
|||
* @license Mozilla Public License (MPLv2)
|
||||
* @copyright 2020, the Converse.js contributors
|
||||
*/
|
||||
import "@converse/headless/plugins/muc/index.js";
|
||||
import "plugins/chatview/index.js";
|
||||
import "plugins/controlbox/index.js";
|
||||
import "plugins/singleton.js";
|
||||
import "@converse/headless/plugins/muc/index.js";
|
||||
import { api, converse } from "@converse/headless/core";
|
||||
import { isUniView } from '@converse/headless/utils/core.js';
|
||||
|
||||
import './styles/fullscreen.scss';
|
||||
|
||||
|
||||
converse.plugins.add('converse-fullscreen', {
|
||||
|
||||
enabled (_converse) {
|
||||
return _converse.isUniView();
|
||||
enabled () {
|
||||
return isUniView();
|
||||
},
|
||||
|
||||
initialize () {
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
import RoomDetailsModal from 'modals/muc-details.js';
|
||||
import RoomsListModel from './model.js';
|
||||
import tpl_roomslist from "./templates/roomslist.js";
|
||||
import { ElementView } from '@converse/skeletor/src/element.js';
|
||||
import RoomsListModel from './model.js';
|
||||
import { __ } from 'i18n';
|
||||
import { _converse, api, converse } from "@converse/headless/core";
|
||||
import { initStorage } from '@converse/headless/utils/storage.js';
|
||||
import { isUniView } from '@converse/headless/utils/core.js';
|
||||
import { render } from 'lit';
|
||||
|
||||
const { Strophe, u } = converse.env;
|
||||
|
@ -43,7 +44,7 @@ export class RoomsList extends ElementView {
|
|||
'allow_bookmarks': api.settings.get('allow_bookmarks') && _converse.bookmarks,
|
||||
'closeRoom': ev => this.closeRoom(ev),
|
||||
'collapsed': this.model.get('toggle-state') !== _converse.OPENED,
|
||||
'currently_open': room => _converse.isUniView() && !room.get('hidden'),
|
||||
'currently_open': room => isUniView() && !room.get('hidden'),
|
||||
'model': this.model,
|
||||
'openRoom': ev => this.openRoom(ev),
|
||||
'removeBookmark': ev => this.removeBookmark(ev),
|
||||
|
|
|
@ -2,6 +2,7 @@ import 'shared/components/icons.js';
|
|||
import { __ } from 'i18n';
|
||||
import { _converse, converse } from "@converse/headless/core";
|
||||
import { html } from "lit";
|
||||
import { isUniView } from '@converse/headless/utils/core.js';
|
||||
import { toggleGroup } from '../utils.js';
|
||||
|
||||
const { u } = converse.env;
|
||||
|
@ -10,7 +11,7 @@ const { u } = converse.env;
|
|||
function renderContact (contact) {
|
||||
const jid = contact.get('jid');
|
||||
const extra_classes = [];
|
||||
if (_converse.isUniView()) {
|
||||
if (isUniView()) {
|
||||
const chatbox = _converse.chatboxes.get(jid);
|
||||
if (chatbox && !chatbox.get('hidden')) {
|
||||
extra_classes.push('open');
|
||||
|
|
Loading…
Reference in New Issue
Block a user