mirror of
https://github.com/nextcloud/server.git
synced 2026-02-20 00:12:30 -05:00
Merge pull request #56544 from nextcloud/chore/user_status--vue3
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
refactor(user_status): migrate to Vue 3
This commit is contained in:
commit
38792c8c96
127 changed files with 504 additions and 1864 deletions
|
|
@ -1,4 +0,0 @@
|
|||
/*!
|
||||
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/.icon-user-status{background-image:url("../img/app.svg")}.icon-user-status-dark{background-image:url("../img/app-dark.svg");filter:var(--background-invert-if-dark)}/*# sourceMappingURL=user-status-menu.css.map */
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"version":3,"sourceRoot":"","sources":["user-status-menu.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GAIA,kBACC,uCAGD,uBACC,4CACA","file":"user-status-menu.css"}
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
|
||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
|
@ -70,6 +70,6 @@ class BeforeTemplateRenderedListener implements IEventListener {
|
|||
});
|
||||
|
||||
Util::addScript('user_status', 'menu');
|
||||
Util::addStyle('user_status', 'user-status-menu');
|
||||
Util::addStyle('user_status', 'menu');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,46 +4,44 @@
|
|||
-->
|
||||
|
||||
<template>
|
||||
<Fragment>
|
||||
<NcListItem
|
||||
v-if="!inline"
|
||||
class="user-status-menu-item"
|
||||
compact
|
||||
:name="visibleMessage"
|
||||
@click.stop="openModal">
|
||||
<NcListItem
|
||||
v-if="!inline"
|
||||
:class="$style.userStatusMenuItem"
|
||||
compact
|
||||
:name="visibleMessage"
|
||||
@click.stop="openModal">
|
||||
<template #icon>
|
||||
<NcUserStatusIcon
|
||||
:class="$style.userStatusIcon"
|
||||
:status="statusType"
|
||||
aria-hidden="true" />
|
||||
</template>
|
||||
</NcListItem>
|
||||
|
||||
<div v-else>
|
||||
<!-- Dashboard Status -->
|
||||
<NcButton @click.stop="openModal">
|
||||
<template #icon>
|
||||
<NcUserStatusIcon
|
||||
class="user-status-icon"
|
||||
:class="$style.userStatusIcon"
|
||||
:status="statusType"
|
||||
aria-hidden="true" />
|
||||
</template>
|
||||
</NcListItem>
|
||||
|
||||
<div v-else>
|
||||
<!-- Dashboard Status -->
|
||||
<NcButton @click.stop="openModal">
|
||||
<template #icon>
|
||||
<NcUserStatusIcon
|
||||
class="user-status-icon"
|
||||
:status="statusType"
|
||||
aria-hidden="true" />
|
||||
</template>
|
||||
{{ visibleMessage }}
|
||||
</NcButton>
|
||||
</div>
|
||||
<!-- Status management modal -->
|
||||
<SetStatusModal
|
||||
v-if="isModalOpen"
|
||||
:inline="inline"
|
||||
@close="closeModal" />
|
||||
</Fragment>
|
||||
{{ visibleMessage }}
|
||||
</NcButton>
|
||||
</div>
|
||||
<!-- Status management modal -->
|
||||
<SetStatusModal
|
||||
v-if="isModalOpen"
|
||||
:inline="inline"
|
||||
@close="closeModal" />
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getCurrentUser } from '@nextcloud/auth'
|
||||
import { subscribe, unsubscribe } from '@nextcloud/event-bus'
|
||||
import debounce from 'debounce'
|
||||
import { Fragment } from 'vue-frag'
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
import NcButton from '@nextcloud/vue/components/NcButton'
|
||||
import NcListItem from '@nextcloud/vue/components/NcListItem'
|
||||
import NcUserStatusIcon from '@nextcloud/vue/components/NcUserStatusIcon'
|
||||
|
|
@ -55,11 +53,10 @@ export default {
|
|||
name: 'UserStatus',
|
||||
|
||||
components: {
|
||||
Fragment,
|
||||
NcButton,
|
||||
NcListItem,
|
||||
NcUserStatusIcon,
|
||||
SetStatusModal: () => import(/* webpackChunkName: 'user-status-modal' */'./components/SetStatusModal.vue'),
|
||||
SetStatusModal: defineAsyncComponent(() => import('./components/SetStatusModal.vue')),
|
||||
},
|
||||
|
||||
mixins: [OnlineStatusMixin],
|
||||
|
|
@ -126,7 +123,7 @@ export default {
|
|||
/**
|
||||
* Some housekeeping before destroying the component
|
||||
*/
|
||||
beforeDestroy() {
|
||||
beforeUnmount() {
|
||||
window.removeEventListener('mouseMove', this.mouseMoveListener)
|
||||
clearInterval(this.heartbeatInterval)
|
||||
unsubscribe('user_status:status.updated', this.handleUserStatusUpdated)
|
||||
|
|
@ -179,8 +176,15 @@ export default {
|
|||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.user-status-icon {
|
||||
<style lang="scss" module>
|
||||
// Note: As for v9.3.0 NcListItem does not support <style scoped>
|
||||
.userStatusMenuItem,
|
||||
.userStatusMenuItem * {
|
||||
// TODO: Vue 3 migration - add box-sizing to core menu component
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.userStatusIcon {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin: calc((var(--default-clickable-area) - 20px) / 2); // 20px icon size
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<template>
|
||||
<div class="clear-at-select">
|
||||
<label class="clear-at-select__label" for="clearStatus">
|
||||
{{ $t('user_status', 'Clear status after') }}
|
||||
{{ t('user_status', 'Clear status after') }}
|
||||
</label>
|
||||
<NcSelect
|
||||
input-id="clearStatus"
|
||||
|
|
@ -21,9 +21,10 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { t } from '@nextcloud/l10n'
|
||||
import NcSelect from '@nextcloud/vue/components/NcSelect'
|
||||
import { clearAtFilter } from '../filters/clearAtFilter.js'
|
||||
import { getAllClearAtOptions } from '../services/clearAtOptionsService.js'
|
||||
import { clearAtFormat } from '../services/clearAtService.js'
|
||||
|
||||
export default {
|
||||
name: 'ClearAtSelect',
|
||||
|
|
@ -38,6 +39,8 @@ export default {
|
|||
},
|
||||
},
|
||||
|
||||
emits: ['selectClearAt'],
|
||||
|
||||
data() {
|
||||
return {
|
||||
options: getAllClearAtOptions(),
|
||||
|
|
@ -53,12 +56,14 @@ export default {
|
|||
option() {
|
||||
return {
|
||||
clearAt: this.clearAt,
|
||||
label: clearAtFilter(this.clearAt),
|
||||
label: clearAtFormat(this.clearAt),
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
methods: {
|
||||
t,
|
||||
|
||||
/**
|
||||
* Triggered when the user selects a new option.
|
||||
*
|
||||
|
|
@ -69,7 +74,7 @@ export default {
|
|||
return
|
||||
}
|
||||
|
||||
this.$emit('select-clear-at', option.clearAt)
|
||||
this.$emit('selectClearAt', option.clearAt)
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,12 +22,13 @@
|
|||
:model-value="message"
|
||||
type="text"
|
||||
:label="t('user_status', 'What is your status?')"
|
||||
@input="onChange" />
|
||||
@update:model-value="onChange" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { t } from '@nextcloud/l10n'
|
||||
import NcButton from '@nextcloud/vue/components/NcButton'
|
||||
import NcEmojiPicker from '@nextcloud/vue/components/NcEmojiPicker'
|
||||
import NcTextField from '@nextcloud/vue/components/NcTextField'
|
||||
|
|
@ -60,7 +61,7 @@ export default {
|
|||
|
||||
emits: [
|
||||
'change',
|
||||
'select-icon',
|
||||
'selectIcon',
|
||||
],
|
||||
|
||||
computed: {
|
||||
|
|
@ -75,6 +76,8 @@ export default {
|
|||
},
|
||||
|
||||
methods: {
|
||||
t,
|
||||
|
||||
focus() {
|
||||
this.$refs.input.focus()
|
||||
},
|
||||
|
|
@ -82,14 +85,14 @@ export default {
|
|||
/**
|
||||
* Notifies the parent component about a changed input
|
||||
*
|
||||
* @param {Event} event The Change Event
|
||||
* @param {string} value The new input value
|
||||
*/
|
||||
onChange(event) {
|
||||
this.$emit('change', event.target.value)
|
||||
onChange(value) {
|
||||
this.$emit('change', value)
|
||||
},
|
||||
|
||||
setIcon(icon) {
|
||||
this.$emit('select-icon', icon)
|
||||
this.$emit('selectIcon', icon)
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,10 +12,12 @@
|
|||
name="user-status-online"
|
||||
@change="onChange">
|
||||
<label :for="id" class="user-status-online-select__label">
|
||||
<NcUserStatusIcon
|
||||
:status="type"
|
||||
class="user-status-online-select__icon"
|
||||
aria-hidden="true" />
|
||||
<span class="user-status-online-select__icon-wrapper">
|
||||
<NcUserStatusIcon
|
||||
:status="type"
|
||||
class="user-status-online-select__icon"
|
||||
aria-hidden="true" />
|
||||
</span>
|
||||
{{ label }}
|
||||
<em class="user-status-online-select__subline">{{ subline }}</em>
|
||||
</label>
|
||||
|
|
@ -54,6 +56,8 @@ export default {
|
|||
},
|
||||
},
|
||||
|
||||
emits: ['select'],
|
||||
|
||||
computed: {
|
||||
id() {
|
||||
return `user-status-online-status-${this.type}`
|
||||
|
|
@ -90,10 +94,17 @@ export default {
|
|||
}
|
||||
}
|
||||
|
||||
&__icon-wrapper {
|
||||
height: var(--default-clickable-area);
|
||||
width: var(--default-clickable-area);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
&__icon {
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
padding: calc((var(--default-clickable-area) - 20px) / 2);
|
||||
}
|
||||
|
||||
&__input:checked + &__label {
|
||||
|
|
|
|||
|
|
@ -19,20 +19,17 @@
|
|||
{{ message }}
|
||||
</span>
|
||||
<span class="predefined-status__label--clear-at">
|
||||
{{ clearAt | clearAtFilter }}
|
||||
{{ formattedClearAt }}
|
||||
</span>
|
||||
</label>
|
||||
</li>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { clearAtFilter } from '../filters/clearAtFilter.js'
|
||||
import { clearAtFormat } from '../services/clearAtService.js'
|
||||
|
||||
export default {
|
||||
name: 'PredefinedStatus',
|
||||
filters: {
|
||||
clearAtFilter,
|
||||
},
|
||||
|
||||
props: {
|
||||
messageId: {
|
||||
|
|
@ -63,10 +60,16 @@ export default {
|
|||
},
|
||||
},
|
||||
|
||||
emits: ['select'],
|
||||
|
||||
computed: {
|
||||
id() {
|
||||
return `user-status-predefined-status-${this.messageId}`
|
||||
},
|
||||
|
||||
formattedClearAt() {
|
||||
return clearAtFormat(this.clearAt)
|
||||
},
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { t } from '@nextcloud/l10n'
|
||||
import { mapGetters, mapState } from 'vuex'
|
||||
import PredefinedStatus from './PredefinedStatus.vue'
|
||||
|
||||
|
|
@ -35,6 +36,8 @@ export default {
|
|||
PredefinedStatus,
|
||||
},
|
||||
|
||||
emits: ['selectStatus'],
|
||||
|
||||
data() {
|
||||
return {
|
||||
lastSelected: null,
|
||||
|
|
@ -68,6 +71,8 @@ export default {
|
|||
},
|
||||
|
||||
methods: {
|
||||
t,
|
||||
|
||||
/**
|
||||
* Emits an event when the user selects a status
|
||||
*
|
||||
|
|
@ -75,7 +80,7 @@ export default {
|
|||
*/
|
||||
selectStatus(status) {
|
||||
this.lastSelected = status.id
|
||||
this.$emit('select-status', status)
|
||||
this.$emit('selectStatus', status)
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,18 +16,19 @@
|
|||
{{ message }}
|
||||
</span>
|
||||
<span class="predefined-status__clear-at">
|
||||
{{ $t('user_status', 'Previously set') }}
|
||||
{{ t('user_status', 'Previously set') }}
|
||||
</span>
|
||||
|
||||
<div class="backup-status__reset-button">
|
||||
<NcButton @click="select">
|
||||
{{ $t('user_status', 'Reset status') }}
|
||||
{{ t('user_status', 'Reset status') }}
|
||||
</NcButton>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { t } from '@nextcloud/l10n'
|
||||
import NcButton from '@nextcloud/vue/components/NcButton'
|
||||
|
||||
export default {
|
||||
|
|
@ -49,7 +50,11 @@ export default {
|
|||
},
|
||||
},
|
||||
|
||||
emits: ['select'],
|
||||
|
||||
methods: {
|
||||
t,
|
||||
|
||||
/**
|
||||
* Emits an event when the user clicks the row
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -13,12 +13,12 @@
|
|||
<div class="set-status-modal">
|
||||
<!-- Status selector -->
|
||||
<h2 id="user_status-set-dialog" class="set-status-modal__header">
|
||||
{{ $t('user_status', 'Online status') }}
|
||||
{{ t('user_status', 'Online status') }}
|
||||
</h2>
|
||||
<div
|
||||
class="set-status-modal__online-status"
|
||||
role="radiogroup"
|
||||
:aria-label="$t('user_status', 'Online status')">
|
||||
:aria-label="t('user_status', 'Online status')">
|
||||
<OnlineStatusSelect
|
||||
v-for="status in statuses"
|
||||
:key="status.type"
|
||||
|
|
@ -30,7 +30,7 @@
|
|||
<!-- Status message form -->
|
||||
<form @submit.prevent="saveStatus" @reset="clearStatus">
|
||||
<h3 class="set-status-modal__header">
|
||||
{{ $t('user_status', 'Status message') }}
|
||||
{{ t('user_status', 'Status message') }}
|
||||
</h3>
|
||||
<div class="set-status-modal__custom-input">
|
||||
<CustomMessageInput
|
||||
|
|
@ -44,14 +44,14 @@
|
|||
:href="absencePageUrl"
|
||||
target="_blank"
|
||||
variant="secondary"
|
||||
:aria-label="$t('user_status', 'Set absence period')">
|
||||
{{ $t('user_status', 'Set absence period and replacement') + ' ↗' }}
|
||||
:aria-label="t('user_status', 'Set absence period')">
|
||||
{{ t('user_status', 'Set absence period and replacement') + ' ↗' }}
|
||||
</NcButton>
|
||||
</div>
|
||||
<div
|
||||
v-if="hasBackupStatus"
|
||||
class="set-status-modal__automation-hint">
|
||||
{{ $t('user_status', 'Your status was set automatically') }}
|
||||
{{ t('user_status', 'Your status was set automatically') }}
|
||||
</div>
|
||||
<PreviousStatus
|
||||
v-if="hasBackupStatus"
|
||||
|
|
@ -67,17 +67,17 @@
|
|||
:wide="true"
|
||||
variant="tertiary"
|
||||
type="reset"
|
||||
:aria-label="$t('user_status', 'Clear status message')"
|
||||
:aria-label="t('user_status', 'Clear status message')"
|
||||
:disabled="isSavingStatus">
|
||||
{{ $t('user_status', 'Clear status message') }}
|
||||
{{ t('user_status', 'Clear status message') }}
|
||||
</NcButton>
|
||||
<NcButton
|
||||
:wide="true"
|
||||
variant="primary"
|
||||
type="submit"
|
||||
:aria-label="$t('user_status', 'Set status message')"
|
||||
:aria-label="t('user_status', 'Set status message')"
|
||||
:disabled="isSavingStatus">
|
||||
{{ $t('user_status', 'Set status message') }}
|
||||
{{ t('user_status', 'Set status message') }}
|
||||
</NcButton>
|
||||
</div>
|
||||
</form>
|
||||
|
|
@ -127,6 +127,8 @@ export default {
|
|||
},
|
||||
},
|
||||
|
||||
emits: ['close'],
|
||||
|
||||
data() {
|
||||
return {
|
||||
clearAt: null,
|
||||
|
|
@ -218,6 +220,8 @@ export default {
|
|||
},
|
||||
|
||||
methods: {
|
||||
t,
|
||||
|
||||
/**
|
||||
* Closes the Set Status modal
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,52 +0,0 @@
|
|||
/**
|
||||
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
import { translate as t } from '@nextcloud/l10n'
|
||||
import moment from '@nextcloud/moment'
|
||||
import { dateFactory } from '../services/dateService.js'
|
||||
|
||||
/**
|
||||
* Formats a clearAt object to be human readable
|
||||
*
|
||||
* @param {object} clearAt The clearAt object
|
||||
* @return {string|null}
|
||||
*/
|
||||
function clearAtFilter(clearAt) {
|
||||
if (clearAt === null) {
|
||||
return t('user_status', 'Don\'t clear')
|
||||
}
|
||||
|
||||
if (clearAt.type === 'end-of') {
|
||||
switch (clearAt.time) {
|
||||
case 'day':
|
||||
return t('user_status', 'Today')
|
||||
case 'week':
|
||||
return t('user_status', 'This week')
|
||||
|
||||
default:
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
if (clearAt.type === 'period') {
|
||||
return moment.duration(clearAt.time * 1000).humanize()
|
||||
}
|
||||
|
||||
// This is not an officially supported type
|
||||
// but only used internally to show the remaining time
|
||||
// in the Set Status Modal
|
||||
if (clearAt.type === '_time') {
|
||||
const momentNow = moment(dateFactory())
|
||||
const momentClearAt = moment(clearAt.time, 'X')
|
||||
|
||||
return moment.duration(momentNow.diff(momentClearAt)).humanize()
|
||||
}
|
||||
|
||||
return null
|
||||
}
|
||||
|
||||
export {
|
||||
clearAtFilter,
|
||||
}
|
||||
|
|
@ -3,16 +3,12 @@
|
|||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
import { getCSPNonce } from '@nextcloud/auth'
|
||||
import { subscribe } from '@nextcloud/event-bus'
|
||||
import Vue from 'vue'
|
||||
import { createApp } from 'vue'
|
||||
import UserStatus from './UserStatus.vue'
|
||||
import store from './store/index.js'
|
||||
|
||||
__webpack_nonce__ = getCSPNonce()
|
||||
|
||||
Vue.prototype.t = t
|
||||
Vue.prototype.$t = t
|
||||
import './user-status-icons.css'
|
||||
|
||||
const mountPoint = document.getElementById('user_status-menu-entry')
|
||||
|
||||
|
|
@ -21,12 +17,17 @@ const mountPoint = document.getElementById('user_status-menu-entry')
|
|||
*/
|
||||
function mountMenuEntry() {
|
||||
const mountPoint = document.getElementById('user_status-menu-entry')
|
||||
// TODO: fix me after Core migration to Vue 3
|
||||
// In Vue 2 menu items were mounted in place to the menu items
|
||||
// In Vue 3 they are mounted inside the menu item
|
||||
// A workaround - replace the menu item with "display: contents" div
|
||||
const transparentMountPoint = document.createElement('div')
|
||||
transparentMountPoint.style.display = 'contents'
|
||||
mountPoint.replaceWith(transparentMountPoint)
|
||||
|
||||
new Vue({
|
||||
el: mountPoint,
|
||||
render: (h) => h(UserStatus),
|
||||
store,
|
||||
})
|
||||
createApp(UserStatus)
|
||||
.use(store)
|
||||
.mount(transparentMountPoint)
|
||||
}
|
||||
|
||||
if (mountPoint) {
|
||||
|
|
@ -42,12 +43,10 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||
}
|
||||
|
||||
OCA.Dashboard.registerStatus('status', (el) => {
|
||||
const Dashboard = Vue.extend(UserStatus)
|
||||
return new Dashboard({
|
||||
propsData: {
|
||||
inline: true,
|
||||
},
|
||||
store,
|
||||
}).$mount(el)
|
||||
createApp(UserStatus, {
|
||||
inline: true,
|
||||
})
|
||||
.use(store)
|
||||
.mount(el)
|
||||
})
|
||||
})
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
import { translate as t } from '@nextcloud/l10n'
|
||||
import { t } from '@nextcloud/l10n'
|
||||
|
||||
/**
|
||||
* Returns an array
|
||||
|
|
|
|||
|
|
@ -3,10 +3,9 @@
|
|||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
import { t } from '@nextcloud/l10n'
|
||||
import moment from '@nextcloud/moment'
|
||||
import {
|
||||
dateFactory,
|
||||
} from './dateService.js'
|
||||
import { dateFactory } from './dateService.js'
|
||||
|
||||
/**
|
||||
* Calculates the actual clearAt timestamp
|
||||
|
|
@ -42,6 +41,47 @@ function getTimestampForClearAt(clearAt) {
|
|||
return null
|
||||
}
|
||||
|
||||
/**
|
||||
* Formats a clearAt object to be human readable
|
||||
*
|
||||
* @param {object} clearAt The clearAt object
|
||||
* @return {string|null}
|
||||
*/
|
||||
function clearAtFormat(clearAt) {
|
||||
if (clearAt === null) {
|
||||
return t('user_status', 'Don\'t clear')
|
||||
}
|
||||
|
||||
if (clearAt.type === 'end-of') {
|
||||
switch (clearAt.time) {
|
||||
case 'day':
|
||||
return t('user_status', 'Today')
|
||||
case 'week':
|
||||
return t('user_status', 'This week')
|
||||
|
||||
default:
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
if (clearAt.type === 'period') {
|
||||
return moment.duration(clearAt.time * 1000).humanize()
|
||||
}
|
||||
|
||||
// This is not an officially supported type
|
||||
// but only used internally to show the remaining time
|
||||
// in the Set Status Modal
|
||||
if (clearAt.type === '_time') {
|
||||
const momentNow = moment(dateFactory())
|
||||
const momentClearAt = moment(clearAt.time, 'X')
|
||||
|
||||
return moment.duration(momentNow.diff(momentClearAt)).humanize()
|
||||
}
|
||||
|
||||
return null
|
||||
}
|
||||
|
||||
export {
|
||||
clearAtFormat,
|
||||
getTimestampForClearAt,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
import { translate as t } from '@nextcloud/l10n'
|
||||
import { t } from '@nextcloud/l10n'
|
||||
|
||||
/**
|
||||
* Returns a list of all user-definable statuses
|
||||
|
|
|
|||
|
|
@ -3,15 +3,12 @@
|
|||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
import Vue from 'vue'
|
||||
import Vuex, { Store } from 'vuex'
|
||||
import { createStore } from 'vuex'
|
||||
import predefinedStatuses from './predefinedStatuses.js'
|
||||
import userBackupStatus from './userBackupStatus.js'
|
||||
import userStatus from './userStatus.js'
|
||||
|
||||
Vue.use(Vuex)
|
||||
|
||||
export default new Store({
|
||||
export default createStore({
|
||||
modules: {
|
||||
predefinedStatuses,
|
||||
userStatus,
|
||||
|
|
|
|||
|
|
@ -5,9 +5,10 @@
|
|||
|
||||
import { fetchAllPredefinedStatuses } from '../services/predefinedStatusService.js'
|
||||
|
||||
const state = {
|
||||
// eslint-disable-next-line antfu/top-level-function
|
||||
const state = () => ({
|
||||
predefinedStatuses: [],
|
||||
}
|
||||
})
|
||||
|
||||
const mutations = {
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@ import {
|
|||
revertToBackupStatus,
|
||||
} from '../services/statusService.js'
|
||||
|
||||
const state = {
|
||||
// eslint-disable-next-line antfu/top-level-function
|
||||
const state = () => ({
|
||||
// Status (online / away / dnd / invisible / offline)
|
||||
status: null,
|
||||
// Whether the status is user-defined
|
||||
|
|
@ -26,7 +27,7 @@ const state = {
|
|||
messageIsPredefined: null,
|
||||
// The id of the message in case it's predefined
|
||||
messageId: null,
|
||||
}
|
||||
})
|
||||
|
||||
const mutations = {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -15,7 +15,8 @@ import {
|
|||
setStatus,
|
||||
} from '../services/statusService.js'
|
||||
|
||||
const state = {
|
||||
// eslint-disable-next-line antfu/top-level-function
|
||||
const state = () => ({
|
||||
// Status (online / away / dnd / invisible / offline)
|
||||
status: null,
|
||||
// Whether the status is user-defined
|
||||
|
|
@ -31,7 +32,7 @@ const state = {
|
|||
messageIsPredefined: null,
|
||||
// The id of the message in case it's predefined
|
||||
messageId: null,
|
||||
}
|
||||
})
|
||||
|
||||
const mutations = {
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
.icon-user-status {
|
||||
background-image: url("../img/app.svg");
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
../../../apps/user_status
|
||||
|
|
@ -100,9 +100,6 @@ module.exports = {
|
|||
updatenotification: path.join(__dirname, 'apps/updatenotification/src', 'updatenotification.js'),
|
||||
'update-notification-legacy': path.join(__dirname, 'apps/updatenotification/src', 'update-notification-legacy.ts'),
|
||||
},
|
||||
user_status: {
|
||||
menu: path.join(__dirname, 'apps/user_status/src', 'menu.js'),
|
||||
},
|
||||
weather_status: {
|
||||
'weather-status': path.join(__dirname, 'apps/weather_status/src', 'weather-status.js'),
|
||||
},
|
||||
|
|
|
|||
1
build/frontend/apps/user_status
Symbolic link
1
build/frontend/apps/user_status
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../../apps/user_status/
|
||||
|
|
@ -27,6 +27,9 @@ const modules = {
|
|||
user_ldap: {
|
||||
'settings-admin': resolve(import.meta.dirname, 'apps/user_ldap/src', 'settings-admin.ts'),
|
||||
},
|
||||
user_status: {
|
||||
menu: resolve(import.meta.dirname, 'apps/user_status/src', 'menu.js'),
|
||||
},
|
||||
}
|
||||
|
||||
// convert modules to modules entries prefied with the app id
|
||||
|
|
|
|||
|
|
@ -51,7 +51,6 @@ import NcAvatar from '@nextcloud/vue/components/NcAvatar'
|
|||
import NcHeaderMenu from '@nextcloud/vue/components/NcHeaderMenu'
|
||||
import AccountMenuEntry from '../components/AccountMenu/AccountMenuEntry.vue'
|
||||
import AccountMenuProfileEntry from '../components/AccountMenu/AccountMenuProfileEntry.vue'
|
||||
import { getAllStatusOptions } from '../../../apps/user_status/src/services/statusOptionsService.js'
|
||||
import logger from '../logger.js'
|
||||
|
||||
interface ISettingsNavigationEntry {
|
||||
|
|
@ -93,7 +92,27 @@ interface ISettingsNavigationEntry {
|
|||
classes: string
|
||||
}
|
||||
|
||||
const USER_DEFINABLE_STATUSES = getAllStatusOptions()
|
||||
// See: apps/user_status/src/services/statusOptionsService.js
|
||||
// TODO: either import this again from the user_status app when core is migrated to Vue 3
|
||||
// Or get rid of the forbidden import
|
||||
const USER_DEFINABLE_STATUSES = [{
|
||||
type: 'online',
|
||||
label: t('user_status', 'Online'),
|
||||
}, {
|
||||
type: 'away',
|
||||
label: t('user_status', 'Away'),
|
||||
}, {
|
||||
type: 'busy',
|
||||
label: t('user_status', 'Busy'),
|
||||
}, {
|
||||
type: 'dnd',
|
||||
label: t('user_status', 'Do not disturb'),
|
||||
subline: t('user_status', 'Mute all notifications'),
|
||||
}, {
|
||||
type: 'invisible',
|
||||
label: t('user_status', 'Invisible'),
|
||||
subline: t('user_status', 'Appear offline'),
|
||||
}]
|
||||
|
||||
export default defineComponent({
|
||||
name: 'AccountMenu',
|
||||
|
|
|
|||
2
dist/945-945.js
vendored
2
dist/945-945.js
vendored
File diff suppressed because one or more lines are too long
89
dist/945-945.js.license
vendored
89
dist/945-945.js.license
vendored
|
|
@ -1,89 +0,0 @@
|
|||
SPDX-License-Identifier: MIT
|
||||
SPDX-License-Identifier: ISC
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
SPDX-License-Identifier: (MPL-2.0 OR Apache-2.0)
|
||||
SPDX-FileCopyrightText: xiaokai <kexiaokai@gmail.com>
|
||||
SPDX-FileCopyrightText: escape-html developers
|
||||
SPDX-FileCopyrightText: Tobias Koppers @sokra
|
||||
SPDX-FileCopyrightText: Roman Shtylman <shtylman@gmail.com>
|
||||
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
|
||||
SPDX-FileCopyrightText: Guillaume Chau <guillaume.b.chau@gmail.com>
|
||||
SPDX-FileCopyrightText: GitHub Inc.
|
||||
SPDX-FileCopyrightText: Evan You
|
||||
SPDX-FileCopyrightText: Dr.-Ing. Mario Heiderich, Cure53 <mario@cure53.de> (https://cure53.de/)
|
||||
SPDX-FileCopyrightText: David Clark
|
||||
SPDX-FileCopyrightText: Christoph Wurst
|
||||
SPDX-FileCopyrightText: Borys Serebrov
|
||||
SPDX-FileCopyrightText: Anthony Fu <https://github.com/antfu>
|
||||
SPDX-FileCopyrightText: Anthony Fu <anthonyfu117@hotmail.com>
|
||||
|
||||
|
||||
This file is generated from multiple sources. Included packages:
|
||||
- @nextcloud/auth
|
||||
- version: 2.5.3
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/browser-storage
|
||||
- version: 0.5.0
|
||||
- license: GPL-3.0-or-later
|
||||
- semver
|
||||
- version: 7.7.2
|
||||
- license: ISC
|
||||
- @nextcloud/event-bus
|
||||
- version: 3.3.3
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/l10n
|
||||
- version: 3.4.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/logger
|
||||
- version: 3.0.2
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/router
|
||||
- version: 3.1.0
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/vue
|
||||
- version: 8.34.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @vueuse/core
|
||||
- version: 11.3.0
|
||||
- license: MIT
|
||||
- @vueuse/shared
|
||||
- version: 11.3.0
|
||||
- license: MIT
|
||||
- css-loader
|
||||
- version: 7.1.2
|
||||
- license: MIT
|
||||
- dompurify
|
||||
- version: 3.3.0
|
||||
- license: (MPL-2.0 OR Apache-2.0)
|
||||
- emoji-mart-vue-fast
|
||||
- version: 15.0.5
|
||||
- license: BSD-3-Clause
|
||||
- escape-html
|
||||
- version: 1.0.3
|
||||
- license: MIT
|
||||
- floating-vue
|
||||
- version: 1.0.0-beta.19
|
||||
- license: MIT
|
||||
- focus-trap
|
||||
- version: 7.6.6
|
||||
- license: MIT
|
||||
- process
|
||||
- version: 0.11.10
|
||||
- license: MIT
|
||||
- style-loader
|
||||
- version: 4.0.0
|
||||
- license: MIT
|
||||
- tabbable
|
||||
- version: 6.3.0
|
||||
- license: MIT
|
||||
- vue-color
|
||||
- version: 2.8.2
|
||||
- license: MIT
|
||||
- vue-demi
|
||||
- version: 0.14.10
|
||||
- license: MIT
|
||||
- vue
|
||||
- version: 2.7.16
|
||||
- license: MIT
|
||||
1
dist/945-945.js.map
vendored
1
dist/945-945.js.map
vendored
File diff suppressed because one or more lines are too long
1
dist/945-945.js.map.license
vendored
1
dist/945-945.js.map.license
vendored
|
|
@ -1 +0,0 @@
|
|||
945-945.js.license
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
61
dist/Plus-BGKC2YZR.chunk.mjs
vendored
Normal file
61
dist/Plus-BGKC2YZR.chunk.mjs
vendored
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -1,12 +1,10 @@
|
|||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
SPDX-License-Identifier: MIT
|
||||
SPDX-FileCopyrightText: @nextcloud/dialogs developers
|
||||
SPDX-FileCopyrightText: Anthony Fu <https://github.com/antfu>
|
||||
SPDX-FileCopyrightText: Arnout Kazemier
|
||||
SPDX-FileCopyrightText: Austin Andrews
|
||||
SPDX-FileCopyrightText: Borys Serebrov
|
||||
SPDX-FileCopyrightText: Christoph Wurst
|
||||
SPDX-FileCopyrightText: David Clark
|
||||
|
|
@ -19,16 +17,24 @@ SPDX-FileCopyrightText: Jordan Humphreys <jordan@zurb.com>
|
|||
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
|
||||
SPDX-FileCopyrightText: Nick Frasser (https://nfrasser.com)
|
||||
SPDX-FileCopyrightText: Rob Cresswell <robcresswell@pm.me>
|
||||
SPDX-FileCopyrightText: Scott Cooper <scttcper@gmail.com>
|
||||
SPDX-FileCopyrightText: Sindre Sorhus
|
||||
SPDX-FileCopyrightText: Varun A P
|
||||
SPDX-FileCopyrightText: Vuepic
|
||||
SPDX-FileCopyrightText: atomiks
|
||||
SPDX-FileCopyrightText: chenkai
|
||||
SPDX-FileCopyrightText: date-fns developers
|
||||
SPDX-FileCopyrightText: debounce developers
|
||||
SPDX-FileCopyrightText: p-queue developers
|
||||
SPDX-FileCopyrightText: ts-md5 developers
|
||||
|
||||
This file is generated from multiple sources. Included packages:
|
||||
- @ckpack/vue-color
|
||||
- version: 1.6.0
|
||||
- license: MIT
|
||||
- @ctrl/tinycolor
|
||||
- version: 3.6.1
|
||||
- license: MIT
|
||||
- @floating-ui/core
|
||||
- version: 1.7.3
|
||||
- license: MIT
|
||||
|
|
@ -41,9 +47,6 @@ This file is generated from multiple sources. Included packages:
|
|||
- @floating-ui/utils
|
||||
- version: 0.2.10
|
||||
- license: MIT
|
||||
- @mdi/svg
|
||||
- version: 7.4.47
|
||||
- license: Apache-2.0
|
||||
- @nextcloud/capabilities
|
||||
- version: 1.2.1
|
||||
- license: GPL-3.0-or-later
|
||||
1
dist/Plus-BGKC2YZR.chunk.mjs.map
vendored
Normal file
1
dist/Plus-BGKC2YZR.chunk.mjs.map
vendored
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -1,12 +1,10 @@
|
|||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
SPDX-License-Identifier: MIT
|
||||
SPDX-FileCopyrightText: @nextcloud/dialogs developers
|
||||
SPDX-FileCopyrightText: Anthony Fu <https://github.com/antfu>
|
||||
SPDX-FileCopyrightText: Arnout Kazemier
|
||||
SPDX-FileCopyrightText: Austin Andrews
|
||||
SPDX-FileCopyrightText: Borys Serebrov
|
||||
SPDX-FileCopyrightText: Christoph Wurst
|
||||
SPDX-FileCopyrightText: David Clark
|
||||
|
|
@ -19,16 +17,24 @@ SPDX-FileCopyrightText: Jordan Humphreys <jordan@zurb.com>
|
|||
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
|
||||
SPDX-FileCopyrightText: Nick Frasser (https://nfrasser.com)
|
||||
SPDX-FileCopyrightText: Rob Cresswell <robcresswell@pm.me>
|
||||
SPDX-FileCopyrightText: Scott Cooper <scttcper@gmail.com>
|
||||
SPDX-FileCopyrightText: Sindre Sorhus
|
||||
SPDX-FileCopyrightText: Varun A P
|
||||
SPDX-FileCopyrightText: Vuepic
|
||||
SPDX-FileCopyrightText: atomiks
|
||||
SPDX-FileCopyrightText: chenkai
|
||||
SPDX-FileCopyrightText: date-fns developers
|
||||
SPDX-FileCopyrightText: debounce developers
|
||||
SPDX-FileCopyrightText: p-queue developers
|
||||
SPDX-FileCopyrightText: ts-md5 developers
|
||||
|
||||
This file is generated from multiple sources. Included packages:
|
||||
- @ckpack/vue-color
|
||||
- version: 1.6.0
|
||||
- license: MIT
|
||||
- @ctrl/tinycolor
|
||||
- version: 3.6.1
|
||||
- license: MIT
|
||||
- @floating-ui/core
|
||||
- version: 1.7.3
|
||||
- license: MIT
|
||||
|
|
@ -41,9 +47,6 @@ This file is generated from multiple sources. Included packages:
|
|||
- @floating-ui/utils
|
||||
- version: 0.2.10
|
||||
- license: MIT
|
||||
- @mdi/svg
|
||||
- version: 7.4.47
|
||||
- license: Apache-2.0
|
||||
- @nextcloud/capabilities
|
||||
- version: 1.2.1
|
||||
- license: GPL-3.0-or-later
|
||||
61
dist/Plus-DJQMY9d_.chunk.mjs
vendored
61
dist/Plus-DJQMY9d_.chunk.mjs
vendored
File diff suppressed because one or more lines are too long
1
dist/Plus-DJQMY9d_.chunk.mjs.map
vendored
1
dist/Plus-DJQMY9d_.chunk.mjs.map
vendored
File diff suppressed because one or more lines are too long
2
dist/SetStatusModal-B1SjMMmn.chunk.mjs
vendored
Normal file
2
dist/SetStatusModal-B1SjMMmn.chunk.mjs
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/SetStatusModal-B1SjMMmn.chunk.mjs.map
vendored
Normal file
1
dist/SetStatusModal-B1SjMMmn.chunk.mjs.map
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
8
dist/check-Ci-sicaQ.chunk.mjs
vendored
Normal file
8
dist/check-Ci-sicaQ.chunk.mjs
vendored
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -1,8 +1,10 @@
|
|||
SPDX-License-Identifier: (MPL-2.0 OR Apache-2.0)
|
||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
SPDX-License-Identifier: ISC
|
||||
SPDX-License-Identifier: MIT
|
||||
SPDX-FileCopyrightText: Austin Andrews
|
||||
SPDX-FileCopyrightText: Christoph Wurst
|
||||
SPDX-FileCopyrightText: David Myers <hello@davidmyers.dev>
|
||||
SPDX-FileCopyrightText: Dr.-Ing. Mario Heiderich, Cure53 <mario@cure53.de> (https://cure53.de/)
|
||||
|
|
@ -10,9 +12,13 @@ SPDX-FileCopyrightText: Evan You
|
|||
SPDX-FileCopyrightText: GitHub Inc.
|
||||
SPDX-FileCopyrightText: Matt Zabriskie
|
||||
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
|
||||
SPDX-FileCopyrightText: Rob Cresswell <robcresswell@pm.me>
|
||||
SPDX-FileCopyrightText: escape-html developers
|
||||
|
||||
This file is generated from multiple sources. Included packages:
|
||||
- @mdi/svg
|
||||
- version: 7.4.47
|
||||
- license: Apache-2.0
|
||||
- @nextcloud/auth
|
||||
- version: 2.5.3
|
||||
- license: GPL-3.0-or-later
|
||||
|
|
@ -70,3 +76,6 @@ This file is generated from multiple sources. Included packages:
|
|||
- vite-plugin-node-polyfills
|
||||
- version: 0.24.0
|
||||
- license: MIT
|
||||
- vue-material-design-icons
|
||||
- version: 5.3.1
|
||||
- license: MIT
|
||||
1
dist/check-Ci-sicaQ.chunk.mjs.map
vendored
Normal file
1
dist/check-Ci-sicaQ.chunk.mjs.map
vendored
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -1,8 +1,10 @@
|
|||
SPDX-License-Identifier: (MPL-2.0 OR Apache-2.0)
|
||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
SPDX-License-Identifier: ISC
|
||||
SPDX-License-Identifier: MIT
|
||||
SPDX-FileCopyrightText: Austin Andrews
|
||||
SPDX-FileCopyrightText: Christoph Wurst
|
||||
SPDX-FileCopyrightText: David Myers <hello@davidmyers.dev>
|
||||
SPDX-FileCopyrightText: Dr.-Ing. Mario Heiderich, Cure53 <mario@cure53.de> (https://cure53.de/)
|
||||
|
|
@ -10,9 +12,13 @@ SPDX-FileCopyrightText: Evan You
|
|||
SPDX-FileCopyrightText: GitHub Inc.
|
||||
SPDX-FileCopyrightText: Matt Zabriskie
|
||||
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
|
||||
SPDX-FileCopyrightText: Rob Cresswell <robcresswell@pm.me>
|
||||
SPDX-FileCopyrightText: escape-html developers
|
||||
|
||||
This file is generated from multiple sources. Included packages:
|
||||
- @mdi/svg
|
||||
- version: 7.4.47
|
||||
- license: Apache-2.0
|
||||
- @nextcloud/auth
|
||||
- version: 2.5.3
|
||||
- license: GPL-3.0-or-later
|
||||
|
|
@ -70,3 +76,6 @@ This file is generated from multiple sources. Included packages:
|
|||
- vite-plugin-node-polyfills
|
||||
- version: 0.24.0
|
||||
- license: MIT
|
||||
- vue-material-design-icons
|
||||
- version: 5.3.1
|
||||
- license: MIT
|
||||
4
dist/core-common.js
vendored
4
dist/core-common.js
vendored
File diff suppressed because one or more lines are too long
2
dist/core-common.js.map
vendored
2
dist/core-common.js.map
vendored
File diff suppressed because one or more lines are too long
4
dist/core-main.js
vendored
4
dist/core-main.js
vendored
File diff suppressed because one or more lines are too long
2
dist/core-main.js.map
vendored
2
dist/core-main.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/dav-settings-admin-caldav.css
vendored
2
dist/dav-settings-admin-caldav.css
vendored
|
|
@ -1,3 +1,3 @@
|
|||
/* extracted by css-entry-points-plugin */
|
||||
@import './dav-dav-settings-admin-caldav-7NASuukx.chunk.css';
|
||||
@import './NcSettingsSection-BfK7eHNT-BFoYkIs3.chunk.css';
|
||||
@import './check-BFoYkIs3.chunk.css';
|
||||
2
dist/dav-settings-admin-caldav.mjs
vendored
2
dist/dav-settings-admin-caldav.mjs
vendored
|
|
@ -1,2 +1,2 @@
|
|||
import{l as i,_ as f,N as b,a as g,r as p,c as R,o as E,w as r,i as n,b as c,d as u,t as l,e as C,j as S,f as m,h as V}from"./NcSettingsSection-BfK7eHNT-Cvwtv3xC.chunk.mjs";const h=i("dav","userSyncCalendarsDocUrl","#"),k={name:"CalDavSettings",components:{NcCheckboxRadioSwitch:g,NcSettingsSection:b},setup(){return{t:m}},data(){return{userSyncCalendarsDocUrl:h,sendInvitations:i("dav","sendInvitations"),generateBirthdayCalendar:i("dav","generateBirthdayCalendar"),sendEventReminders:i("dav","sendEventReminders"),sendEventRemindersToSharedUsers:i("dav","sendEventRemindersToSharedUsers"),sendEventRemindersPush:i("dav","sendEventRemindersPush")}},computed:{hint(){return m("dav","Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}.").replace("{calendarappstoreopen}",'<a target="_blank" href="../apps/office/calendar">').replace("{calendardocopen}",`<a target="_blank" href="${h}" rel="noreferrer noopener">`).replace(/\{linkclose\}/g,"</a>")},sendInvitationsHelpText(){return m("dav","Please make sure to properly set up {emailopen}the email server{linkclose}.").replace("{emailopen}",'<a href="../admin#mail_general_settings">').replace("{linkclose}","</a>")},sendEventRemindersHelpText(){return m("dav","Please make sure to properly set up {emailopen}the email server{linkclose}.").replace("{emailopen}",'<a href="../admin#mail_general_settings">').replace("{linkclose}","</a>")}},watch:{generateBirthdayCalendar(d){const e=d?"/apps/dav/enableBirthdayCalendar":"/apps/dav/disableBirthdayCalendar";C.post(S(e))},sendInvitations(d){OCP.AppConfig.setValue("dav","sendInvitations",d?"yes":"no")},sendEventReminders(d){OCP.AppConfig.setValue("dav","sendEventReminders",d?"yes":"no")},sendEventRemindersToSharedUsers(d){OCP.AppConfig.setValue("dav","sendEventRemindersToSharedUsers",d?"yes":"no")},sendEventRemindersPush(d){OCP.AppConfig.setValue("dav","sendEventRemindersPush",d?"yes":"no")}}},T=["innerHTML"],w=["innerHTML"],_=["innerHTML"],U={class:"indented"},P={class:"indented"};function H(d,e,x,s,a,v){const o=p("NcCheckboxRadioSwitch"),y=p("NcSettingsSection");return E(),R(y,{name:s.t("dav","Calendar server"),"doc-url":a.userSyncCalendarsDocUrl},{default:r(()=>[n("p",{class:"settings-hint",innerHTML:v.hint},null,8,T),n("p",null,[c(o,{id:"caldavSendInvitations",modelValue:a.sendInvitations,"onUpdate:modelValue":e[0]||(e[0]=t=>a.sendInvitations=t),type:"switch"},{default:r(()=>[u(l(s.t("dav","Send invitations to attendees")),1)]),_:1},8,["modelValue"]),n("em",{innerHTML:v.sendInvitationsHelpText},null,8,w)]),n("p",null,[c(o,{id:"caldavGenerateBirthdayCalendar",modelValue:a.generateBirthdayCalendar,"onUpdate:modelValue":e[1]||(e[1]=t=>a.generateBirthdayCalendar=t),type:"switch",class:"checkbox"},{default:r(()=>[u(l(s.t("dav","Automatically generate a birthday calendar")),1)]),_:1},8,["modelValue"]),n("em",null,l(s.t("dav","Birthday calendars will be generated by a background job.")),1),e[5]||(e[5]=n("br",null,null,-1)),n("em",null,l(s.t("dav","Hence they will not be available immediately after enabling but will show up after some time.")),1)]),n("p",null,[c(o,{id:"caldavSendEventReminders",modelValue:a.sendEventReminders,"onUpdate:modelValue":e[2]||(e[2]=t=>a.sendEventReminders=t),type:"switch"},{default:r(()=>[u(l(s.t("dav","Send notifications for events")),1)]),_:1},8,["modelValue"]),n("em",{innerHTML:v.sendEventRemindersHelpText},null,8,_),e[6]||(e[6]=n("br",null,null,-1)),n("em",null,l(s.t("dav","Notifications are sent via background jobs, so these must occur often enough.")),1)]),n("p",U,[c(o,{id:"caldavSendEventRemindersToSharedGroupMembers",modelValue:a.sendEventRemindersToSharedUsers,"onUpdate:modelValue":e[3]||(e[3]=t=>a.sendEventRemindersToSharedUsers=t),type:"switch",disabled:!a.sendEventReminders},{default:r(()=>[u(l(s.t("dav","Send reminder notifications to calendar sharees as well")),1)]),_:1},8,["modelValue","disabled"]),n("em",null,l(s.t("dav","Reminders are always sent to organizers and attendees.")),1)]),n("p",P,[c(o,{id:"caldavSendEventRemindersPush",modelValue:a.sendEventRemindersPush,"onUpdate:modelValue":e[4]||(e[4]=t=>a.sendEventRemindersPush=t),type:"switch",disabled:!a.sendEventReminders},{default:r(()=>[u(l(s.t("dav","Enable notifications for events via push")),1)]),_:1},8,["modelValue","disabled"])])]),_:1},8,["name","doc-url"])}const I=f(k,[["render",H],["__scopeId","data-v-84465bd0"]]),B=V(I);B.mount("#settings-admin-caldav");
|
||||
import{l as i,_ as f,N as b,a as g,r as p,c as R,o as E,w as r,i as n,b as c,d as u,t as l,e as C,j as S,f as m,h as V}from"./check-Ci-sicaQ.chunk.mjs";const h=i("dav","userSyncCalendarsDocUrl","#"),k={name:"CalDavSettings",components:{NcCheckboxRadioSwitch:g,NcSettingsSection:b},setup(){return{t:m}},data(){return{userSyncCalendarsDocUrl:h,sendInvitations:i("dav","sendInvitations"),generateBirthdayCalendar:i("dav","generateBirthdayCalendar"),sendEventReminders:i("dav","sendEventReminders"),sendEventRemindersToSharedUsers:i("dav","sendEventRemindersToSharedUsers"),sendEventRemindersPush:i("dav","sendEventRemindersPush")}},computed:{hint(){return m("dav","Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}.").replace("{calendarappstoreopen}",'<a target="_blank" href="../apps/office/calendar">').replace("{calendardocopen}",`<a target="_blank" href="${h}" rel="noreferrer noopener">`).replace(/\{linkclose\}/g,"</a>")},sendInvitationsHelpText(){return m("dav","Please make sure to properly set up {emailopen}the email server{linkclose}.").replace("{emailopen}",'<a href="../admin#mail_general_settings">').replace("{linkclose}","</a>")},sendEventRemindersHelpText(){return m("dav","Please make sure to properly set up {emailopen}the email server{linkclose}.").replace("{emailopen}",'<a href="../admin#mail_general_settings">').replace("{linkclose}","</a>")}},watch:{generateBirthdayCalendar(d){const e=d?"/apps/dav/enableBirthdayCalendar":"/apps/dav/disableBirthdayCalendar";C.post(S(e))},sendInvitations(d){OCP.AppConfig.setValue("dav","sendInvitations",d?"yes":"no")},sendEventReminders(d){OCP.AppConfig.setValue("dav","sendEventReminders",d?"yes":"no")},sendEventRemindersToSharedUsers(d){OCP.AppConfig.setValue("dav","sendEventRemindersToSharedUsers",d?"yes":"no")},sendEventRemindersPush(d){OCP.AppConfig.setValue("dav","sendEventRemindersPush",d?"yes":"no")}}},T=["innerHTML"],w=["innerHTML"],_=["innerHTML"],U={class:"indented"},P={class:"indented"};function H(d,e,x,s,a,v){const o=p("NcCheckboxRadioSwitch"),y=p("NcSettingsSection");return E(),R(y,{name:s.t("dav","Calendar server"),"doc-url":a.userSyncCalendarsDocUrl},{default:r(()=>[n("p",{class:"settings-hint",innerHTML:v.hint},null,8,T),n("p",null,[c(o,{id:"caldavSendInvitations",modelValue:a.sendInvitations,"onUpdate:modelValue":e[0]||(e[0]=t=>a.sendInvitations=t),type:"switch"},{default:r(()=>[u(l(s.t("dav","Send invitations to attendees")),1)]),_:1},8,["modelValue"]),n("em",{innerHTML:v.sendInvitationsHelpText},null,8,w)]),n("p",null,[c(o,{id:"caldavGenerateBirthdayCalendar",modelValue:a.generateBirthdayCalendar,"onUpdate:modelValue":e[1]||(e[1]=t=>a.generateBirthdayCalendar=t),type:"switch",class:"checkbox"},{default:r(()=>[u(l(s.t("dav","Automatically generate a birthday calendar")),1)]),_:1},8,["modelValue"]),n("em",null,l(s.t("dav","Birthday calendars will be generated by a background job.")),1),e[5]||(e[5]=n("br",null,null,-1)),n("em",null,l(s.t("dav","Hence they will not be available immediately after enabling but will show up after some time.")),1)]),n("p",null,[c(o,{id:"caldavSendEventReminders",modelValue:a.sendEventReminders,"onUpdate:modelValue":e[2]||(e[2]=t=>a.sendEventReminders=t),type:"switch"},{default:r(()=>[u(l(s.t("dav","Send notifications for events")),1)]),_:1},8,["modelValue"]),n("em",{innerHTML:v.sendEventRemindersHelpText},null,8,_),e[6]||(e[6]=n("br",null,null,-1)),n("em",null,l(s.t("dav","Notifications are sent via background jobs, so these must occur often enough.")),1)]),n("p",U,[c(o,{id:"caldavSendEventRemindersToSharedGroupMembers",modelValue:a.sendEventRemindersToSharedUsers,"onUpdate:modelValue":e[3]||(e[3]=t=>a.sendEventRemindersToSharedUsers=t),type:"switch",disabled:!a.sendEventReminders},{default:r(()=>[u(l(s.t("dav","Send reminder notifications to calendar sharees as well")),1)]),_:1},8,["modelValue","disabled"]),n("em",null,l(s.t("dav","Reminders are always sent to organizers and attendees.")),1)]),n("p",P,[c(o,{id:"caldavSendEventRemindersPush",modelValue:a.sendEventRemindersPush,"onUpdate:modelValue":e[4]||(e[4]=t=>a.sendEventRemindersPush=t),type:"switch",disabled:!a.sendEventReminders},{default:r(()=>[u(l(s.t("dav","Enable notifications for events via push")),1)]),_:1},8,["modelValue","disabled"])])]),_:1},8,["name","doc-url"])}const I=f(k,[["render",H],["__scopeId","data-v-84465bd0"]]),B=V(I);B.mount("#settings-admin-caldav");
|
||||
//# sourceMappingURL=dav-settings-admin-caldav.mjs.map
|
||||
|
|
|
|||
2
dist/dav-settings-admin-caldav.mjs.map
vendored
2
dist/dav-settings-admin-caldav.mjs.map
vendored
File diff suppressed because one or more lines are too long
2
dist/dav-settings-admin-example-content.css
vendored
2
dist/dav-settings-admin-example-content.css
vendored
|
|
@ -1,4 +1,4 @@
|
|||
/* extracted by css-entry-points-plugin */
|
||||
@import './dav-dav-settings-admin-example-content-BWzlcBW1.chunk.css';
|
||||
@import './NcSettingsSection-BfK7eHNT-BFoYkIs3.chunk.css';
|
||||
@import './check-BFoYkIs3.chunk.css';
|
||||
@import './Plus-BhZ0LWiU.chunk.css';
|
||||
2
dist/dav-settings-admin-example-content.mjs
vendored
2
dist/dav-settings-admin-example-content.mjs
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
dist/dav-settings-personal-availability.css
vendored
2
dist/dav-settings-personal-availability.css
vendored
|
|
@ -1,4 +1,4 @@
|
|||
/* extracted by css-entry-points-plugin */
|
||||
@import './dav-dav-settings-personal-availability-CTwf8DDv.chunk.css';
|
||||
@import './NcSettingsSection-BfK7eHNT-BFoYkIs3.chunk.css';
|
||||
@import './check-BFoYkIs3.chunk.css';
|
||||
@import './Plus-BhZ0LWiU.chunk.css';
|
||||
2
dist/dav-settings-personal-availability.mjs
vendored
2
dist/dav-settings-personal-availability.mjs
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
dist/files_trashbin-init.css
vendored
2
dist/files_trashbin-init.css
vendored
|
|
@ -1,4 +1,4 @@
|
|||
/* extracted by css-entry-points-plugin */
|
||||
@import './files_trashbin-files_trashbin-init-nOmQ7X71.chunk.css';
|
||||
@import './NcSettingsSection-BfK7eHNT-BFoYkIs3.chunk.css';
|
||||
@import './check-BFoYkIs3.chunk.css';
|
||||
@import './Plus-BhZ0LWiU.chunk.css';
|
||||
2
dist/files_trashbin-init.mjs
vendored
2
dist/files_trashbin-init.mjs
vendored
File diff suppressed because one or more lines are too long
2
dist/files_trashbin-init.mjs.map
vendored
2
dist/files_trashbin-init.mjs.map
vendored
File diff suppressed because one or more lines are too long
2
dist/files_versions-sidebar-tab.css
vendored
2
dist/files_versions-sidebar-tab.css
vendored
|
|
@ -1,4 +1,4 @@
|
|||
/* extracted by css-entry-points-plugin */
|
||||
@import './files_versions-files_versions-sidebar-tab-DbvfeGRa.chunk.css';
|
||||
@import './NcSettingsSection-BfK7eHNT-BFoYkIs3.chunk.css';
|
||||
@import './check-BFoYkIs3.chunk.css';
|
||||
@import './Plus-BhZ0LWiU.chunk.css';
|
||||
11
dist/files_versions-sidebar-tab.mjs
vendored
11
dist/files_versions-sidebar-tab.mjs
vendored
File diff suppressed because one or more lines are too long
13
dist/files_versions-sidebar-tab.mjs.license
vendored
13
dist/files_versions-sidebar-tab.mjs.license
vendored
|
|
@ -1,11 +1,7 @@
|
|||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
SPDX-License-Identifier: MIT
|
||||
SPDX-FileCopyrightText: Austin Andrews
|
||||
SPDX-FileCopyrightText: Christoph Wurst
|
||||
SPDX-FileCopyrightText: Evan You
|
||||
SPDX-FileCopyrightText: Iskren Ivov Chernev <iskren.chernev@gmail.com> (https://github.com/ichernev)
|
||||
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
|
||||
SPDX-FileCopyrightText: Rob Cresswell <robcresswell@pm.me>
|
||||
|
||||
|
|
@ -13,21 +9,12 @@ This file is generated from multiple sources. Included packages:
|
|||
- @mdi/svg
|
||||
- version: 7.4.47
|
||||
- license: Apache-2.0
|
||||
- @nextcloud/moment
|
||||
- version: 1.3.5
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/vue
|
||||
- version: 9.3.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- moment
|
||||
- version: 2.30.1
|
||||
- license: MIT
|
||||
- nextcloud-ui
|
||||
- version: 1.0.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- vite
|
||||
- version: 7.2.4
|
||||
- license: MIT
|
||||
- vue-material-design-icons
|
||||
- version: 5.3.1
|
||||
- license: MIT
|
||||
|
|
|
|||
2
dist/files_versions-sidebar-tab.mjs.map
vendored
2
dist/files_versions-sidebar-tab.mjs.map
vendored
File diff suppressed because one or more lines are too long
13
dist/files_versions-sidebar-tab.mjs.map.license
vendored
13
dist/files_versions-sidebar-tab.mjs.map.license
vendored
|
|
@ -1,11 +1,7 @@
|
|||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
SPDX-License-Identifier: MIT
|
||||
SPDX-FileCopyrightText: Austin Andrews
|
||||
SPDX-FileCopyrightText: Christoph Wurst
|
||||
SPDX-FileCopyrightText: Evan You
|
||||
SPDX-FileCopyrightText: Iskren Ivov Chernev <iskren.chernev@gmail.com> (https://github.com/ichernev)
|
||||
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
|
||||
SPDX-FileCopyrightText: Rob Cresswell <robcresswell@pm.me>
|
||||
|
||||
|
|
@ -13,21 +9,12 @@ This file is generated from multiple sources. Included packages:
|
|||
- @mdi/svg
|
||||
- version: 7.4.47
|
||||
- license: Apache-2.0
|
||||
- @nextcloud/moment
|
||||
- version: 1.3.5
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/vue
|
||||
- version: 9.3.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- moment
|
||||
- version: 2.30.1
|
||||
- license: MIT
|
||||
- nextcloud-ui
|
||||
- version: 1.0.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- vite
|
||||
- version: 7.2.4
|
||||
- license: MIT
|
||||
- vue-material-design-icons
|
||||
- version: 5.3.1
|
||||
- license: MIT
|
||||
|
|
|
|||
10
dist/index-BYb1wNQz.chunk.mjs
vendored
10
dist/index-BYb1wNQz.chunk.mjs
vendored
File diff suppressed because one or more lines are too long
5
dist/index-DNpw_vcD.chunk.mjs
vendored
Normal file
5
dist/index-DNpw_vcD.chunk.mjs
vendored
Normal file
File diff suppressed because one or more lines are too long
21
dist/index-DNpw_vcD.chunk.mjs.license
vendored
Normal file
21
dist/index-DNpw_vcD.chunk.mjs.license
vendored
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
SPDX-License-Identifier: MIT
|
||||
SPDX-FileCopyrightText: Christoph Wurst
|
||||
SPDX-FileCopyrightText: Evan You
|
||||
SPDX-FileCopyrightText: Iskren Ivov Chernev <iskren.chernev@gmail.com> (https://github.com/ichernev)
|
||||
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
|
||||
|
||||
This file is generated from multiple sources. Included packages:
|
||||
- @nextcloud/moment
|
||||
- version: 1.3.5
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/vue
|
||||
- version: 9.3.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- moment
|
||||
- version: 2.30.1
|
||||
- license: MIT
|
||||
- vite
|
||||
- version: 7.2.4
|
||||
- license: MIT
|
||||
1
dist/index-DNpw_vcD.chunk.mjs.map
vendored
Normal file
1
dist/index-DNpw_vcD.chunk.mjs.map
vendored
Normal file
File diff suppressed because one or more lines are too long
21
dist/index-DNpw_vcD.chunk.mjs.map.license
vendored
Normal file
21
dist/index-DNpw_vcD.chunk.mjs.map.license
vendored
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
SPDX-License-Identifier: MIT
|
||||
SPDX-FileCopyrightText: Christoph Wurst
|
||||
SPDX-FileCopyrightText: Evan You
|
||||
SPDX-FileCopyrightText: Iskren Ivov Chernev <iskren.chernev@gmail.com> (https://github.com/ichernev)
|
||||
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
|
||||
|
||||
This file is generated from multiple sources. Included packages:
|
||||
- @nextcloud/moment
|
||||
- version: 1.3.5
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/vue
|
||||
- version: 9.3.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- moment
|
||||
- version: 2.30.1
|
||||
- license: MIT
|
||||
- vite
|
||||
- version: 7.2.4
|
||||
- license: MIT
|
||||
2
dist/index-Df02w-w7.chunk.mjs
vendored
2
dist/index-Df02w-w7.chunk.mjs
vendored
File diff suppressed because one or more lines are too long
10
dist/index-Dr9RAte9.chunk.mjs
vendored
Normal file
10
dist/index-Dr9RAte9.chunk.mjs
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
dist/index-EaAAXTXx.chunk.mjs
vendored
Normal file
2
dist/index-EaAAXTXx.chunk.mjs
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
dist/logger-BUtEjzY9.chunk.mjs
vendored
Normal file
2
dist/logger-BUtEjzY9.chunk.mjs
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
import{g as t}from"./Plus-BGKC2YZR.chunk.mjs";const o=t().setApp("dav").detectUser().build();export{o as l};
|
||||
//# sourceMappingURL=logger-BUtEjzY9.chunk.mjs.map
|
||||
7
dist/logger-BUtEjzY9.chunk.mjs.license
vendored
Normal file
7
dist/logger-BUtEjzY9.chunk.mjs.license
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
|
||||
|
||||
This file is generated from multiple sources. Included packages:
|
||||
- nextcloud-ui
|
||||
- version: 1.0.0
|
||||
- license: AGPL-3.0-or-later
|
||||
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"logger-BV_x7_LP.chunk.mjs","sources":["../build/frontend/apps/dav/src/service/logger.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport const logger = getLoggerBuilder()\n\t.setApp('dav')\n\t.detectUser()\n\t.build()\n"],"names":["logger","getLoggerBuilder"],"mappings":"8CAOO,MAAMA,EAASC,IACpB,OAAO,KAAK,EACZ,WAAA,EACA,MAAA"}
|
||||
{"version":3,"file":"logger-BUtEjzY9.chunk.mjs","sources":["../build/frontend/apps/dav/src/service/logger.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport const logger = getLoggerBuilder()\n\t.setApp('dav')\n\t.detectUser()\n\t.build()\n"],"names":["logger","getLoggerBuilder"],"mappings":"8CAOO,MAAMA,EAASC,IACpB,OAAO,KAAK,EACZ,WAAA,EACA,MAAA"}
|
||||
7
dist/logger-BUtEjzY9.chunk.mjs.map.license
vendored
Normal file
7
dist/logger-BUtEjzY9.chunk.mjs.map.license
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
|
||||
|
||||
This file is generated from multiple sources. Included packages:
|
||||
- nextcloud-ui
|
||||
- version: 1.0.0
|
||||
- license: AGPL-3.0-or-later
|
||||
2
dist/logger-BV_x7_LP.chunk.mjs
vendored
2
dist/logger-BV_x7_LP.chunk.mjs
vendored
|
|
@ -1,2 +0,0 @@
|
|||
import{g as t}from"./Plus-DJQMY9d_.chunk.mjs";const o=t().setApp("dav").detectUser().build();export{o as l};
|
||||
//# sourceMappingURL=logger-BV_x7_LP.chunk.mjs.map
|
||||
2
dist/pinia-BCiW4L1z.chunk.mjs
vendored
2
dist/pinia-BCiW4L1z.chunk.mjs
vendored
|
|
@ -1,2 +0,0 @@
|
|||
import{y as G,k as H,z as K,A as Z,B as tt,C as nt,D as E,E as C,G as L,H as et,I as st,J as ot,K as ct,L as at,n as N,M as rt}from"./NcSettingsSection-BfK7eHNT-Cvwtv3xC.chunk.mjs";let W;const I=t=>W=t,q=Symbol();function A(t){return t&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Object]"&&typeof t.toJSON!="function"}var w;(function(t){t.direct="direct",t.patchObject="patch object",t.patchFunction="patch function"})(w||(w={}));function dt(){const t=G(!0),o=t.run(()=>H({}));let e=[],n=[];const a=K({install(i){I(a),a._a=i,i.provide(q,a),i.config.globalProperties.$pinia=a,n.forEach(r=>e.push(r)),n=[]},use(i){return this._a?e.push(i):n.push(i),this},_p:e,_a:null,_e:t,_s:new Map,state:o});return a}const Q=()=>{};function B(t,o,e,n=Q){t.add(o);const a=()=>{t.delete(o)&&n()};return!e&&et()&&st(a),a}function m(t,...o){t.forEach(e=>{e(...o)})}const it=t=>t(),D=Symbol(),x=Symbol();function k(t,o){t instanceof Map&&o instanceof Map?o.forEach((e,n)=>t.set(n,e)):t instanceof Set&&o instanceof Set&&o.forEach(t.add,t);for(const e in o){if(!o.hasOwnProperty(e))continue;const n=o[e],a=t[e];A(a)&&A(n)&&t.hasOwnProperty(e)&&!E(n)&&!C(n)?t[e]=k(a,n):t[e]=n}return t}const ut=Symbol();function ft(t){return!A(t)||!Object.prototype.hasOwnProperty.call(t,ut)}const{assign:p}=Object;function lt(t){return!!(E(t)&&t.effect)}function pt(t,o,e,n){const{state:a,actions:i,getters:r}=o,j=e.state.value[t];let h;function d(){j||(e.state.value[t]=a?a():{});const y=at(e.state.value[t]);return p(y,i,Object.keys(r||{}).reduce((b,_)=>(b[_]=K(N(()=>{I(e);const v=e._s.get(t);return r[_].call(v,v)})),b),{}))}return h=R(t,d,o,e,n,!0),h}function R(t,o,e={},n,a,i){let r;const j=p({actions:{}},e),h={deep:!0};let d,y,b=new Set,_=new Set,v;const S=n.state.value[t];!i&&!S&&(n.state.value[t]={}),H({});let F;function J(s){let c;d=y=!1,typeof s=="function"?(s(n.state.value[t]),c={type:w.patchFunction,storeId:t,events:v}):(k(n.state.value[t],s),c={type:w.patchObject,payload:s,storeId:t,events:v});const u=F=Symbol();ct().then(()=>{F===u&&(d=!0)}),y=!0,m(b,c,n.state.value[t])}const T=i?function(){const{state:s}=e,c=s?s():{};this.$patch(u=>{p(u,c)})}:Q;function U(){r.stop(),b.clear(),_.clear(),n._s.delete(t)}const z=(s,c="")=>{if(D in s)return s[x]=c,s;const u=function(){I(n);const P=Array.from(arguments),$=new Set,M=new Set;function X(f){$.add(f)}function Y(f){M.add(f)}m(_,{args:P,name:u[x],store:l,after:X,onError:Y});let g;try{g=s.apply(this&&this.$id===t?this:l,P)}catch(f){throw m(M,f),f}return g instanceof Promise?g.then(f=>(m($,f),f)).catch(f=>(m(M,f),Promise.reject(f))):(m($,g),g)};return u[D]=!0,u[x]=c,u},V={_p:n,$id:t,$onAction:B.bind(null,_),$patch:J,$reset:T,$subscribe(s,c={}){const u=B(b,s,c.detached,()=>P()),P=r.run(()=>ot(()=>n.state.value[t],$=>{(c.flush==="sync"?y:d)&&s({storeId:t,type:w.direct,events:v},$)},p({},h,c)));return u},$dispose:U},l=nt(V);n._s.set(t,l);const O=(n._a&&n._a.runWithContext||it)(()=>n._e.run(()=>(r=G()).run(()=>o({action:z}))));for(const s in O){const c=O[s];if(E(c)&&!lt(c)||C(c))i||(S&&ft(c)&&(E(c)?c.value=S[s]:k(c,S[s])),n.state.value[t][s]=c);else if(typeof c=="function"){const u=z(c,s);O[s]=u,j.actions[s]=c}}return p(l,O),p(L(l),O),Object.defineProperty(l,"$state",{get:()=>n.state.value[t],set:s=>{J(c=>{p(c,s)})}}),n._p.forEach(s=>{p(l,r.run(()=>s({store:l,app:n._a,pinia:n,options:j})))}),S&&i&&e.hydrate&&e.hydrate(l.$state,S),d=!0,y=!0,l}function yt(t,o,e){let n;const a=typeof o=="function";n=a?e:o;function i(r,j){const h=tt();return r=r||(h?Z(q,null):null),r&&I(r),r=W,r._s.has(t)||(a?R(t,o,n,r):pt(t,n,r)),r._s.get(t)}return i.$id=t,i}function bt(t){const o=L(t),e={};for(const n in o){const a=o[n];a.effect?e[n]=N({get:()=>t[n],set(i){t[n]=i}}):(E(a)||C(a))&&(e[n]=rt(t,n))}return e}export{dt as c,yt as d,bt as s};
|
||||
//# sourceMappingURL=pinia-BCiW4L1z.chunk.mjs.map
|
||||
2
dist/pinia-CwPIn86H.chunk.mjs
vendored
Normal file
2
dist/pinia-CwPIn86H.chunk.mjs
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
import{y as G,k as H,z as K,A as Z,B as tt,C as nt,D as E,E as C,G as L,H as et,I as st,J as ot,K as ct,L as at,n as N,M as rt}from"./check-Ci-sicaQ.chunk.mjs";let W;const I=t=>W=t,q=Symbol();function A(t){return t&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Object]"&&typeof t.toJSON!="function"}var w;(function(t){t.direct="direct",t.patchObject="patch object",t.patchFunction="patch function"})(w||(w={}));function dt(){const t=G(!0),o=t.run(()=>H({}));let e=[],n=[];const a=K({install(i){I(a),a._a=i,i.provide(q,a),i.config.globalProperties.$pinia=a,n.forEach(r=>e.push(r)),n=[]},use(i){return this._a?e.push(i):n.push(i),this},_p:e,_a:null,_e:t,_s:new Map,state:o});return a}const Q=()=>{};function B(t,o,e,n=Q){t.add(o);const a=()=>{t.delete(o)&&n()};return!e&&et()&&st(a),a}function m(t,...o){t.forEach(e=>{e(...o)})}const it=t=>t(),D=Symbol(),x=Symbol();function k(t,o){t instanceof Map&&o instanceof Map?o.forEach((e,n)=>t.set(n,e)):t instanceof Set&&o instanceof Set&&o.forEach(t.add,t);for(const e in o){if(!o.hasOwnProperty(e))continue;const n=o[e],a=t[e];A(a)&&A(n)&&t.hasOwnProperty(e)&&!E(n)&&!C(n)?t[e]=k(a,n):t[e]=n}return t}const ut=Symbol();function ft(t){return!A(t)||!Object.prototype.hasOwnProperty.call(t,ut)}const{assign:p}=Object;function lt(t){return!!(E(t)&&t.effect)}function pt(t,o,e,n){const{state:a,actions:i,getters:r}=o,j=e.state.value[t];let h;function d(){j||(e.state.value[t]=a?a():{});const y=at(e.state.value[t]);return p(y,i,Object.keys(r||{}).reduce((b,_)=>(b[_]=K(N(()=>{I(e);const v=e._s.get(t);return r[_].call(v,v)})),b),{}))}return h=R(t,d,o,e,n,!0),h}function R(t,o,e={},n,a,i){let r;const j=p({actions:{}},e),h={deep:!0};let d,y,b=new Set,_=new Set,v;const S=n.state.value[t];!i&&!S&&(n.state.value[t]={}),H({});let F;function J(s){let c;d=y=!1,typeof s=="function"?(s(n.state.value[t]),c={type:w.patchFunction,storeId:t,events:v}):(k(n.state.value[t],s),c={type:w.patchObject,payload:s,storeId:t,events:v});const u=F=Symbol();ct().then(()=>{F===u&&(d=!0)}),y=!0,m(b,c,n.state.value[t])}const T=i?function(){const{state:s}=e,c=s?s():{};this.$patch(u=>{p(u,c)})}:Q;function U(){r.stop(),b.clear(),_.clear(),n._s.delete(t)}const z=(s,c="")=>{if(D in s)return s[x]=c,s;const u=function(){I(n);const P=Array.from(arguments),$=new Set,M=new Set;function X(f){$.add(f)}function Y(f){M.add(f)}m(_,{args:P,name:u[x],store:l,after:X,onError:Y});let g;try{g=s.apply(this&&this.$id===t?this:l,P)}catch(f){throw m(M,f),f}return g instanceof Promise?g.then(f=>(m($,f),f)).catch(f=>(m(M,f),Promise.reject(f))):(m($,g),g)};return u[D]=!0,u[x]=c,u},V={_p:n,$id:t,$onAction:B.bind(null,_),$patch:J,$reset:T,$subscribe(s,c={}){const u=B(b,s,c.detached,()=>P()),P=r.run(()=>ot(()=>n.state.value[t],$=>{(c.flush==="sync"?y:d)&&s({storeId:t,type:w.direct,events:v},$)},p({},h,c)));return u},$dispose:U},l=nt(V);n._s.set(t,l);const O=(n._a&&n._a.runWithContext||it)(()=>n._e.run(()=>(r=G()).run(()=>o({action:z}))));for(const s in O){const c=O[s];if(E(c)&&!lt(c)||C(c))i||(S&&ft(c)&&(E(c)?c.value=S[s]:k(c,S[s])),n.state.value[t][s]=c);else if(typeof c=="function"){const u=z(c,s);O[s]=u,j.actions[s]=c}}return p(l,O),p(L(l),O),Object.defineProperty(l,"$state",{get:()=>n.state.value[t],set:s=>{J(c=>{p(c,s)})}}),n._p.forEach(s=>{p(l,r.run(()=>s({store:l,app:n._a,pinia:n,options:j})))}),S&&i&&e.hydrate&&e.hydrate(l.$state,S),d=!0,y=!0,l}function yt(t,o,e){let n;const a=typeof o=="function";n=a?e:o;function i(r,j){const h=tt();return r=r||(h?Z(q,null):null),r&&I(r),r=W,r._s.has(t)||(a?R(t,o,n,r):pt(t,n,r)),r._s.get(t)}return i.$id=t,i}function bt(t){const o=L(t),e={};for(const n in o){const a=o[n];a.effect?e[n]=N({get:()=>t[n],set(i){t[n]=i}}):(E(a)||C(a))&&(e[n]=rt(t,n))}return e}export{dt as c,yt as d,bt as s};
|
||||
//# sourceMappingURL=pinia-CwPIn86H.chunk.mjs.map
|
||||
File diff suppressed because one or more lines are too long
4
dist/settings-users-3239.js
vendored
4
dist/settings-users-3239.js
vendored
File diff suppressed because one or more lines are too long
2
dist/settings-users-3239.js.map
vendored
2
dist/settings-users-3239.js.map
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue