Fix breaking changes of nc/vue update

Signed-off-by: Georg Ehrke <developer@georgehrke.com>
This commit is contained in:
Georg Ehrke 2020-07-16 14:39:26 +02:00
parent b73aedb81e
commit f217b11443
No known key found for this signature in database
GPG Key ID: 9D98FD9380A1CB43
9 changed files with 90 additions and 88 deletions

View File

@ -1,19 +1,19 @@
#app-sidebar .detailFileInfoContainer { .app-sidebar .detailFileInfoContainer {
min-height: 50px; min-height: 50px;
padding: 15px; padding: 15px;
} }
#app-sidebar .detailFileInfoContainer > div { .app-sidebar .detailFileInfoContainer > div {
clear: both; clear: both;
} }
#app-sidebar .mainFileInfoView .icon { .app-sidebar .mainFileInfoView .icon {
display: inline-block; display: inline-block;
background-size: 16px 16px; background-size: 16px 16px;
} }
#app-sidebar .mainFileInfoView .permalink { .app-sidebar .mainFileInfoView .permalink {
padding: 6px 10px; padding: 6px 10px;
vertical-align: top; vertical-align: top;
opacity: .6; opacity: .6;
@ -23,22 +23,22 @@
opacity: 1; opacity: 1;
} }
} }
#app-sidebar .mainFileInfoView .permalink-field>input { .app-sidebar .mainFileInfoView .permalink-field>input {
clear: both; clear: both;
width: 90%; width: 90%;
} }
#app-sidebar .thumbnailContainer.large { .app-sidebar .thumbnailContainer.large {
margin-left: -15px; margin-left: -15px;
margin-right: -35px; /* 15 + 20 for the close button */ margin-right: -35px; /* 15 + 20 for the close button */
margin-top: -15px; 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 */ 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%; width:100%;
display:block; display:block;
background-repeat: no-repeat; background-repeat: no-repeat;
@ -49,21 +49,21 @@
height: auto; height: auto;
} }
#app-sidebar .large .thumbnail .stretcher { .app-sidebar .large .thumbnail .stretcher {
content: ''; content: '';
display: block; display: block;
padding-bottom: 56.25%; /* sets height of .thumbnail to 9/16 of the width */ 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; background-position: 50% top;
} }
#app-sidebar .large.portrait .thumbnail { .app-sidebar .large.portrait .thumbnail {
background-size: contain; background-size: contain;
} }
#app-sidebar .large.text { .app-sidebar .large.text {
overflow-y: scroll; overflow-y: scroll;
overflow-x: hidden; overflow-x: hidden;
padding-top: 14px; padding-top: 14px;
@ -71,7 +71,7 @@
margin-left: 0; margin-left: 0;
} }
#app-sidebar .thumbnail { .app-sidebar .thumbnail {
width: 100%; width: 100%;
min-height: 75px; min-height: 75px;
display: inline-block; display: inline-block;
@ -81,44 +81,44 @@
background-repeat: no-repeat; background-repeat: no-repeat;
} }
#app-sidebar .ellipsis { .app-sidebar .ellipsis {
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
overflow: hidden; overflow: hidden;
} }
#app-sidebar .fileName { .app-sidebar .fileName {
font-size: 16px; font-size: 16px;
padding-top: 13px; padding-top: 13px;
padding-bottom: 3px; 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 */ 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; display: inline-block;
padding: 5px 0; padding: 5px 0;
margin: -5px 0; margin: -5px 0;
} }
#app-sidebar .file-details { .app-sidebar .file-details {
color: var(--color-text-maxcontrast); color: var(--color-text-maxcontrast);
} }
#app-sidebar .action-favorite { .app-sidebar .action-favorite {
vertical-align: sub; vertical-align: sub;
padding: 10px; padding: 10px;
margin: -10px; margin: -10px;
} }
#app-sidebar .action-favorite > span{ .app-sidebar .action-favorite > span{
opacity: .7 !important; opacity: .7 !important;
} }
#app-sidebar .detailList { .app-sidebar .detailList {
float: left; float: left;
} }
#app-sidebar .close { .app-sidebar .close {
position: absolute; position: absolute;
top: 0; top: 0;
right: 0; right: 0;

View File

@ -454,7 +454,7 @@ export default {
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
#app-sidebar { .app-sidebar {
&.has-preview::v-deep { &.has-preview::v-deep {
.app-sidebar-header__figure { .app-sidebar-header__figure {
background-size: cover; background-size: cover;

View File

@ -26,7 +26,7 @@
:content-class="{ 'icon-loading': loadingList }" :content-class="{ 'icon-loading': loadingList }"
:navigation-class="{ 'icon-loading': loading }"> :navigation-class="{ 'icon-loading': loading }">
<AppNavigation> <AppNavigation>
<ul id="appscategories"> <template #list>
<AppNavigationItem <AppNavigationItem
id="app-category-your-apps" id="app-category-your-apps"
:to="{ name: 'apps' }" :to="{ name: 'apps' }"
@ -84,7 +84,7 @@
id="app-developer-docs" id="app-developer-docs"
href="settings.developerDocumentation" href="settings.developerDocumentation"
:title="t('settings', 'Developer documentation') + ' ↗'" /> :title="t('settings', 'Developer documentation') + ' ↗'" />
</ul> </template>
</AppNavigation> </AppNavigation>
<AppContent class="app-settings-content" :class="{ 'icon-loading': loadingList }"> <AppContent class="app-settings-content" :class="{ 'icon-loading': loadingList }">
<AppList :category="category" :app="currentApp" :search="searchQuery" /> <AppList :category="category" :app="currentApp" :search="searchQuery" />

View File

@ -27,7 +27,7 @@
:text="t('settings','New user')" :text="t('settings','New user')"
button-class="icon-add" button-class="icon-add"
@click="toggleNewUserMenu" /> @click="toggleNewUserMenu" />
<ul id="usergrouplist"> <template #list>
<AppNavigationItem <AppNavigationItem
id="addgroup" id="addgroup"
ref="addGroup" ref="addGroup"
@ -92,58 +92,60 @@
</ActionButton> </ActionButton>
</template> </template>
</AppNavigationItem> </AppNavigationItem>
</ul> </template>
<AppNavigationSettings> <template #footer>
<div> <AppNavigationSettings>
<p>{{ t('settings', 'Default quota:') }}</p> <div>
<Multiselect :value="defaultQuota" <p>{{ t('settings', 'Default quota:') }}</p>
:options="quotaOptions" <Multiselect :value="defaultQuota"
tag-placeholder="create" :options="quotaOptions"
:placeholder="t('settings', 'Select default quota')" tag-placeholder="create"
label="label" :placeholder="t('settings', 'Select default quota')"
track-by="id" label="label"
:allow-empty="false" track-by="id"
:taggable="true" :allow-empty="false"
@tag="validateQuota" :taggable="true"
@input="setDefaultQuota" /> @tag="validateQuota"
</div> @input="setDefaultQuota" />
<div> </div>
<input id="showLanguages" <div>
v-model="showLanguages" <input id="showLanguages"
type="checkbox" v-model="showLanguages"
class="checkbox"> type="checkbox"
<label for="showLanguages">{{ t('settings', 'Show Languages') }}</label> class="checkbox">
</div> <label for="showLanguages">{{ t('settings', 'Show Languages') }}</label>
<div> </div>
<input id="showLastLogin" <div>
v-model="showLastLogin" <input id="showLastLogin"
type="checkbox" v-model="showLastLogin"
class="checkbox"> type="checkbox"
<label for="showLastLogin">{{ t('settings', 'Show last login') }}</label> class="checkbox">
</div> <label for="showLastLogin">{{ t('settings', 'Show last login') }}</label>
<div> </div>
<input id="showUserBackend" <div>
v-model="showUserBackend" <input id="showUserBackend"
type="checkbox" v-model="showUserBackend"
class="checkbox"> type="checkbox"
<label for="showUserBackend">{{ t('settings', 'Show user backend') }}</label> class="checkbox">
</div> <label for="showUserBackend">{{ t('settings', 'Show user backend') }}</label>
<div> </div>
<input id="showStoragePath" <div>
v-model="showStoragePath" <input id="showStoragePath"
type="checkbox" v-model="showStoragePath"
class="checkbox"> type="checkbox"
<label for="showStoragePath">{{ t('settings', 'Show storage path') }}</label> class="checkbox">
</div> <label for="showStoragePath">{{ t('settings', 'Show storage path') }}</label>
<div> </div>
<input id="sendWelcomeMail" <div>
v-model="sendWelcomeMail" <input id="sendWelcomeMail"
:disabled="loadingSendMail" v-model="sendWelcomeMail"
type="checkbox" :disabled="loadingSendMail"
class="checkbox"> type="checkbox"
<label for="sendWelcomeMail">{{ t('settings', 'Send email to new user') }}</label> class="checkbox">
</div> <label for="sendWelcomeMail">{{ t('settings', 'Send email to new user') }}</label>
</AppNavigationSettings> </div>
</AppNavigationSettings>
</template>
</AppNavigation> </AppNavigation>
<AppContent> <AppContent>
<UserList #content <UserList #content
@ -514,7 +516,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
// force hiding the editing action for the add group entry // 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; display: none;
} }
</style> </style>

View File

@ -31,7 +31,7 @@ class AppNavigationContext implements Context, ActorAwareInterface {
* @return Locator * @return Locator
*/ */
public static function appNavigation() { 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"); describedAs("App navigation");
} }

View File

@ -59,7 +59,7 @@ class AppsManagementContext implements Context, ActorAwareInterface {
* @return Locator * @return Locator
*/ */
public static function bundleButton($bundle) { 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"); describedAs("Button to enable / disable bundles");
} }
@ -67,7 +67,7 @@ class AppsManagementContext implements Context, ActorAwareInterface {
* @return Locator * @return Locator
*/ */
public static function rowForApp($app) { 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"); describedAs("Row for app $app in Apps Management");
} }
@ -75,7 +75,7 @@ class AppsManagementContext implements Context, ActorAwareInterface {
* @return Locator * @return Locator
*/ */
public static function emptyAppList() { 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"); describedAs("Empty apps list view");
} }
@ -83,7 +83,7 @@ class AppsManagementContext implements Context, ActorAwareInterface {
* @return Locator * @return Locator
*/ */
public static function appEntries() { 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"); describedAs("Entries in apps list");
} }
@ -109,7 +109,7 @@ class AppsManagementContext implements Context, ActorAwareInterface {
* @return Locator * @return Locator
*/ */
public static function sidebar() { 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"); describedAs("Sidebar in apps management");
} }

View File

@ -80,7 +80,7 @@ class FilesAppContext implements Context, ActorAwareInterface {
* @return Locator * @return Locator
*/ */
public static function detailsView() { 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"); describedAs("Details view in Files app");
} }

View File

@ -88,7 +88,7 @@ class SettingsMenuContext implements Context, ActorAwareInterface {
* @return Locator * @return Locator
*/ */
private static function settingsPanelFor($itemText) { 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"); describedAs($itemText . " item in Settings panel");
} }
@ -97,7 +97,7 @@ class SettingsMenuContext implements Context, ActorAwareInterface {
* @return Locator * @return Locator
*/ */
private static function settingsPanelEntryFor($itemText) { 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"); describedAs($itemText . " entry in Settings panel");
} }

View File

@ -39,7 +39,7 @@ class ToastContext implements Context, ActorAwareInterface {
* @return Locator * @return Locator
*/ */
private static function toastContainer() { private static function toastContainer() {
return Locator::forThe()->id("content")-> return Locator::forThe()->xpath("//*[@id=\"content\" or contains(@class, 'content')]")->
describedAs("Toast container"); describedAs("Toast container");
} }