Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix invite guest for new sharing flow #40389

Merged
merged 2 commits into from
Sep 14, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions apps/files_sharing/src/components/SharingEntry.vue
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,6 @@ export default {
<style lang="scss" scoped>
.sharing-entry {
display: flex;
justify-content: space-between;
align-items: center;
height: 44px;
&__summary {
Expand All @@ -159,13 +158,11 @@ export default {
display: flex;
flex-direction: column;
justify-content: center;
width: 75%;
min-width: 75%;
width: 80%;
min-width: 80%;

&__desc {
display: inline-block;
flex-direction: column;
justify-content: space-between;
padding-bottom: 0;
line-height: 1.2em;
white-space: nowrap;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ export default {
flex-direction: column;
justify-content: space-between;
padding: 8px;
padding-left: 10px;
line-height: 1.2em;
p {
color: var(--color-text-maxcontrast);
Expand Down
94 changes: 52 additions & 42 deletions apps/files_sharing/src/components/SharingEntryLink.vue
Original file line number Diff line number Diff line change
Expand Up @@ -21,35 +21,36 @@
-->

<template>
<li :class="{'sharing-entry--share': share}" class="sharing-entry sharing-entry__link">
<li :class="{ 'sharing-entry--share': share }" class="sharing-entry sharing-entry__link">
<NcAvatar :is-no-user="true"
:icon-class="isEmailShareType ? 'avatar-link-share icon-mail-white' : 'avatar-link-share icon-public-white'"
class="sharing-entry__avatar" />
<div class="sharing-entry__desc" @click.prevent="toggleQuickShareSelect">
<span class="sharing-entry__title" :title="title">
{{ title }}
</span>
<p v-if="subtitle">
{{ subtitle }}
</p>
<QuickShareSelect v-if="share && share.permissions !== undefined"
:share="share"
:file-info="fileInfo"
:toggle="showDropdown"
@open-sharing-details="openShareDetailsForCustomSettings(share)" />
</div>

<!-- clipboard -->
<NcActions v-if="share && !isEmailShareType && share.token"
ref="copyButton"
class="sharing-entry__copy">
<NcActionLink :href="shareLink"
target="_blank"
:title="copyLinkTooltip"
:aria-label="copyLinkTooltip"
:icon="copied && copySuccess ? 'icon-checkmark-color' : 'icon-clippy'"
@click.stop.prevent="copyLink" />
</NcActions>
<div class="sharing-entry__summary">
<div class="sharing-entry__desc" @click.prevent="toggleQuickShareSelect">
<span class="sharing-entry__title" :title="title">
{{ title }}
</span>
<p v-if="subtitle">
{{ subtitle }}
</p>
<QuickShareSelect v-if="share && share.permissions !== undefined"
:share="share"
:file-info="fileInfo"
:toggle="showDropdown"
@open-sharing-details="openShareDetailsForCustomSettings(share)" />
</div>

<!-- clipboard -->
<NcActions v-if="share && !isEmailShareType && share.token" ref="copyButton" class="sharing-entry__copy">
<NcActionLink :href="shareLink"
target="_blank"
:title="copyLinkTooltip"
:aria-label="copyLinkTooltip"
:icon="copied && copySuccess ? 'icon-checkmark-color' : 'icon-clippy'"
@click.stop.prevent="copyLink" />
</NcActions>
</div>

<!-- pending actions -->
<NcActions v-if="!pending && (pendingPassword || pendingEnforcedPassword || pendingExpirationDate)"
Expand All @@ -59,9 +60,7 @@
:open.sync="open"
@close="onNewLinkShare">
<!-- pending data menu -->
<NcActionText v-if="errors.pending"
icon="icon-error"
:class="{ error: errors.pending}">
<NcActionText v-if="errors.pending" icon="icon-error" :class="{ error: errors.pending }">
{{ errors.pending }}
</NcActionText>
<NcActionText v-else icon="icon-info">
Expand Down Expand Up @@ -128,8 +127,7 @@
@close="onMenuClose">
<template v-if="share">
<template v-if="share.canEdit && canReshare">
<NcActionButton :disabled="saving"
@click.prevent="openSharingDetails">
<NcActionButton :disabled="saving" @click.prevent="openSharingDetails">
<template #icon>
<Tune />
</template>
Expand All @@ -148,7 +146,7 @@
:share="share" />

<!-- external legacy sharing via url (social...) -->
<NcActionLink v-for="({icon, url, name}, index) in externalLegacyLinkActions"
<NcActionLink v-for="({ icon, url, name }, index) in externalLegacyLinkActions"
:key="index"
:href="url(shareLink)"
:icon="icon"
Expand Down Expand Up @@ -568,7 +566,7 @@ export default {
this.pending = false
component.open = true

// Nothing is enforced, creating share directly
// Nothing is enforced, creating share directly
} else {
const share = new Share(shareDefaults)
await this.pushNewLinkShare(share)
Expand Down Expand Up @@ -774,21 +772,33 @@ export default {
align-items: center;
min-height: 44px;

&__summary {
padding: 8px;
padding-left: 10px;
display: flex;
justify-content: space-between;
width: 80%;
min-width: 80%;

&__desc {
display: flex;
flex-direction: column;
justify-content: space-between;
padding: 8px;
line-height: 1.2em;

p {
color: var(--color-text-maxcontrast);
}
}
&__title {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;

&__title {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
}

&__copy {

}
}

&:not(.sharing-entry--share) &__actions {
Expand Down Expand Up @@ -816,9 +826,9 @@ export default {
// put menus to the left
// but only the first one
.action-item {
margin-left: auto;
~ .action-item,
~ .sharing-entry__loading {

~.action-item,
~.sharing-entry__loading {
margin-left: 0;
}
}
Expand Down
1 change: 1 addition & 0 deletions apps/files_sharing/src/components/SharingEntrySimple.vue
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ export default {
min-height: 44px;
&__desc {
padding: 8px;
padding-left: 10px;
line-height: 1.2em;
position: relative;
flex: 1 1;
Expand Down
25 changes: 21 additions & 4 deletions apps/files_sharing/src/mixins/ShareDetails.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,29 @@ import Share from '../models/Share.js'

export default {
methods: {
openSharingDetails(share) {
const shareRequestObject = {
async openSharingDetails(shareRequestObject) {
let share = {}
// handle externalResults from OCA.Sharing.ShareSearch
// TODO : Better name/interface for handler required
// For example `externalAppCreateShareHook` with proper documentation
if (shareRequestObject.handler) {
if (this.suggestions) {
shareRequestObject.suggestions = this.suggestions
shareRequestObject.fileInfo = this.fileInfo
shareRequestObject.query = this.query
}
share = await shareRequestObject.handler(shareRequestObject)
share = new Share(share)
} else {
share = this.mapShareRequestToShareObject(shareRequestObject)
}

const shareDetails = {
fileInfo: this.fileInfo,
share: this.mapShareRequestToShareObject(share),
share,
}
this.$emit('open-sharing-details', shareRequestObject)

this.$emit('open-sharing-details', shareDetails)
},
openShareDetailsForCustomSettings(share) {
share.setCustomPermissions = true
Expand Down
10 changes: 1 addition & 9 deletions apps/files_sharing/src/views/SharingDetailsTab.vue
Original file line number Diff line number Diff line change
Expand Up @@ -777,6 +777,7 @@ export default {
shareWith: this.share.shareWith,
attributes: this.share.attributes,
note: this.share.note,
fileInfo: this.fileInfo,
}

if (this.hasExpirationDate) {
Expand All @@ -803,15 +804,6 @@ export default {
* @param {object} fileInfo file data
*/
async addShare(share, fileInfo) {

// handle externalResults from OCA.Sharing.ShareSearch
if (share.handler) {
const shareFromHandler = await share.handler(this)
this.$emit('add:share', new Share(shareFromHandler))
return true
}

// this.loading = true // Are we adding loaders the new share flow?
console.debug('Adding a new share from the input for', share)
try {
const path = (fileInfo.path + '/' + fileInfo.name).replace('//', '/')
Expand Down
3 changes: 0 additions & 3 deletions dist/9193-9193.js

This file was deleted.

1 change: 0 additions & 1 deletion dist/9193-9193.js.map

This file was deleted.

3 changes: 3 additions & 0 deletions dist/9794-9794.js

Large diffs are not rendered by default.

File renamed without changes.
1 change: 1 addition & 0 deletions dist/9794-9794.js.map

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dist/files_sharing-files_sharing_tab.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/files_sharing-files_sharing_tab.js.map

Large diffs are not rendered by default.

Loading