@nextcloud/vue 3.10.2 → 4.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +114 -19
- package/README.md +9 -10
- package/dist/Components/ActionButton.js +24 -3
- package/dist/Components/ActionButton.js.map +1 -1
- package/dist/Components/ActionCaption.js +23 -0
- package/dist/Components/ActionCaption.js.map +1 -0
- package/dist/Components/ActionCheckbox.js +24 -3
- package/dist/Components/ActionCheckbox.js.map +1 -1
- package/dist/Components/ActionInput.js +124 -21
- package/dist/Components/ActionInput.js.map +1 -1
- package/dist/Components/ActionLink.js +24 -3
- package/dist/Components/ActionLink.js.map +1 -1
- package/dist/Components/ActionRadio.js +24 -3
- package/dist/Components/ActionRadio.js.map +1 -1
- package/dist/Components/ActionRouter.js +23 -2
- package/dist/Components/ActionRouter.js.map +1 -1
- package/dist/Components/ActionSeparator.js +1 -1
- package/dist/Components/ActionSeparator.js.map +1 -1
- package/dist/Components/ActionText.js +23 -2
- package/dist/Components/ActionText.js.map +1 -1
- package/dist/Components/ActionTextEditable.js +45 -3
- package/dist/Components/ActionTextEditable.js.map +1 -1
- package/dist/Components/Actions.js +25 -4
- package/dist/Components/Actions.js.map +1 -1
- package/dist/Components/AppContent.js +21 -1
- package/dist/Components/AppContent.js.map +1 -1
- package/dist/Components/AppContentDetails.js +1 -1
- package/dist/Components/AppContentDetails.js.map +1 -1
- package/dist/Components/AppContentList.js +1 -1
- package/dist/Components/AppContentList.js.map +1 -1
- package/dist/Components/AppNavigation.js +109 -2
- package/dist/Components/AppNavigation.js.map +1 -1
- package/dist/Components/AppNavigationCaption.js +66 -1
- package/dist/Components/AppNavigationCaption.js.map +1 -1
- package/dist/Components/AppNavigationCounter.js +2 -2
- package/dist/Components/AppNavigationCounter.js.map +1 -1
- package/dist/Components/AppNavigationIconBullet.js +2 -2
- package/dist/Components/AppNavigationIconBullet.js.map +1 -1
- package/dist/Components/AppNavigationItem.js +49 -7
- package/dist/Components/AppNavigationItem.js.map +1 -1
- package/dist/Components/AppNavigationNew.js +1 -1
- package/dist/Components/AppNavigationNew.js.map +1 -1
- package/dist/Components/AppNavigationNewItem.js +2 -2
- package/dist/Components/AppNavigationNewItem.js.map +1 -1
- package/dist/Components/AppNavigationSettings.js +5 -5
- package/dist/Components/AppNavigationSettings.js.map +1 -1
- package/dist/Components/AppNavigationSpacer.js +1 -1
- package/dist/Components/AppNavigationSpacer.js.map +1 -1
- package/dist/Components/AppNavigationToggle.js +109 -2
- package/dist/Components/AppNavigationToggle.js.map +1 -1
- package/dist/Components/AppSettingsDialog.js +64 -22
- package/dist/Components/AppSettingsDialog.js.map +1 -1
- package/dist/Components/AppSettingsSection.js +1 -1
- package/dist/Components/AppSettingsSection.js.map +1 -1
- package/dist/Components/AppSidebar.js +38 -17
- package/dist/Components/AppSidebar.js.map +1 -1
- package/dist/Components/AppSidebarTab.js +1 -1
- package/dist/Components/AppSidebarTab.js.map +1 -1
- package/dist/Components/Avatar.js +9 -10
- package/dist/Components/Avatar.js.map +1 -1
- package/dist/Components/Breadcrumb.js +33 -12
- package/dist/Components/Breadcrumb.js.map +1 -1
- package/dist/Components/Breadcrumbs.js +59 -17
- package/dist/Components/Breadcrumbs.js.map +1 -1
- package/dist/Components/CheckboxRadioSwitch.js +44 -0
- package/dist/Components/CheckboxRadioSwitch.js.map +1 -0
- package/dist/Components/ColorPicker.js +6 -7
- package/dist/Components/ColorPicker.js.map +1 -1
- package/dist/Components/Content.js +2 -2
- package/dist/Components/Content.js.map +1 -1
- package/dist/Components/CounterBubble.js +23 -0
- package/dist/Components/CounterBubble.js.map +1 -0
- package/dist/Components/DatetimePicker.js +341 -3
- package/dist/Components/DatetimePicker.js.map +1 -1
- package/dist/Components/EmojiPicker.js +14 -14
- package/dist/Components/EmojiPicker.js.map +1 -1
- package/dist/Components/EmptyContent.js +2 -2
- package/dist/Components/EmptyContent.js.map +1 -1
- package/dist/Components/Highlight.js +3 -3
- package/dist/Components/Highlight.js.map +1 -1
- package/dist/Components/ListItem.js +130 -0
- package/dist/Components/ListItem.js.map +1 -0
- package/dist/Components/ListItemIcon.js +20 -21
- package/dist/Components/ListItemIcon.js.map +1 -1
- package/dist/Components/Modal.js +53 -11
- package/dist/Components/Modal.js.map +1 -1
- package/dist/Components/Multiselect.js +22 -23
- package/dist/Components/Multiselect.js.map +1 -1
- package/dist/Components/MultiselectTags.js +24 -25
- package/dist/Components/MultiselectTags.js.map +1 -1
- package/dist/Components/Popover.js +2 -2
- package/dist/Components/Popover.js.map +1 -1
- package/dist/Components/PopoverMenu.js +1 -1
- package/dist/Components/PopoverMenu.js.map +1 -1
- package/dist/Components/ProgressBar.js +2 -2
- package/dist/Components/ProgressBar.js.map +1 -1
- package/dist/Components/RichContenteditable.js +2 -2
- package/dist/Components/RichContenteditable.js.map +1 -1
- package/dist/Components/SettingsInputText.js +22 -1
- package/dist/Components/SettingsInputText.js.map +1 -1
- package/dist/Components/SettingsSection.js +2 -2
- package/dist/Components/SettingsSection.js.map +1 -1
- package/dist/Components/SettingsSelectGroup.js +41 -21
- package/dist/Components/SettingsSelectGroup.js.map +1 -1
- package/dist/Components/TimezonePicker.js +340 -0
- package/dist/Components/TimezonePicker.js.map +1 -0
- package/dist/Components/UserBubble.js +35 -36
- package/dist/Components/UserBubble.js.map +1 -1
- package/dist/Directives/Focus.js +1 -1
- package/dist/Directives/Focus.js.map +1 -1
- package/dist/Directives/Linkify.js +1 -1
- package/dist/Directives/Linkify.js.map +1 -1
- package/dist/Directives/Tooltip.js +2 -2
- package/dist/Directives/Tooltip.js.map +1 -1
- package/dist/Functions/usernameToColor.js +2 -3
- package/dist/Functions/usernameToColor.js.map +1 -1
- package/dist/Mixins/excludeClickOutsideClasses.js +2 -2
- package/dist/Mixins/excludeClickOutsideClasses.js.map +1 -1
- package/dist/Mixins/isFullscreen.js +1 -1
- package/dist/Mixins/isFullscreen.js.map +1 -1
- package/dist/Mixins/isMobile.js +1 -1
- package/dist/Mixins/isMobile.js.map +1 -1
- package/dist/Mixins/richEditor.js +1 -1
- package/dist/Mixins/richEditor.js.map +1 -1
- package/dist/ncvuecomponents.js +276 -69
- package/dist/ncvuecomponents.js.map +1 -1
- package/package.json +28 -43
- package/src/assets/action.scss +0 -132
- package/src/assets/iconfont/README.md +0 -30
- package/src/assets/iconfont/arrow-left-double.svg +0 -3
- package/src/assets/iconfont/arrow-left.svg +0 -3
- package/src/assets/iconfont/arrow-right-double.svg +0 -3
- package/src/assets/iconfont/arrow-right.svg +0 -3
- package/src/assets/iconfont/breadcrumb.svg +0 -1
- package/src/assets/iconfont/checkmark.svg +0 -1
- package/src/assets/iconfont/close.svg +0 -1
- package/src/assets/iconfont/confirm.svg +0 -1
- package/src/assets/iconfont/info.svg +0 -1
- package/src/assets/iconfont/menu.svg +0 -1
- package/src/assets/iconfont/more.svg +0 -1
- package/src/assets/iconfont/pause.svg +0 -1
- package/src/assets/iconfont/play.svg +0 -1
- package/src/assets/iconfont/triangle-s.svg +0 -1
- package/src/assets/iconfont/user-status-away.svg +0 -2
- package/src/assets/iconfont/user-status-dnd.svg +0 -2
- package/src/assets/iconfont/user-status-invisible.svg +0 -2
- package/src/assets/iconfont/user-status-online.svg +0 -2
- package/src/assets/inputs.scss +0 -104
- package/src/assets/variables.scss +0 -57
- package/src/components/ActionButton/ActionButton.vue +0 -160
- package/src/components/ActionButton/index.js +0 -24
- package/src/components/ActionCheckbox/ActionCheckbox.vue +0 -220
- package/src/components/ActionCheckbox/index.js +0 -24
- package/src/components/ActionInput/ActionInput.vue +0 -418
- package/src/components/ActionInput/index.js +0 -24
- package/src/components/ActionLink/ActionLink.vue +0 -132
- package/src/components/ActionLink/index.js +0 -24
- package/src/components/ActionRadio/ActionRadio.vue +0 -219
- package/src/components/ActionRadio/index.js +0 -24
- package/src/components/ActionRouter/ActionRouter.vue +0 -100
- package/src/components/ActionRouter/index.js +0 -24
- package/src/components/ActionSeparator/ActionSeparator.vue +0 -43
- package/src/components/ActionSeparator/index.js +0 -24
- package/src/components/ActionText/ActionText.vue +0 -87
- package/src/components/ActionText/index.js +0 -24
- package/src/components/ActionTextEditable/ActionTextEditable.vue +0 -306
- package/src/components/ActionTextEditable/index.js +0 -24
- package/src/components/Actions/Actions.vue +0 -764
- package/src/components/Actions/index.js +0 -24
- package/src/components/AppContent/AppContent.vue +0 -93
- package/src/components/AppContent/index.js +0 -23
- package/src/components/AppContentDetails/AppContentDetails.vue +0 -34
- package/src/components/AppContentDetails/index.js +0 -23
- package/src/components/AppContentList/AppContentList.vue +0 -44
- package/src/components/AppContentList/index.js +0 -23
- package/src/components/AppNavigation/AppNavigation.vue +0 -190
- package/src/components/AppNavigation/index.js +0 -23
- package/src/components/AppNavigationCaption/AppNavigationCaption.vue +0 -39
- package/src/components/AppNavigationCaption/index.js +0 -3
- package/src/components/AppNavigationCounter/AppNavigationCounter.vue +0 -82
- package/src/components/AppNavigationCounter/index.js +0 -25
- package/src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue +0 -95
- package/src/components/AppNavigationIconBullet/index.js +0 -24
- package/src/components/AppNavigationItem/AppNavigationIconCollapsible.vue +0 -90
- package/src/components/AppNavigationItem/AppNavigationItem.vue +0 -629
- package/src/components/AppNavigationItem/InputConfirmCancel.vue +0 -134
- package/src/components/AppNavigationItem/index.js +0 -24
- package/src/components/AppNavigationNew/AppNavigationNew.vue +0 -76
- package/src/components/AppNavigationNew/index.js +0 -23
- package/src/components/AppNavigationNewItem/AppNavigationNewItem.vue +0 -165
- package/src/components/AppNavigationNewItem/index.js +0 -24
- package/src/components/AppNavigationSettings/AppNavigationSettings.vue +0 -105
- package/src/components/AppNavigationSettings/index.js +0 -23
- package/src/components/AppNavigationSpacer/AppNavigationSpacer.vue +0 -39
- package/src/components/AppNavigationSpacer/index.js +0 -23
- package/src/components/AppNavigationToggle/AppNavigationToggle.vue +0 -78
- package/src/components/AppNavigationToggle/index.js +0 -24
- package/src/components/AppSettingsDialog/AppSettingsDialog.vue +0 -331
- package/src/components/AppSettingsDialog/index.js +0 -25
- package/src/components/AppSettingsSection/AppSettingsSection.vue +0 -64
- package/src/components/AppSettingsSection/index.js +0 -25
- package/src/components/AppSidebar/AppSidebar.vue +0 -802
- package/src/components/AppSidebar/AppSidebarTabs.vue +0 -348
- package/src/components/AppSidebar/index.js +0 -23
- package/src/components/AppSidebarTab/AppSidebarTab.vue +0 -103
- package/src/components/AppSidebarTab/index.js +0 -23
- package/src/components/Avatar/Avatar.vue +0 -758
- package/src/components/Avatar/index.js +0 -25
- package/src/components/Breadcrumb/Breadcrumb.vue +0 -262
- package/src/components/Breadcrumb/index.js +0 -25
- package/src/components/Breadcrumbs/Breadcrumbs.vue +0 -537
- package/src/components/Breadcrumbs/index.js +0 -25
- package/src/components/ColorPicker/ColorPicker.vue +0 -380
- package/src/components/ColorPicker/index.js +0 -25
- package/src/components/Content/Content.vue +0 -77
- package/src/components/Content/index.js +0 -23
- package/src/components/DatetimePicker/DatetimePicker.vue +0 -195
- package/src/components/DatetimePicker/index.js +0 -28
- package/src/components/DatetimePicker/index.scss +0 -405
- package/src/components/EmojiPicker/EmojiPicker.vue +0 -302
- package/src/components/EmojiPicker/index.js +0 -23
- package/src/components/EmptyContent/EmptyContent.vue +0 -120
- package/src/components/EmptyContent/index.js +0 -24
- package/src/components/Highlight/Highlight.vue +0 -183
- package/src/components/Highlight/index.js +0 -25
- package/src/components/ListItemIcon/ListItemIcon.vue +0 -277
- package/src/components/ListItemIcon/index.js +0 -25
- package/src/components/Modal/Modal.vue +0 -833
- package/src/components/Modal/index.js +0 -27
- package/src/components/Multiselect/EllipsisedOption.vue +0 -141
- package/src/components/Multiselect/Multiselect.vue +0 -430
- package/src/components/Multiselect/index.js +0 -28
- package/src/components/Multiselect/index.scss +0 -290
- package/src/components/MultiselectTags/MultiselectTags.vue +0 -179
- package/src/components/MultiselectTags/api.js +0 -115
- package/src/components/MultiselectTags/index.js +0 -23
- package/src/components/Popover/Popover.vue +0 -208
- package/src/components/Popover/index.js +0 -25
- package/src/components/PopoverMenu/PopoverMenu.vue +0 -62
- package/src/components/PopoverMenu/PopoverMenuItem.vue +0 -382
- package/src/components/PopoverMenu/index.js +0 -24
- package/src/components/ProgressBar/ProgressBar.vue +0 -135
- package/src/components/ProgressBar/index.js +0 -25
- package/src/components/RichContenteditable/AutoCompleteResult.vue +0 -191
- package/src/components/RichContenteditable/MentionBubble.vue +0 -165
- package/src/components/RichContenteditable/RichContenteditable.vue +0 -517
- package/src/components/RichContenteditable/index.js +0 -25
- package/src/components/SettingsInputText/SettingsInputText.vue +0 -207
- package/src/components/SettingsInputText/index.js +0 -24
- package/src/components/SettingsSection/SettingsSection.vue +0 -151
- package/src/components/SettingsSection/index.js +0 -24
- package/src/components/SettingsSelectGroup/SettingsSelectGroup.vue +0 -149
- package/src/components/SettingsSelectGroup/index.js +0 -25
- package/src/components/UserBubble/UserBubble.vue +0 -319
- package/src/components/UserBubble/index.js +0 -25
- package/src/components/index.js +0 -110
- package/src/directives/Focus/index.js +0 -29
- package/src/directives/Linkify/index.js +0 -31
- package/src/directives/Tooltip/index.js +0 -32
- package/src/directives/Tooltip/index.scss +0 -117
- package/src/directives/index.js +0 -31
- package/src/fonts/iconfont-vue-f56d517.eot +0 -0
- package/src/fonts/iconfont-vue-f56d517.svg +0 -1
- package/src/fonts/iconfont-vue-f56d517.ttf +0 -0
- package/src/fonts/iconfont-vue-f56d517.woff +0 -0
- package/src/fonts/scss/iconfont-vue.scss +0 -115
- package/src/functions/usernameToColor/index.js +0 -25
- package/src/functions/usernameToColor/usernameToColor.js +0 -68
- package/src/index.js +0 -40
- package/src/l10n.js +0 -42
- package/src/mixins/actionGlobal.js +0 -59
- package/src/mixins/actionText.js +0 -85
- package/src/mixins/excludeClickOutsideClasses/index.js +0 -72
- package/src/mixins/index.js +0 -35
- package/src/mixins/isFullscreen/index.js +0 -46
- package/src/mixins/isMobile/index.js +0 -43
- package/src/mixins/l10n.js +0 -8
- package/src/mixins/richEditor/index.js +0 -160
- package/src/mixins/userStatus.js +0 -76
- package/src/utils/FindRanges.js +0 -47
- package/src/utils/GenColors.js +0 -79
- package/src/utils/GenRandomId.js +0 -31
- package/src/utils/GetChildren.js +0 -47
- package/src/utils/GetParent.js +0 -41
- package/src/utils/IsMobileState.js +0 -49
- package/src/utils/IsOutOfViewport.js +0 -36
- package/src/utils/ScopeComponent.js +0 -37
- package/src/utils/Timer.js +0 -61
- package/src/utils/ValidateChildren.js +0 -50
- package/src/utils/ValidateSlot.js +0 -57
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
|
|
3
|
-
*
|
|
4
|
-
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
|
5
|
-
*
|
|
6
|
-
* @license GNU AGPL version 3 or any later version
|
|
7
|
-
*
|
|
8
|
-
* This program is free software: you can redistribute it and/or modify
|
|
9
|
-
* it under the terms of the GNU Affero General Public License as
|
|
10
|
-
* published by the Free Software Foundation, either version 3 of the
|
|
11
|
-
* License, or (at your option) any later version.
|
|
12
|
-
*
|
|
13
|
-
* This program is distributed in the hope that it will be useful,
|
|
14
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16
|
-
* GNU Affero General Public License for more details.
|
|
17
|
-
*
|
|
18
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
19
|
-
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
20
|
-
*
|
|
21
|
-
*/
|
|
22
|
-
import Actions from './Actions'
|
|
23
|
-
|
|
24
|
-
export default Actions
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
- @copyright Copyright (c) 2019 Christoph Wurst <christoph@winzerhof-wurst.at>
|
|
3
|
-
-
|
|
4
|
-
- @author Christoph Wurst <christoph@winzerhof-wurst.at>
|
|
5
|
-
- @author Marco Ambrosini <marcoambrosini@pm.me>
|
|
6
|
-
- @author John Molakvoæ <skjnldsv@protonmail.com>
|
|
7
|
-
-
|
|
8
|
-
- @license GNU AGPL version 3 or any later version
|
|
9
|
-
-
|
|
10
|
-
- This program is free software: you can redistribute it and/or modify
|
|
11
|
-
- it under the terms of the GNU Affero General Public License as
|
|
12
|
-
- published by the Free Software Foundation, either version 3 of the
|
|
13
|
-
- License, or (at your option) any later version.
|
|
14
|
-
-
|
|
15
|
-
- This program is distributed in the hope that it will be useful,
|
|
16
|
-
- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
17
|
-
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
18
|
-
- GNU Affero General Public License for more details.
|
|
19
|
-
-
|
|
20
|
-
- You should have received a copy of the GNU Affero General Public License
|
|
21
|
-
- along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
22
|
-
-
|
|
23
|
-
-->
|
|
24
|
-
|
|
25
|
-
<template>
|
|
26
|
-
<main id="app-content-vue" class="app-content no-snapper">
|
|
27
|
-
<!-- @slot Provide content to the app content -->
|
|
28
|
-
<slot />
|
|
29
|
-
</main>
|
|
30
|
-
</template>
|
|
31
|
-
|
|
32
|
-
<script>
|
|
33
|
-
import Hammer from 'hammerjs'
|
|
34
|
-
import { emit } from '@nextcloud/event-bus'
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* App content container to be used for the main content of your app
|
|
38
|
-
*
|
|
39
|
-
*/
|
|
40
|
-
export default {
|
|
41
|
-
name: 'AppContent',
|
|
42
|
-
|
|
43
|
-
props: {
|
|
44
|
-
// Allows to disable the control by swipe of the app navigation open state
|
|
45
|
-
allowSwipeNavigation: {
|
|
46
|
-
type: Boolean,
|
|
47
|
-
default: true,
|
|
48
|
-
},
|
|
49
|
-
},
|
|
50
|
-
|
|
51
|
-
mounted() {
|
|
52
|
-
if (this.allowSwipeNavigation) {
|
|
53
|
-
this.mc = new Hammer(this.$el, { cssProps: { userSelect: 'text' } })
|
|
54
|
-
this.mc.on('swipeleft swiperight', this.handleSwipe)
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
beforeDestroy() {
|
|
58
|
-
this.mc.off('swipeleft swiperight', this.handleSwipe)
|
|
59
|
-
},
|
|
60
|
-
methods: {
|
|
61
|
-
// handle the swipe event
|
|
62
|
-
handleSwipe(e) {
|
|
63
|
-
const minSwipeX = 70
|
|
64
|
-
const touchzone = 40
|
|
65
|
-
const startX = e.srcEvent.pageX - e.deltaX
|
|
66
|
-
const hasEnoughDistance = Math.abs(e.deltaX) > minSwipeX
|
|
67
|
-
if (hasEnoughDistance && startX < touchzone) {
|
|
68
|
-
emit('toggle-navigation', {
|
|
69
|
-
open: true,
|
|
70
|
-
})
|
|
71
|
-
} else if (hasEnoughDistance && startX < touchzone + 300) {
|
|
72
|
-
emit('toggle-navigation', {
|
|
73
|
-
open: false,
|
|
74
|
-
})
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
},
|
|
78
|
-
}
|
|
79
|
-
</script>
|
|
80
|
-
<style lang="scss" scoped>
|
|
81
|
-
|
|
82
|
-
.app-content {
|
|
83
|
-
position: relative;
|
|
84
|
-
z-index: 1000;
|
|
85
|
-
flex-basis: 100vw;
|
|
86
|
-
min-width: 0;
|
|
87
|
-
min-height: 100%;
|
|
88
|
-
// Overriding server styles TODO: cleanup!
|
|
89
|
-
margin: 0 !important;
|
|
90
|
-
background-color: var(--color-main-background);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
</style>
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>
|
|
3
|
-
*
|
|
4
|
-
* @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>
|
|
5
|
-
*
|
|
6
|
-
* @license GNU AGPL version 3 or any later version
|
|
7
|
-
*
|
|
8
|
-
* This program is free software: you can redistribute it and/or modify
|
|
9
|
-
* it under the terms of the GNU Affero General Public License as
|
|
10
|
-
* published by the Free Software Foundation, either version 3 of the
|
|
11
|
-
* License, or (at your option) any later version.
|
|
12
|
-
*
|
|
13
|
-
* This program is distributed in the hope that it will be useful,
|
|
14
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16
|
-
* GNU Affero General Public License for more details.
|
|
17
|
-
*
|
|
18
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
19
|
-
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
20
|
-
*/
|
|
21
|
-
import AppContent from './AppContent'
|
|
22
|
-
|
|
23
|
-
export default AppContent
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
- @copyright Copyright (c) 2019 Christoph Wurst <christoph@winzerhof-wurst.at>
|
|
3
|
-
-
|
|
4
|
-
- @author Christoph Wurst <christoph@winzerhof-wurst.at>
|
|
5
|
-
-
|
|
6
|
-
- @license GNU AGPL version 3 or any later version
|
|
7
|
-
-
|
|
8
|
-
- This program is free software: you can redistribute it and/or modify
|
|
9
|
-
- it under the terms of the GNU Affero General Public License as
|
|
10
|
-
- published by the Free Software Foundation, either version 3 of the
|
|
11
|
-
- License, or (at your option) any later version.
|
|
12
|
-
-
|
|
13
|
-
- This program is distributed in the hope that it will be useful,
|
|
14
|
-
- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
-
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16
|
-
- GNU Affero General Public License for more details.
|
|
17
|
-
-
|
|
18
|
-
- You should have received a copy of the GNU Affero General Public License
|
|
19
|
-
- along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
20
|
-
-
|
|
21
|
-
-->
|
|
22
|
-
|
|
23
|
-
<template>
|
|
24
|
-
<div class="app-content-details">
|
|
25
|
-
<!-- @slot Provide content to the details view -->
|
|
26
|
-
<slot />
|
|
27
|
-
</div>
|
|
28
|
-
</template>
|
|
29
|
-
|
|
30
|
-
<script>
|
|
31
|
-
export default {
|
|
32
|
-
name: 'AppContentDetails',
|
|
33
|
-
}
|
|
34
|
-
</script>
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>
|
|
3
|
-
*
|
|
4
|
-
* @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>
|
|
5
|
-
*
|
|
6
|
-
* @license GNU AGPL version 3 or any later version
|
|
7
|
-
*
|
|
8
|
-
* This program is free software: you can redistribute it and/or modify
|
|
9
|
-
* it under the terms of the GNU Affero General Public License as
|
|
10
|
-
* published by the Free Software Foundation, either version 3 of the
|
|
11
|
-
* License, or (at your option) any later version.
|
|
12
|
-
*
|
|
13
|
-
* This program is distributed in the hope that it will be useful,
|
|
14
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16
|
-
* GNU Affero General Public License for more details.
|
|
17
|
-
*
|
|
18
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
19
|
-
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
20
|
-
*/
|
|
21
|
-
import AppContentDetails from './AppContentDetails'
|
|
22
|
-
|
|
23
|
-
export default AppContentDetails
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
- @copyright Copyright (c) 2019 Christoph Wurst <christoph@winzerhof-wurst.at>
|
|
3
|
-
-
|
|
4
|
-
- @author Christoph Wurst <christoph@winzerhof-wurst.at>
|
|
5
|
-
-
|
|
6
|
-
- @license GNU AGPL version 3 or any later version
|
|
7
|
-
-
|
|
8
|
-
- This program is free software: you can redistribute it and/or modify
|
|
9
|
-
- it under the terms of the GNU Affero General Public License as
|
|
10
|
-
- published by the Free Software Foundation, either version 3 of the
|
|
11
|
-
- License, or (at your option) any later version.
|
|
12
|
-
-
|
|
13
|
-
- This program is distributed in the hope that it will be useful,
|
|
14
|
-
- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
-
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16
|
-
- GNU Affero General Public License for more details.
|
|
17
|
-
-
|
|
18
|
-
- You should have received a copy of the GNU Affero General Public License
|
|
19
|
-
- along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
20
|
-
-
|
|
21
|
-
-->
|
|
22
|
-
|
|
23
|
-
<template>
|
|
24
|
-
<div class="app-content-list"
|
|
25
|
-
:class="{selection, showdetails: showDetails}">
|
|
26
|
-
<slot />
|
|
27
|
-
</div>
|
|
28
|
-
</template>
|
|
29
|
-
|
|
30
|
-
<script>
|
|
31
|
-
export default {
|
|
32
|
-
name: 'AppContentList',
|
|
33
|
-
props: {
|
|
34
|
-
selection: {
|
|
35
|
-
type: Boolean,
|
|
36
|
-
default: false,
|
|
37
|
-
},
|
|
38
|
-
showDetails: {
|
|
39
|
-
type: Boolean,
|
|
40
|
-
default: false,
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
}
|
|
44
|
-
</script>
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>
|
|
3
|
-
*
|
|
4
|
-
* @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>
|
|
5
|
-
*
|
|
6
|
-
* @license GNU AGPL version 3 or any later version
|
|
7
|
-
*
|
|
8
|
-
* This program is free software: you can redistribute it and/or modify
|
|
9
|
-
* it under the terms of the GNU Affero General Public License as
|
|
10
|
-
* published by the Free Software Foundation, either version 3 of the
|
|
11
|
-
* License, or (at your option) any later version.
|
|
12
|
-
*
|
|
13
|
-
* This program is distributed in the hope that it will be useful,
|
|
14
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16
|
-
* GNU Affero General Public License for more details.
|
|
17
|
-
*
|
|
18
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
19
|
-
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
20
|
-
*/
|
|
21
|
-
import AppContentList from './AppContentList'
|
|
22
|
-
|
|
23
|
-
export default AppContentList
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
- @copyright Copyright (c) 2019 Christoph Wurst <christoph@winzerhof-wurst.at>
|
|
3
|
-
-
|
|
4
|
-
- @author Christoph Wurst <christoph@winzerhof-wurst.at>
|
|
5
|
-
- @author John Molakvoæ <skjnldsv@protonmail.com>
|
|
6
|
-
- @author Marco Ambrosini <marcoambrosini@pm.me>
|
|
7
|
-
-
|
|
8
|
-
- @license GNU AGPL version 3 or any later version
|
|
9
|
-
-
|
|
10
|
-
- This program is free software: you can redistribute it and/or modify
|
|
11
|
-
- it under the terms of the GNU Affero General Public License as
|
|
12
|
-
- published by the Free Software Foundation, either version 3 of the
|
|
13
|
-
- License, or (at your option) any later version.
|
|
14
|
-
-
|
|
15
|
-
- This program is distributed in the hope that it will be useful,
|
|
16
|
-
- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
17
|
-
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
18
|
-
- GNU Affero General Public License for more details.
|
|
19
|
-
-
|
|
20
|
-
- You should have received a copy of the GNU Affero General Public License
|
|
21
|
-
- along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
22
|
-
-
|
|
23
|
-
-->
|
|
24
|
-
<docs>
|
|
25
|
-
The navigation bar can be open and closed from anywhere in the app using the
|
|
26
|
-
nextcloud event bus.
|
|
27
|
-
|
|
28
|
-
### Install the event bus package
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
npm i -S @nextcloud/event-bus
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
### Usage
|
|
35
|
-
|
|
36
|
-
#### Open the navigation
|
|
37
|
-
|
|
38
|
-
```js static
|
|
39
|
-
import { emit } from '@nextcloud/event-bus'
|
|
40
|
-
emit('toggle-navigation', {
|
|
41
|
-
open: true,
|
|
42
|
-
})
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
#### Close the navigation
|
|
46
|
-
|
|
47
|
-
```js static
|
|
48
|
-
import { emit } from '@nextcloud/event-bus'
|
|
49
|
-
emit('toggle-navigation', {
|
|
50
|
-
open: false,
|
|
51
|
-
})
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
</docs>
|
|
55
|
-
|
|
56
|
-
<template>
|
|
57
|
-
<div
|
|
58
|
-
id="app-navigation-vue"
|
|
59
|
-
class="app-navigation"
|
|
60
|
-
role="navigation"
|
|
61
|
-
:class="{'app-navigation--close':!open }">
|
|
62
|
-
<AppNavigationToggle :open="open" @update:open="toggleNavigation" />
|
|
63
|
-
<slot />
|
|
64
|
-
|
|
65
|
-
<!-- List for Navigation li-items -->
|
|
66
|
-
<ul class="app-navigation__list">
|
|
67
|
-
<slot name="list" />
|
|
68
|
-
</ul>
|
|
69
|
-
|
|
70
|
-
<!-- Footer for e.g. AppNavigationSettings -->
|
|
71
|
-
<slot name="footer" />
|
|
72
|
-
</div>
|
|
73
|
-
</template>
|
|
74
|
-
|
|
75
|
-
<script>
|
|
76
|
-
import { emit, subscribe, unsubscribe } from '@nextcloud/event-bus'
|
|
77
|
-
import AppNavigationToggle from '../AppNavigationToggle/AppNavigationToggle'
|
|
78
|
-
import isMobile from '../../mixins/isMobile'
|
|
79
|
-
|
|
80
|
-
export default {
|
|
81
|
-
name: 'AppNavigation',
|
|
82
|
-
|
|
83
|
-
components: {
|
|
84
|
-
AppNavigationToggle,
|
|
85
|
-
},
|
|
86
|
-
|
|
87
|
-
mixins: [isMobile],
|
|
88
|
-
|
|
89
|
-
data() {
|
|
90
|
-
return {
|
|
91
|
-
open: true,
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
|
|
95
|
-
watch: {
|
|
96
|
-
isMobile() {
|
|
97
|
-
this.open = !this.isMobile
|
|
98
|
-
},
|
|
99
|
-
},
|
|
100
|
-
|
|
101
|
-
mounted() {
|
|
102
|
-
subscribe('toggle-navigation', this.toggleNavigationByEventBus)
|
|
103
|
-
// Emit an event with the initial state of the navigation
|
|
104
|
-
emit('navigation-toggled', {
|
|
105
|
-
open: this.open,
|
|
106
|
-
})
|
|
107
|
-
},
|
|
108
|
-
unmounted() {
|
|
109
|
-
this.mc.off('swipeleft swiperight')
|
|
110
|
-
this.mc.destroy()
|
|
111
|
-
unsubscribe('toggle-navigation', this.toggleNavigationByEventBus)
|
|
112
|
-
},
|
|
113
|
-
|
|
114
|
-
methods: {
|
|
115
|
-
/**
|
|
116
|
-
* Toggle the navigation
|
|
117
|
-
*
|
|
118
|
-
* @param {Boolean} [state] set the state instead of inverting the current one
|
|
119
|
-
*/
|
|
120
|
-
toggleNavigation(state) {
|
|
121
|
-
this.open = (typeof state === 'undefined') ? !this.open : state
|
|
122
|
-
const bodyStyles = getComputedStyle(document.body)
|
|
123
|
-
const animationLength = parseInt(bodyStyles.getPropertyValue('--animation-quick')) || 100
|
|
124
|
-
|
|
125
|
-
setTimeout(() => {
|
|
126
|
-
emit('navigation-toggled', {
|
|
127
|
-
open: this.open,
|
|
128
|
-
})
|
|
129
|
-
// We wait for 1.5 times the animation length to give the animation time to really finish.
|
|
130
|
-
}, 1.5 * animationLength)
|
|
131
|
-
},
|
|
132
|
-
toggleNavigationByEventBus({ open }) {
|
|
133
|
-
this.toggleNavigation(open)
|
|
134
|
-
},
|
|
135
|
-
},
|
|
136
|
-
}
|
|
137
|
-
</script>
|
|
138
|
-
|
|
139
|
-
<style lang="scss" scoped>
|
|
140
|
-
|
|
141
|
-
.app-navigation {
|
|
142
|
-
will-change: transform;
|
|
143
|
-
transition: transform var(--animation-quick), margin var(--animation-quick);
|
|
144
|
-
width: $navigation-width;
|
|
145
|
-
position: sticky;
|
|
146
|
-
position: -webkit-sticky;
|
|
147
|
-
top: $header-height;
|
|
148
|
-
left: 0;
|
|
149
|
-
// Above appcontent
|
|
150
|
-
z-index: 1800;
|
|
151
|
-
height: calc(100vh - #{$header-height});
|
|
152
|
-
box-sizing: border-box;
|
|
153
|
-
background-color: var(--color-main-background);
|
|
154
|
-
-webkit-user-select: none;
|
|
155
|
-
-moz-user-select: none;
|
|
156
|
-
-ms-user-select: none;
|
|
157
|
-
user-select: none;
|
|
158
|
-
border-right: 1px solid var(--color-border);
|
|
159
|
-
display: flex;
|
|
160
|
-
flex-direction: column;
|
|
161
|
-
flex-grow: 0;
|
|
162
|
-
flex-shrink: 0;
|
|
163
|
-
|
|
164
|
-
&--close {
|
|
165
|
-
margin-left: - $navigation-width;
|
|
166
|
-
transform: translateX(-100%);
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
//list of navigation items
|
|
170
|
-
ul,
|
|
171
|
-
&__list {
|
|
172
|
-
position: relative;
|
|
173
|
-
height: 100%;
|
|
174
|
-
width: inherit;
|
|
175
|
-
overflow-x: hidden;
|
|
176
|
-
overflow-y: auto;
|
|
177
|
-
box-sizing: border-box;
|
|
178
|
-
display: flex;
|
|
179
|
-
flex-direction: column;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
// When on mobile, we make the navigation slide over the appcontent
|
|
184
|
-
@media only screen and (max-width: $breakpoint-mobile) {
|
|
185
|
-
.app-navigation:not(.app-navigation--close) {
|
|
186
|
-
margin-left: - $navigation-width;
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
</style>
|