Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
Prev Previous commit
Next Next commit
Fix breaking changes of nc/vue update
Signed-off-by: Georg Ehrke <[email protected]>
  • Loading branch information
georgehrke committed Jul 22, 2020
commit f217b11443bb1b4679b92320fdf66d5dd3d081c8
42 changes: 21 additions & 21 deletions apps/files/css/detailsView.scss
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
#app-sidebar .detailFileInfoContainer {
.app-sidebar .detailFileInfoContainer {
min-height: 50px;
padding: 15px;
}

#app-sidebar .detailFileInfoContainer > div {
.app-sidebar .detailFileInfoContainer > div {
clear: both;
}


#app-sidebar .mainFileInfoView .icon {
.app-sidebar .mainFileInfoView .icon {
display: inline-block;
background-size: 16px 16px;
}

#app-sidebar .mainFileInfoView .permalink {
.app-sidebar .mainFileInfoView .permalink {
padding: 6px 10px;
vertical-align: top;
opacity: .6;
Expand All @@ -23,22 +23,22 @@
opacity: 1;
}
}
#app-sidebar .mainFileInfoView .permalink-field>input {
.app-sidebar .mainFileInfoView .permalink-field>input {
clear: both;
width: 90%;
}

#app-sidebar .thumbnailContainer.large {
.app-sidebar .thumbnailContainer.large {
margin-left: -15px;
margin-right: -35px; /* 15 + 20 for the close button */
margin-top: -15px;
}

#app-sidebar .thumbnailContainer.large.portrait {
.app-sidebar .thumbnailContainer.large.portrait {
margin: 0; /* if we don't fit the image anyway we give it back the margin */
}

#app-sidebar .large .thumbnail {
.app-sidebar .large .thumbnail {
width:100%;
display:block;
background-repeat: no-repeat;
Expand All @@ -49,29 +49,29 @@
height: auto;
}

#app-sidebar .large .thumbnail .stretcher {
.app-sidebar .large .thumbnail .stretcher {
content: '';
display: block;
padding-bottom: 56.25%; /* sets height of .thumbnail to 9/16 of the width */
}

#app-sidebar .large.portrait .thumbnail {
.app-sidebar .large.portrait .thumbnail {
background-position: 50% top;
}

#app-sidebar .large.portrait .thumbnail {
.app-sidebar .large.portrait .thumbnail {
background-size: contain;
}

#app-sidebar .large.text {
.app-sidebar .large.text {
overflow-y: scroll;
overflow-x: hidden;
padding-top: 14px;
font-size: 80%;
margin-left: 0;
}

#app-sidebar .thumbnail {
.app-sidebar .thumbnail {
width: 100%;
min-height: 75px;
display: inline-block;
Expand All @@ -81,44 +81,44 @@
background-repeat: no-repeat;
}

#app-sidebar .ellipsis {
.app-sidebar .ellipsis {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}

#app-sidebar .fileName {
.app-sidebar .fileName {
font-size: 16px;
padding-top: 13px;
padding-bottom: 3px;
}

#app-sidebar .fileName h3 {
.app-sidebar .fileName h3 {
width: calc(100% - 42px); /* 36px is the with of the copy link icon, but this breaks so we add some more to be sure */
display: inline-block;
padding: 5px 0;
margin: -5px 0;
}

#app-sidebar .file-details {
.app-sidebar .file-details {
color: var(--color-text-maxcontrast);
}

#app-sidebar .action-favorite {
.app-sidebar .action-favorite {
vertical-align: sub;
padding: 10px;
margin: -10px;
}

#app-sidebar .action-favorite > span{
.app-sidebar .action-favorite > span{
opacity: .7 !important;
}

#app-sidebar .detailList {
.app-sidebar .detailList {
float: left;
}

#app-sidebar .close {
.app-sidebar .close {
position: absolute;
top: 0;
right: 0;
Expand Down
2 changes: 1 addition & 1 deletion apps/files/src/views/Sidebar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -454,7 +454,7 @@ export default {
}
</script>
<style lang="scss" scoped>
#app-sidebar {
.app-sidebar {
&.has-preview::v-deep {
.app-sidebar-header__figure {
background-size: cover;
Expand Down
4 changes: 2 additions & 2 deletions apps/settings/src/views/Apps.vue
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
:content-class="{ 'icon-loading': loadingList }"
:navigation-class="{ 'icon-loading': loading }">
<AppNavigation>
<ul id="appscategories">
<template #list>
<AppNavigationItem
id="app-category-your-apps"
:to="{ name: 'apps' }"
Expand Down Expand Up @@ -84,7 +84,7 @@
id="app-developer-docs"
href="settings.developerDocumentation"
:title="t('settings', 'Developer documentation') + ' ↗'" />
</ul>
</template>
</AppNavigation>
<AppContent class="app-settings-content" :class="{ 'icon-loading': loadingList }">
<AppList :category="category" :app="currentApp" :search="searchQuery" />
Expand Down
110 changes: 56 additions & 54 deletions apps/settings/src/views/Users.vue
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
:text="t('settings','New user')"
button-class="icon-add"
@click="toggleNewUserMenu" />
<ul id="usergrouplist">
<template #list>
<AppNavigationItem
id="addgroup"
ref="addGroup"
Expand Down Expand Up @@ -92,58 +92,60 @@
</ActionButton>
</template>
</AppNavigationItem>
</ul>
<AppNavigationSettings>
<div>
<p>{{ t('settings', 'Default quota:') }}</p>
<Multiselect :value="defaultQuota"
:options="quotaOptions"
tag-placeholder="create"
:placeholder="t('settings', 'Select default quota')"
label="label"
track-by="id"
:allow-empty="false"
:taggable="true"
@tag="validateQuota"
@input="setDefaultQuota" />
</div>
<div>
<input id="showLanguages"
v-model="showLanguages"
type="checkbox"
class="checkbox">
<label for="showLanguages">{{ t('settings', 'Show Languages') }}</label>
</div>
<div>
<input id="showLastLogin"
v-model="showLastLogin"
type="checkbox"
class="checkbox">
<label for="showLastLogin">{{ t('settings', 'Show last login') }}</label>
</div>
<div>
<input id="showUserBackend"
v-model="showUserBackend"
type="checkbox"
class="checkbox">
<label for="showUserBackend">{{ t('settings', 'Show user backend') }}</label>
</div>
<div>
<input id="showStoragePath"
v-model="showStoragePath"
type="checkbox"
class="checkbox">
<label for="showStoragePath">{{ t('settings', 'Show storage path') }}</label>
</div>
<div>
<input id="sendWelcomeMail"
v-model="sendWelcomeMail"
:disabled="loadingSendMail"
type="checkbox"
class="checkbox">
<label for="sendWelcomeMail">{{ t('settings', 'Send email to new user') }}</label>
</div>
</AppNavigationSettings>
</template>
<template #footer>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wait, why did we need a footer slot? I completely missed this! 🤔

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting choice, I would have put the default slot to be the list and not the Navigation new button 🤷

<AppNavigationSettings>
<div>
<p>{{ t('settings', 'Default quota:') }}</p>
<Multiselect :value="defaultQuota"
:options="quotaOptions"
tag-placeholder="create"
:placeholder="t('settings', 'Select default quota')"
label="label"
track-by="id"
:allow-empty="false"
:taggable="true"
@tag="validateQuota"
@input="setDefaultQuota" />
</div>
<div>
<input id="showLanguages"
v-model="showLanguages"
type="checkbox"
class="checkbox">
<label for="showLanguages">{{ t('settings', 'Show Languages') }}</label>
</div>
<div>
<input id="showLastLogin"
v-model="showLastLogin"
type="checkbox"
class="checkbox">
<label for="showLastLogin">{{ t('settings', 'Show last login') }}</label>
</div>
<div>
<input id="showUserBackend"
v-model="showUserBackend"
type="checkbox"
class="checkbox">
<label for="showUserBackend">{{ t('settings', 'Show user backend') }}</label>
</div>
<div>
<input id="showStoragePath"
v-model="showStoragePath"
type="checkbox"
class="checkbox">
<label for="showStoragePath">{{ t('settings', 'Show storage path') }}</label>
</div>
<div>
<input id="sendWelcomeMail"
v-model="sendWelcomeMail"
:disabled="loadingSendMail"
type="checkbox"
class="checkbox">
<label for="sendWelcomeMail">{{ t('settings', 'Send email to new user') }}</label>
</div>
</AppNavigationSettings>
</template>
</AppNavigation>
<AppContent>
<UserList #content
Expand Down Expand Up @@ -514,7 +516,7 @@ export default {

<style lang="scss" scoped>
// force hiding the editing action for the add group entry
#usergrouplist #addgroup::v-deep .app-navigation-entry__utils {
.app-navigation__list #addgroup::v-deep .app-navigation-entry__utils {
display: none;
}
</style>
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class AppNavigationContext implements Context, ActorAwareInterface {
* @return Locator
*/
public static function appNavigation() {
return Locator::forThe()->id("app-navigation")->
return Locator::forThe()->xpath("//*[@id=\"app-navigation\" or contains(@class, 'app-navigation')]")->
describedAs("App navigation");
}

Expand Down
10 changes: 5 additions & 5 deletions tests/acceptance/features/bootstrap/AppsManagementContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -59,31 +59,31 @@ public static function disableButtonForApp($app) {
* @return Locator
*/
public static function bundleButton($bundle) {
return Locator::forThe()->xpath("//main[@id='app-content']//div[@class='apps-header']/h2[normalize-space() = '$bundle']/input")->
return Locator::forThe()->xpath("//main[@id='app-content' or contains(@class, 'app-content')]//div[@class='apps-header']/h2[normalize-space() = '$bundle']/input")->
describedAs("Button to enable / disable bundles");
}

/**
* @return Locator
*/
public static function rowForApp($app) {
return Locator::forThe()->xpath("//main[@id='app-content']//div[@class='app-name'][normalize-space() = '$app']/..")->
return Locator::forThe()->xpath("//main[@id='app-content' or contains(@class, 'app-content')]//div[@class='app-name'][normalize-space() = '$app']/..")->
describedAs("Row for app $app in Apps Management");
}

/**
* @return Locator
*/
public static function emptyAppList() {
return Locator::forThe()->xpath("//main[@id='app-content']//div[@id='apps-list-empty']")->
return Locator::forThe()->xpath("//main[@id='app-content' or contains(@class, 'app-content')]//div[@id='apps-list-empty']")->
describedAs("Empty apps list view");
}

/**
* @return Locator
*/
public static function appEntries() {
return Locator::forThe()->xpath("//main[@id='app-content']//div[@class='section']")->
return Locator::forThe()->xpath("//main[@id='app-content' or contains(@class, 'app-content')]//div[@class='section']")->
describedAs("Entries in apps list");
}

Expand All @@ -109,7 +109,7 @@ public static function enabledAppEntries() {
* @return Locator
*/
public static function sidebar() {
return Locator::forThe()->id("app-sidebar")->
return Locator::forThe()->xpath("//*[@id=\"app-sidebar\" or contains(@class, 'app-sidebar')]")->
describedAs("Sidebar in apps management");
}

Expand Down
2 changes: 1 addition & 1 deletion tests/acceptance/features/bootstrap/FilesAppContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ public static function currentSectionMainView() {
* @return Locator
*/
public static function detailsView() {
return Locator::forThe()->id("app-sidebar")->
return Locator::forThe()->xpath("//*[@id=\"app-sidebar\" or contains(@class, 'app-sidebar')]")->
describedAs("Details view in Files app");
}

Expand Down
4 changes: 2 additions & 2 deletions tests/acceptance/features/bootstrap/SettingsMenuContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ private static function menuItemFor($itemText) {
* @return Locator
*/
private static function settingsPanelFor($itemText) {
return Locator::forThe()->xpath("//div[@id = 'app-navigation']//ul//li[@class = 'app-navigation-caption' and normalize-space() = '$itemText']")->
return Locator::forThe()->xpath("//div[@id = 'app-navigation' or contains(@class, 'app-navigation')]//ul//li[@class = 'app-navigation-caption' and normalize-space() = '$itemText']")->
describedAs($itemText . " item in Settings panel");
}

Expand All @@ -97,7 +97,7 @@ private static function settingsPanelFor($itemText) {
* @return Locator
*/
private static function settingsPanelEntryFor($itemText) {
return Locator::forThe()->xpath("//div[@id = 'app-navigation']//ul//li[normalize-space() = '$itemText']")->
return Locator::forThe()->xpath("//div[@id = 'app-navigation' or contains(@class, 'app-navigation')]//ul//li[normalize-space() = '$itemText']")->
describedAs($itemText . " entry in Settings panel");
}

Expand Down
2 changes: 1 addition & 1 deletion tests/acceptance/features/bootstrap/ToastContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public static function toastMessage($message) {
* @return Locator
*/
private static function toastContainer() {
return Locator::forThe()->id("content")->
return Locator::forThe()->xpath("//*[@id=\"content\" or contains(@class, 'content')]")->
describedAs("Toast container");
}

Expand Down