Compare commits
24 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ba34a3738a | |||
| 18c1cce715 | |||
| 7a906fb033 | |||
| c8536ae264 | |||
| 3703791a28 | |||
| 6dff33f9d7 | |||
| 05bd7c29e9 | |||
| 8380a4bf17 | |||
| ad7b5b7c52 | |||
| 871cf1f5b4 | |||
| a2b615752b | |||
| aec89ce9fa | |||
| 02e526d717 | |||
| ebb485ffba | |||
| 80221c3ea2 | |||
| f8aebf94d2 | |||
| 97da542bd8 | |||
| 612a94fd06 | |||
| a7bcc7da0f | |||
| 3da1830f58 | |||
| 8a9c68c702 | |||
| e55419eb8b | |||
| 2f0e47dcec | |||
| 361ad9211c |
@@ -13,7 +13,7 @@ release: npm-build translations
|
||||
|
||||
test -d releases/$$VERSION && rm -fr releases/$$VERSION
|
||||
mkdir -p releases/$$VERSION/side_menu
|
||||
cp -r README.md appinfo css lib img l10n js src templates releases/$$VERSION/side_menu
|
||||
cp -r README.md appinfo css lib img l10n js src templates screenshots releases/$$VERSION/side_menu
|
||||
cd releases/$$VERSION
|
||||
zip -r side_menu_v$$VERSION.zip side_menu
|
||||
tar cvzf side_menu_v$$VERSION.tar.gz side_menu
|
||||
|
||||
@@ -10,7 +10,7 @@ Comptatible with AppOrder.
|
||||
|
||||
* [Installation and upgrade](#installation-and-upgrade)
|
||||
* [How to contribute?](#how-to-contribute)
|
||||
* [Preview](#preview)
|
||||
* [Screenshots](https://gitnet.fr/deblan/side_menu/src/branch/master/screenshots/)
|
||||
|
||||
Installation and upgrade
|
||||
------------------------
|
||||
@@ -43,18 +43,3 @@ If you are a developer:
|
||||
Build javascripts using `make npm-build` (or `make npm-watch` to build them in real time).
|
||||
|
||||
Then commit and create a pull request.
|
||||
|
||||
Previews
|
||||
--------
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
@@ -17,25 +17,30 @@ You can report a bug or request a feature by opening an issue.
|
||||
]]></description>
|
||||
<licence>agpl</licence>
|
||||
<author mail="contact@deblan.fr" homepage="https://www.deblan.io/">Simon Vieille</author>
|
||||
<version>1.8.6</version>
|
||||
<version>1.9.3</version>
|
||||
<namespace>SideMenu</namespace>
|
||||
<category>customization</category>
|
||||
<website>https://gitnet.fr/deblan/side_menu</website>
|
||||
<discussion>https://deblan.cloud/index.php/call/fffxkc7h</discussion>
|
||||
<bugs>https://gitnet.fr/deblan/side_menu/issues</bugs>
|
||||
<repository type="git">https://gitnet.fr/deblan/side_menu</repository>
|
||||
<screenshot>https://upload.deblan.org/u/2020-03/5e81b219.jpg</screenshot>
|
||||
<screenshot>https://upload.deblan.org/u/2020-03/5e7fab2b.jpg</screenshot>
|
||||
<screenshot>https://upload.deblan.org/u/2020-08/5f3551d1.png</screenshot>
|
||||
<screenshot>https://upload.deblan.org/u/2020-08/5f3551f0.png</screenshot>
|
||||
<screenshot>https://upload.deblan.org/u/2020-08/5f35aae1.png</screenshot>
|
||||
<screenshot>https://upload.deblan.org/u/2020-08/5f35ab0f.png</screenshot>
|
||||
<screenshot>https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc19_default_menu.png</screenshot>
|
||||
<screenshot>https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/admin_settings.png</screenshot>
|
||||
<screenshot>https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/n19_big_menu.png</screenshot>
|
||||
<screenshot>https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc18_menu_always_displayed.png</screenshot>
|
||||
<screenshot>https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc20_big_menu_responsive.png</screenshot>
|
||||
<screenshot>https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/personal_settings.png</screenshot>
|
||||
<documentation>
|
||||
<admin>https://gitnet.fr/deblan/side_menu/src/branch/master/README.md</admin>
|
||||
<developer>https://gitnet.fr/deblan/side_menu/src/branch/master/README.md</developer>
|
||||
</documentation>
|
||||
<dependencies>
|
||||
<nextcloud min-version="18" max-version="20"/>
|
||||
</dependencies>
|
||||
<settings>
|
||||
<admin>OCA\SideMenu\Settings\Admin</admin>
|
||||
<admin-section>OCA\SideMenu\Settings\AdminSection</admin-section>
|
||||
<personal>OCA\SideMenu\Settings\Personal</personal>
|
||||
<personal-section>OCA\SideMenu\Settings\PersonalSection</personal-section>
|
||||
</settings>
|
||||
<settings>
|
||||
<admin>OCA\SideMenu\Settings\Admin</admin>
|
||||
<admin-section>OCA\SideMenu\Settings\AdminSection</admin-section>
|
||||
<personal>OCA\SideMenu\Settings\Personal</personal>
|
||||
<personal-section>OCA\SideMenu\Settings\PersonalSection</personal-section>
|
||||
</settings>
|
||||
</info>
|
||||
|
||||
@@ -41,4 +41,26 @@
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.side-menu-display {
|
||||
padding: 10px;
|
||||
border: 2px solid transparent;
|
||||
max-width: 100%;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.side-menu-display.is-active {
|
||||
border: 2px solid #91cb7f;
|
||||
}
|
||||
|
||||
.info {
|
||||
margin-top: 8px;
|
||||
padding: 5px;
|
||||
background: #91cb7f;
|
||||
color: #fff;
|
||||
border-radius: var(--border-radius);
|
||||
}
|
||||
|
||||
#side-menu-section h2 small {
|
||||
font-size: 11px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
@@ -50,8 +50,8 @@
|
||||
display: none;
|
||||
}
|
||||
|
||||
#side-menu.hide-opener .side-menu-opener, .side-menu-opener.hide {
|
||||
display: none;
|
||||
#side-menu.hide-opener .side-menu-opener, .side-menu-opener.hide, #side-menu.hide {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.side-menu-apps-list {
|
||||
@@ -180,6 +180,55 @@
|
||||
margin-top: -2px;
|
||||
}
|
||||
|
||||
.side-menu-always-displayed #header,
|
||||
.side-menu-always-displayed body {
|
||||
width: calc(100% - 50px) !important;
|
||||
}
|
||||
|
||||
.side-menu-always-displayed body {
|
||||
position: absolute;
|
||||
left: 50px;
|
||||
}
|
||||
|
||||
.side-menu-always-displayed #side-menu {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.side-menu-always-displayed .side-menu-apps-list {
|
||||
height: calc(100vh - 49px);
|
||||
top: 49px;
|
||||
}
|
||||
|
||||
.side-menu-always-displayed #side-menu,
|
||||
.side-menu-always-displayed .side-menu-header,
|
||||
.side-menu-always-displayed .side-menu-apps-list {
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
.side-menu-always-displayed #side-menu .side-menu-app-text,
|
||||
.side-menu-always-displayed #header .side-menu-opener,
|
||||
.side-menu-always-displayed .side-menu-logo {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.side-menu-always-displayed #side-menu.open,
|
||||
.side-menu-always-displayed #side-menu.open .side-menu-apps-list,
|
||||
.side-menu-always-displayed #side-menu.open .side-menu-header,
|
||||
.side-menu-always-displayed #side-menu:hover,
|
||||
.side-menu-always-displayed #side-menu:hover .side-menu-apps-list,
|
||||
.side-menu-always-displayed #side-menu:hover .side-menu-header {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.side-menu-always-displayed #side-menu.open .side-menu-app-text,
|
||||
.side-menu-always-displayed #side-menu:hover .side-menu-app-text {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.side-menu-always-displayed .app-navigation--close {
|
||||
transform: translateX(calc(-100% + 50px)) !important;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
#side-menu.side-menu-big {
|
||||
max-width: 290px;
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="571.907" height="156.921" viewBox="0 0 151.317 41.519">
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#fff" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M.18.18H58.71v41.16H.18z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#f9f9f9" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M.18.18H58.71v5.062H.18z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#4d4d4d" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M.18.18h6.128v41.16H.18z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#666" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M1.496 1.034h3.496V4.39H1.496z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#e6e6e6" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M2.297 7.455H4.19v1.81H2.297zM2.297 10.997H4.19v1.81H2.297zM2.297 14.404H4.19v1.81H2.297zM2.297 17.946H4.19v1.81H2.297zM2.297 21.353H4.19v1.81H2.297zM2.297 24.895H4.19v1.81H2.297zM2.297 28.302H4.19v1.81H2.297zM2.297 31.844H4.19v1.81H2.297zM7.136 1.034h6.102V4.39H7.136z"/>
|
||||
<g fill="#b3b3b3" stroke="#ccc" fill-rule="evenodd" stroke-width="1.465" stroke-linecap="round">
|
||||
<path d="M24.44 21.35l5.056-5.056M23.3 29.835l18.15-18.151M36.267 25.225l3.585-3.586"/>
|
||||
</g>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#fff" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M62.865.18h58.532v41.16H62.865z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#f9f9f9" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M62.865.18h58.532v5.062H62.865z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="none" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M62.865.18h58.532v41.16H62.865z"/>
|
||||
<g fill="#b3b3b3" stroke="#ccc" fill-rule="evenodd" stroke-width="1.465" stroke-linecap="round">
|
||||
<path d="M84.197 21.35l5.055-5.056M83.056 29.835l18.152-18.151M96.024 25.225l3.585-3.586"/>
|
||||
</g>
|
||||
<g color="#000" stroke-width=".359" stroke-linecap="square">
|
||||
<path style="marker:none" overflow="visible" fill="#4d4d4d" stroke="#b3b3b3" paint-order="fill markers stroke" d="M62.866.18h20.829v41.16h-20.83z"/>
|
||||
<path style="marker:none" overflow="visible" fill="#666" stroke="#ccc" paint-order="fill markers stroke" d="M64.044 1.034h3.496V4.39h-3.496z"/>
|
||||
<path style="marker:none" overflow="visible" fill="#e6e6e6" stroke="#ccc" paint-order="fill markers stroke" d="M64.578 8.076h1.893v1.81h-1.893zM67.507 8.407H79.97v1.148H67.507zM64.578 11.617h1.893v1.81h-1.893zM67.507 11.948h10.592v1.148H67.507zM64.578 15.025h1.893v1.81h-1.893zM67.507 15.356h12.997v1.148H67.507zM64.578 18.566h1.893v1.81h-1.893zM67.507 18.897h7.585v1.148h-7.585zM64.578 21.974h1.893v1.81h-1.893zM67.507 22.305h11.46v1.148h-11.46zM64.578 25.515h1.893v1.81h-1.893zM67.507 25.846h9.322v1.148h-9.322zM64.578 28.923h1.893v1.81h-1.893zM67.507 29.254h11.126v1.148H67.507zM64.578 32.464h1.893v1.81h-1.893zM67.507 32.795H80.37v1.148H67.507z"/>
|
||||
</g>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#fff" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M125.856.18h25.281v41.16h-25.28z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#f9f9f9" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M125.856.18h25.257v5.062h-25.257z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="none" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M125.856.18h25.257v41.16h-25.257z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#4d4d4d" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M125.856.18h20.83v41.16h-20.83z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#666" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M127.034 1.034h3.496V4.39h-3.496z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#e6e6e6" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M127.568 8.076h1.893v1.81h-1.893zM130.497 8.407h12.463v1.148h-12.463zM127.568 11.617h1.893v1.81h-1.893zM130.497 11.948h10.592v1.148h-10.592zM127.568 15.025h1.893v1.81h-1.893zM130.497 15.356h12.997v1.148h-12.997zM127.568 18.566h1.893v1.81h-1.893zM130.497 18.897h7.585v1.148h-7.585zM127.568 21.974h1.893v1.81h-1.893zM130.497 22.305h11.46v1.148h-11.46zM127.568 25.515h1.893v1.81h-1.893zM130.497 25.846h9.322v1.148h-9.322zM127.568 28.923h1.893v1.81h-1.893zM130.497 29.254h11.126v1.148h-11.126zM127.568 32.464h1.893v1.81h-1.893zM130.497 32.795h12.863v1.148h-12.863z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.0 KiB |
@@ -0,0 +1,30 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="571.907" height="156.921" viewBox="0 0 151.317 41.519">
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#fff" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M.18.18h58.532v41.16H.18zM62.735.18h58.532v41.16H62.735z"/>
|
||||
<g fill="#b3b3b3" stroke="#ccc" fill-rule="evenodd" stroke-width="1.465" stroke-linecap="round">
|
||||
<path d="M84.066 21.35l5.055-5.056M82.925 29.835l18.152-18.151M95.893 25.225l3.585-3.586"/>
|
||||
</g>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#4d4d4d" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M62.735.18h58.532v25.123H62.735z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="none" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M62.735.18h58.532v41.16H62.735z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#666" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M63.738 1.034h3.496V4.39h-3.496z"/>
|
||||
<g stroke-width=".401" color="#000" fill="#e6e6e6" stroke="#ccc" stroke-linecap="square">
|
||||
<path style="marker:none" overflow="visible" paint-order="fill markers stroke" d="M38.862 110.138h1.893v1.81h-1.893zM41.792 110.469h12.463v1.148H41.792zM38.862 113.679h1.893v1.81h-1.893zM41.792 114.01h10.592v1.148H41.792zM38.862 117.087h1.893v1.81h-1.893zM41.792 117.418h12.997v1.148H41.792zM38.862 120.628h1.893v1.81h-1.893zM41.792 120.959h7.585v1.148h-7.585z" transform="matrix(.89632 0 0 .8943 38.412 -87.8)"/>
|
||||
</g>
|
||||
<g stroke-width=".401" color="#000" fill="#e6e6e6" stroke="#ccc" stroke-linecap="square">
|
||||
<path style="marker:none" overflow="visible" paint-order="fill markers stroke" d="M65.723 110.272h1.893v1.81h-1.893zM68.652 110.602h11.46v1.148h-11.46zM65.723 113.813h1.893v1.81h-1.893zM68.652 114.144h9.322v1.148h-9.322zM65.723 117.221h1.893v1.81h-1.893zM68.652 117.551h11.126v1.148H68.652zM65.723 120.762h1.893v1.81h-1.893zM68.652 121.093h12.863v1.148H68.652z" transform="matrix(.89632 0 0 .8943 34.262 -87.919)"/>
|
||||
</g>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#666" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M116.257 1.034h3.496V4.39h-3.496z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#e6e6e6" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M72.715 6.186h11.518v1.148H72.715zM92.452 6.186h9.344v1.148h-9.344z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#f9f9f9" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M.18.18h58.532v5.063H.18z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="none" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M.18.18h58.532v41.16H.18z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#666" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M1.357 1.034h3.496V4.39H1.357z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#e6e6e6" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M6.068 1.034h6.102V4.39H6.068z"/>
|
||||
<g fill="#b3b3b3" stroke="#ccc" fill-rule="evenodd" stroke-width="1.465" stroke-linecap="round">
|
||||
<path d="M21.51 21.35l5.056-5.056M20.37 29.835L38.52 11.684M33.337 25.225l3.586-3.586"/>
|
||||
</g>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#fff" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M125.857.18h25.28v41.16h-25.28z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#f9f9f9" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M125.857.18h25.257v5.063h-25.257z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="none" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M125.857.18h25.257v41.16h-25.257z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#4d4d4d" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M125.857.18h20.829v41.16h-20.83z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#666" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M127.034 1.034h3.496V4.39h-3.496z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#e6e6e6" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M127.569 10.155h1.893v1.81h-1.893zM130.498 10.486h12.463v1.148h-12.463zM127.569 13.696h1.893v1.81h-1.893zM130.498 14.027h10.592v1.148h-10.592zM127.569 17.104h1.893v1.81h-1.893zM130.498 17.435h12.997v1.148h-12.997zM127.569 24.708h1.893v1.81h-1.893zM130.498 25.04h7.585v1.147h-7.585zM127.569 28.116h1.893v1.81h-1.893zM130.498 28.447h11.46v1.148h-11.46zM127.569 31.657h1.893v1.81h-1.893zM130.498 31.988h9.322v1.148h-9.322zM127.569 35.065h1.893v1.81h-1.893zM130.498 35.396h11.126v1.148h-11.126zM127.616 6.848h11.518v1.148h-11.518zM127.569 21.311h9.344v1.148h-9.344z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.3 KiB |
@@ -0,0 +1,24 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="571.907" height="156.921" viewBox="0 0 151.317 41.519">
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#fff" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M62.735.18h58.532v41.16H62.735zM.18.18h58.532v41.16H.18z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#f9f9f9" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M.18.18h58.532v5.063H.18z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="none" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M.18.18h58.532v41.16H.18z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#666" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M1.357 1.034h3.496V4.39H1.357z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#e6e6e6" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M6.068 1.034h6.102V4.39H6.068z"/>
|
||||
<g fill="#b3b3b3" stroke="#ccc" fill-rule="evenodd" stroke-width="1.465" stroke-linecap="round">
|
||||
<path d="M21.51 21.35l5.056-5.056M20.37 29.835L38.52 11.684M33.337 25.225l3.586-3.586"/>
|
||||
</g>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#f9f9f9" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M62.735.18h58.532v5.063H62.735z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="none" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M62.735.18h58.532v41.16H62.735z"/>
|
||||
<g fill="#b3b3b3" stroke="#ccc" fill-rule="evenodd" stroke-width="1.465" stroke-linecap="round">
|
||||
<path d="M84.066 21.35l5.055-5.056M82.925 29.835l18.152-18.151M95.893 25.225l3.585-3.586"/>
|
||||
</g>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#4d4d4d" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M62.735.18h20.829v41.16h-20.83z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#666" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M63.912 1.034h3.496V4.39h-3.496z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#e6e6e6" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M64.447 8.076h1.893v1.81h-1.893zM67.376 8.407h12.463v1.148H67.376zM64.447 11.617h1.893v1.81h-1.893zM67.376 11.948h10.592v1.148H67.376zM64.447 15.025h1.893v1.81h-1.893zM67.376 15.356h12.997v1.148H67.376zM64.447 18.566h1.893v1.81h-1.893zM67.376 18.897h7.585v1.148h-7.585zM64.447 21.974h1.893v1.81h-1.893zM67.376 22.305h11.46v1.148h-11.46zM64.447 25.515h1.893v1.81h-1.893zM67.376 25.846h9.322v1.148h-9.322zM64.447 28.923h1.893v1.81h-1.893zM67.376 29.254h11.126v1.148H67.376zM64.447 32.464h1.893v1.81h-1.893zM67.376 32.795h12.863v1.148H67.376z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#fff" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M125.857.18h25.28v41.16h-25.28z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#f9f9f9" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M125.857.18h25.257v5.063h-25.257z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="none" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M125.857.18h25.257v41.16h-25.257z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#4d4d4d" stroke="#b3b3b3" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M125.857.18h20.829v41.16h-20.83z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#666" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M127.034 1.034h3.496V4.39h-3.496z"/>
|
||||
<path style="marker:none" color="#000" overflow="visible" fill="#e6e6e6" stroke="#ccc" stroke-width=".359" stroke-linecap="square" paint-order="fill markers stroke" d="M127.569 8.076h1.893v1.81h-1.893zM130.498 8.407h12.463v1.148h-12.463zM127.569 11.617h1.893v1.81h-1.893zM130.498 11.948h10.592v1.148h-10.592zM127.569 15.025h1.893v1.81h-1.893zM130.498 15.356h12.997v1.148h-12.997zM127.569 18.566h1.893v1.81h-1.893zM130.498 18.897h7.585v1.148h-7.585zM127.569 21.974h1.893v1.81h-1.893zM130.498 22.305h11.46v1.148h-11.46zM127.569 25.515h1.893v1.81h-1.893zM130.498 25.846h9.322v1.148h-9.322zM127.569 28.923h1.893v1.81h-1.893zM130.498 29.254h11.126v1.148h-11.126zM127.569 32.464h1.893v1.81h-1.893zM130.498 32.795h12.863v1.148h-12.863z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.7 KiB |
@@ -82,6 +82,7 @@ class CssController extends Controller
|
||||
'external-sites-in-top-menu' => (bool) $this->config->getAppValue('side_menu', 'external-sites-in-top-menu', 0),
|
||||
'size-icon' => $this->config->getAppValue('side_menu', 'size-icon', 'normal'),
|
||||
'size-text' => $this->config->getAppValue('side_menu', 'size-text', 'normal'),
|
||||
'always-displayed' => (bool) $this->config->getAppValue('side_menu', 'always-displayed', '0'),
|
||||
'big-menu' => (bool) $this->config->getAppValue('side_menu', 'big-menu', '0'),
|
||||
'top-menu-apps' => $topMenuApps,
|
||||
];
|
||||
|
||||
@@ -70,6 +70,7 @@ class JsController extends Controller
|
||||
'force-light-icon' => (bool) $this->config->getAppValue('side_menu', 'force-light-icon', '0'),
|
||||
'hide-when-no-apps' => (bool) $this->config->getAppValue('side_menu', 'hide-when-no-apps', '0'),
|
||||
'loader-enabled' => (bool) $this->config->getAppValue('side_menu', 'loader-enabled', '1'),
|
||||
'always-displayed' => (bool) $this->config->getAppValue('side_menu', 'always-displayed', '0'),
|
||||
'big-menu' => (bool) $this->config->getAppValue('side_menu', 'big-menu', '0'),
|
||||
'top-menu-apps' => $topMenuApps,
|
||||
];
|
||||
|
||||
@@ -74,6 +74,7 @@ class Admin implements ISettings
|
||||
'text-color' => $this->config->getAppValue('side_menu', 'text-color', '#FFFFFF'),
|
||||
'cache' => $this->config->getAppValue('side_menu', 'cache', '0'),
|
||||
'opener' => $this->config->getAppValue('side_menu', 'opener', 'side-menu-opener'),
|
||||
'always-displayed' => $this->config->getAppValue('side_menu', 'always-displayed', '0'),
|
||||
'big-menu' => $this->config->getAppValue('side_menu', 'big-menu', '0'),
|
||||
'display-logo' => $this->config->getAppValue('side_menu', 'display-logo', '1'),
|
||||
'opener-position' => $this->config->getAppValue('side_menu', 'opener-position', 'before'),
|
||||
|
||||
|
After Width: | Height: | Size: 173 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 485 KiB |
|
After Width: | Height: | Size: 60 KiB |
@@ -35,9 +35,9 @@ const saveSettings = (key) => {
|
||||
let value
|
||||
let name
|
||||
|
||||
if ($(element).is('[data-checkbox]')) {
|
||||
name = $(element).attr('data-name')
|
||||
const inputs = $('input[name="' + name + '[]"]:checked')
|
||||
if (jQuery(element).is('[data-checkbox]')) {
|
||||
name = jQuery(element).attr('data-name')
|
||||
const inputs = jQuery('input[name="' + name + '[]"]:checked')
|
||||
value = []
|
||||
|
||||
inputs.each((i, v) => {
|
||||
@@ -46,8 +46,8 @@ const saveSettings = (key) => {
|
||||
|
||||
value = JSON.stringify(value)
|
||||
} else {
|
||||
name = $(element).attr('name')
|
||||
value = $(element).val()
|
||||
name = jQuery(element).attr('name')
|
||||
value = jQuery(element).val()
|
||||
}
|
||||
|
||||
const size = elements.length
|
||||
@@ -74,20 +74,48 @@ const saveSettings = (key) => {
|
||||
}
|
||||
}
|
||||
|
||||
if ($(element).is('[data-personal]')) {
|
||||
if (jQuery(element).is('[data-personal]')) {
|
||||
userConfig(name, value, callbacks)
|
||||
} else {
|
||||
appConfig(name, value, callbacks)
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(() => {
|
||||
elements = $('.side-menu-setting')
|
||||
jQuery(document).ready(() => {
|
||||
elements = jQuery('.side-menu-setting')
|
||||
|
||||
$('#side-menu-save').on('click', (event) => {
|
||||
jQuery('#side-menu-save').on('click', (event) => {
|
||||
event.preventDefault()
|
||||
OC.msg.startSaving(selector)
|
||||
|
||||
saveSettings(0)
|
||||
});
|
||||
|
||||
jQuery('.side-menu-display').on('click', (event) => {
|
||||
var target = jQuery(event.target)
|
||||
|
||||
jQuery('.side-menu-display').removeClass('is-active')
|
||||
target.addClass('is-active')
|
||||
|
||||
jQuery('#side-menu-always-displayed').val(target.attr('data-alwaysdiplayed'))
|
||||
jQuery('#side-menu-big-menu').val(target.attr('data-bigmenu'))
|
||||
})
|
||||
|
||||
jQuery('.side-menu-setting-live').on('change', (event) => {
|
||||
var target = jQuery(event.target)
|
||||
var name = target.attr('name')
|
||||
var value = target.val()
|
||||
|
||||
if (name === 'opener') {
|
||||
var url = OC.generateUrl(`/apps/side_menu/img/${value}.svg`).replace('/index.php', '')
|
||||
|
||||
value = `url(${url})`;
|
||||
}
|
||||
|
||||
if (name === 'icon-invert-filter' || name === 'icon-opacity') {
|
||||
value/=100;
|
||||
}
|
||||
|
||||
document.documentElement.style.setProperty('--side-menu-' + name, value)
|
||||
})
|
||||
});
|
||||
|
||||
@@ -40,9 +40,15 @@
|
||||
"Panel": "Panel"
|
||||
"Open the menu when the mouse is hover the opener (automatically disabled on touch screens)": "Öffnen Sie das Menü, wenn Sie die Maus über den Öffner bewegen (auf Touchscreens automatisch deaktiviert)."
|
||||
"Display the big menu": "Großes Menü anzeigen"
|
||||
"The big menu is not compatible with AppOrder.": "Le menu large n'est pas compatible avec l'application AppOrder"
|
||||
"The big menu is not compatible with AppOrder.": "Das große Menü ist nicht mit AppOrder kompatibel."
|
||||
"Display the logo": "Logo anzeigen"
|
||||
"This feature is not compatible with the <code>big menu</code> display.": "Diese Funktion ist nicht mit der großen Menüanzeige kompatibel."
|
||||
"Icons and texts": "Symbole und Texte"
|
||||
"Loader enabled": "Loader aktiviert"
|
||||
"Tips": "Tipps"
|
||||
"Always displayed": "Wird immer angezeigt"
|
||||
"The logo will be hidden when the menu is always displayed.": "Das Logo wird ausgeblendet, wenn das Menü immer angezeigt wird."
|
||||
"This is the automatic behavior when the menu is always displayed.": "Dies ist das automatische Verhalten, wenn das Menü immer angezeigt wird."
|
||||
"Not compatible with touch screens.": "Nicht kompatibel mit Touchscreens."
|
||||
"Big menu": "Große Speisekarte"
|
||||
"Live preview": "Live Vorschau"
|
||||
|
||||
@@ -46,3 +46,9 @@
|
||||
"Icons and texts": "Icônes et textes"
|
||||
"Loader enabled": "Activation de l'indicateur de chargement"
|
||||
"Tips": "Astuces"
|
||||
"Always displayed": "Toujours affiché"
|
||||
"The logo will be hidden when the menu is always displayed.": "Le logo sera masque si le menu est toujours affiché."
|
||||
"This is the automatic behavior when the menu is always displayed.": "C'est le comportement automatique lorsque le menu est toujours affiché."
|
||||
"Not compatible with touch screens.": "Incompatible avec les écrans tactiles."
|
||||
"Big menu": "Menu large"
|
||||
"Live preview": "Aperçu en direct"
|
||||
|
||||
@@ -22,13 +22,13 @@
|
||||
}
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($_['opener-only'] === true): ?>
|
||||
<?php if ($_['opener-only']): ?>
|
||||
#nextcloud {
|
||||
display: none;
|
||||
}
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($_['display-logo'] === false): ?>
|
||||
<?php if (!$_['display-logo']): ?>
|
||||
.side-menu-logo {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
var alwaysDisplayed = function() {
|
||||
var elements = document.querySelectorAll('*');
|
||||
var fixedElements = []
|
||||
|
||||
for (var i in elements) {
|
||||
var element = elements[i]
|
||||
|
||||
if (typeof element !== 'object') {
|
||||
continue
|
||||
}
|
||||
|
||||
var position = window.getComputedStyle(element, null).getPropertyValue('position');
|
||||
|
||||
if (position !== 'fixed') {
|
||||
continue
|
||||
}
|
||||
|
||||
var id = element.getAttribute('id')
|
||||
|
||||
if (id === 'header' || id === 'side-menu' || id === 'side-menu-loader') {
|
||||
continue
|
||||
}
|
||||
|
||||
if (element.classList.contains('oc-dialog')) {
|
||||
continue
|
||||
}
|
||||
|
||||
if (jQuery(element).parents('#side-menu').length) {
|
||||
continue
|
||||
}
|
||||
|
||||
fixedElements.push(element)
|
||||
}
|
||||
|
||||
for (var i in fixedElements) {
|
||||
var element = fixedElements[i]
|
||||
var value = window.getComputedStyle(element, null).getPropertyValue('left')
|
||||
var intValue = parseInt(value.replace('px', ''))
|
||||
|
||||
element.style.setProperty('transform', 'translateX(' + (intValue + 50) + 'px)')
|
||||
}
|
||||
}
|
||||
|
||||
alwaysDisplayed()
|
||||
@@ -1,5 +1,5 @@
|
||||
var pageLoader = $('<div id="side-menu-loader">')
|
||||
var pageLoaderBar = $('<div id="side-menu-loader-bar">')
|
||||
var pageLoader = jQuery('<div id="side-menu-loader">')
|
||||
var pageLoaderBar = jQuery('<div id="side-menu-loader-bar">')
|
||||
|
||||
body.append(pageLoader)
|
||||
pageLoader.append(pageLoaderBar)
|
||||
|
||||
@@ -2,16 +2,16 @@ var menuCache = null
|
||||
|
||||
var updateTopMenu = function() {
|
||||
var breakpointMobileWidth = 1024
|
||||
var menu = $('#appmenu')
|
||||
var menu = jQuery('#appmenu')
|
||||
var apps = menu.find('li')
|
||||
var minAppsDesktop = 8
|
||||
var usePercentualAppMenuLimit = 0.8
|
||||
var isMobile = $(window).width() < breakpointMobileWidth
|
||||
var isMobile = jQuery(window).width() < breakpointMobileWidth
|
||||
var lastShownApp = null
|
||||
var appShown = []
|
||||
var moreApps = $('#more-apps')
|
||||
var navigation = $('#navigation')
|
||||
var navigationApps = $('#apps ul')
|
||||
var moreApps = jQuery('#more-apps')
|
||||
var navigation = jQuery('#navigation')
|
||||
var navigationApps = jQuery('#apps ul')
|
||||
var appCount = null
|
||||
|
||||
var currentMenuCache = menu.html() + menu.next().html()
|
||||
@@ -40,17 +40,17 @@ var updateTopMenu = function() {
|
||||
}
|
||||
})
|
||||
|
||||
var rightHeaderWidth = $('.header-right').outerWidth()
|
||||
var headerWidth = $('header').outerWidth()
|
||||
var availableWidth = headerWidth - $('#nextcloud').outerWidth()
|
||||
- $('#header .side-menu-opener').outerWidth()
|
||||
var rightHeaderWidth = jQuery('.header-right').outerWidth()
|
||||
var headerWidth = jQuery('header').outerWidth()
|
||||
var availableWidth = headerWidth - jQuery('#nextcloud').outerWidth()
|
||||
- jQuery('#header .side-menu-opener').outerWidth()
|
||||
- (rightHeaderWidth > 230 ? rightHeaderWidth : 230)
|
||||
|
||||
if (!isMobile) {
|
||||
availableWidth = availableWidth * usePercentualAppMenuLimit
|
||||
}
|
||||
|
||||
appCount = Math.floor(availableWidth / $('#appmenu li').width())
|
||||
appCount = Math.floor(availableWidth / jQuery('#appmenu li').width())
|
||||
|
||||
if (isMobile && appCount > minAppsDesktop) {
|
||||
appCount = minAppsDesktop
|
||||
@@ -75,27 +75,27 @@ var updateTopMenu = function() {
|
||||
var notInHeader = 0
|
||||
var name
|
||||
|
||||
$(appShown).each(function(i, app) {
|
||||
app = $(app)
|
||||
jQuery(appShown).each(function(i, app) {
|
||||
app = jQuery(app)
|
||||
name = app.data('id')
|
||||
|
||||
if (k < appCount && appCount > 0) {
|
||||
app.removeClass('hidden')
|
||||
lastShownApp = app
|
||||
|
||||
$('#apps li[data-id=' + name + '].app-external-site').addClass('in-header')
|
||||
jQuery('#apps li[data-id=' + name + '].app-external-site').addClass('in-header')
|
||||
} else {
|
||||
app.addClass('hidden')
|
||||
notInHeader++
|
||||
|
||||
$('#apps li[data-id=' + name + '].app-external-site').removeClass('in-header')
|
||||
jQuery('#apps li[data-id=' + name + '].app-external-site').removeClass('in-header')
|
||||
|
||||
if (appCount > 0 && app.children('a').hasClass('active')) {
|
||||
lastShownApp.addClass('hidden')
|
||||
app.removeClass('hidden')
|
||||
notInHeader++
|
||||
|
||||
$('#apps li[data-id=' + name + '].app-external-site')
|
||||
jQuery('#apps li[data-id=' + name + '].app-external-site')
|
||||
.removeClass('in-header')
|
||||
.addClass('in-header')
|
||||
}
|
||||
@@ -104,8 +104,8 @@ var updateTopMenu = function() {
|
||||
k++
|
||||
})
|
||||
|
||||
$('#apps li.app-external-site').each(function(i, app) {
|
||||
app = $(app)
|
||||
jQuery('#apps li.app-external-site').each(function(i, app) {
|
||||
app = jQuery(app)
|
||||
var appId = app.attr('data-id')
|
||||
|
||||
if (app.hasClass('in-header')) {
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
(function() {
|
||||
var sideMenuContainer = $('<div id="side-menu-container">')
|
||||
var sideMenuOpener = $('<button class="side-menu-opener"></button>')
|
||||
var sideMenu = $('<div id="side-menu">')
|
||||
var body = $('body')
|
||||
var sideMenuContainer = jQuery('<div id="side-menu-container">')
|
||||
var sideMenuOpener = jQuery('<button class="side-menu-opener"></button>')
|
||||
var sideMenu = jQuery('<div id="side-menu">')
|
||||
var body = jQuery('body')
|
||||
var html = jQuery('html')
|
||||
var isTouchDevice = window.matchMedia("(pointer: coarse)").matches
|
||||
|
||||
<?php if ($_['big-menu']): ?>
|
||||
@@ -15,22 +16,40 @@
|
||||
|
||||
body.on('side-menu.apps', function(e, apps) {
|
||||
<?php if ($_['hide-when-no-apps']): ?>
|
||||
sideMenu = $('#side-menu')
|
||||
sideMenu = jQuery('#side-menu')
|
||||
|
||||
if (apps.length === 0) {
|
||||
sideMenu.removeClass('open')
|
||||
sideMenu.addClass('hide')
|
||||
sideMenuOpener.addClass('hide')
|
||||
} else {
|
||||
sideMenu.removeClass('hide')
|
||||
sideMenuOpener.removeClass('hide')
|
||||
}
|
||||
|
||||
<?php if ($_['always-displayed'] && !$_['big-menu']): ?>
|
||||
if (apps.length === 0) {
|
||||
html.removeClass('side-menu-always-displayed');
|
||||
} else {
|
||||
html.addClass('side-menu-always-displayed');
|
||||
}
|
||||
<?php endif; ?>
|
||||
<?php else: ?>
|
||||
<?php if ($_['always-displayed'] && !$_['big-menu']): ?>
|
||||
if (apps.length === 0) {
|
||||
html.removeClass('side-menu-always-displayed');
|
||||
} else {
|
||||
html.addClass('side-menu-always-displayed');
|
||||
}
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
})
|
||||
|
||||
body.on('side-menu.ready', function() {
|
||||
sideMenu = $('#side-menu')
|
||||
sideMenu = jQuery('#side-menu')
|
||||
|
||||
var headerMenuOpener = $('#header .side-menu-opener')
|
||||
var sideMenuOpener = $('#side-menu .side-menu-opener')
|
||||
var headerMenuOpener = jQuery('#header .side-menu-opener')
|
||||
var sideMenuOpener = jQuery('#side-menu .side-menu-opener')
|
||||
|
||||
sideMenuFocus = function() {
|
||||
var a = sideMenu.find('.side-menu-app.active a')
|
||||
@@ -75,11 +94,17 @@
|
||||
sideMenu.find('.side-menu-app.active a').focus()
|
||||
})
|
||||
|
||||
sideMenuOpener.on('click', function() {
|
||||
sideMenu.removeClass('open')
|
||||
})
|
||||
<?php if ($_['always-displayed'] && !$_['big-menu']): ?>
|
||||
sideMenuOpener.on('click', function() {
|
||||
sideMenu.toggleClass('open')
|
||||
})
|
||||
<?php else: ?>
|
||||
sideMenuOpener.on('click', function() {
|
||||
sideMenu.removeClass('open')
|
||||
})
|
||||
<?php endif; ?>
|
||||
|
||||
$(document).keydown(function(e) {
|
||||
jQuery(document).keydown(function(e) {
|
||||
var key = e.key || e.keyCode
|
||||
|
||||
if ((key === 'o' || key === 79) && e.ctrlKey === true) {
|
||||
@@ -109,4 +134,8 @@
|
||||
|
||||
<?php require_once __DIR__.'/_topMenuApps.js'; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($_['always-displayed'] && !$_['big-menu']): ?>
|
||||
<?php require_once __DIR__.'/_alwaysDisplayed.js'; ?>
|
||||
<?php endif; ?>
|
||||
})();
|
||||
|
||||
@@ -37,6 +37,8 @@ $choicesSizes = [
|
||||
<div class="section">
|
||||
<h2>
|
||||
<?php p($l->t('Colors')); ?>
|
||||
|
||||
<small><span class="info"><?php p($l->t('Live preview')); ?></span></small>
|
||||
</h2>
|
||||
|
||||
<div>
|
||||
@@ -49,13 +51,13 @@ $choicesSizes = [
|
||||
id="side-menu-background-color"
|
||||
name="background-color"
|
||||
type="color"
|
||||
class="side-menu-setting"
|
||||
class="side-menu-setting side-menu-setting-live"
|
||||
value="<?php print_unescaped($_['background-color']); ?>">
|
||||
<input
|
||||
id="side-menu-background-color-to"
|
||||
name="background-color-to"
|
||||
type="color"
|
||||
class="side-menu-setting"
|
||||
class="side-menu-setting side-menu-setting-live"
|
||||
value="<?php print_unescaped($_['background-color-to']); ?>">
|
||||
</div>
|
||||
|
||||
@@ -69,7 +71,7 @@ $choicesSizes = [
|
||||
id="side-menu-current-app-background-color"
|
||||
name="current-app-background-color"
|
||||
type="color"
|
||||
class="side-menu-setting"
|
||||
class="side-menu-setting side-menu-setting-live"
|
||||
value="<?php print_unescaped($_['current-app-background-color']); ?>">
|
||||
</div>
|
||||
|
||||
@@ -83,7 +85,7 @@ $choicesSizes = [
|
||||
id="side-menu-text-color"
|
||||
name="text-color"
|
||||
type="color"
|
||||
class="side-menu-setting"
|
||||
class="side-menu-setting side-menu-setting-live"
|
||||
value="<?php print_unescaped($_['text-color']); ?>">
|
||||
</div>
|
||||
|
||||
@@ -117,7 +119,7 @@ $choicesSizes = [
|
||||
min="0" max="100"
|
||||
id="side-menu-icon-invert-filter"
|
||||
name="icon-invert-filter"
|
||||
class="side-menu-setting"
|
||||
class="side-menu-setting side-menu-setting-live"
|
||||
value="<?php echo $_['icon-invert-filter'] ?>"
|
||||
>
|
||||
|
||||
@@ -136,7 +138,7 @@ $choicesSizes = [
|
||||
min="0" max="100"
|
||||
id="side-menu-icon-opacity"
|
||||
name="icon-opacity"
|
||||
class="side-menu-setting"
|
||||
class="side-menu-setting side-menu-setting-live"
|
||||
value="<?php echo $_['icon-opacity'] ?>"
|
||||
>
|
||||
|
||||
@@ -165,11 +167,13 @@ $choicesSizes = [
|
||||
<div>
|
||||
<label for="side-menu-opener">
|
||||
<?php p($l->t('Icon')); ?>
|
||||
|
||||
<small><span class="info"><?php p($l->t('Live preview')); ?></span></small>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<select id="side-menu-opener" name="opener" class="side-menu-setting">
|
||||
<select id="side-menu-opener" name="opener" class="side-menu-setting side-menu-setting-live">
|
||||
<?php foreach ($choices as $label => $value): ?>
|
||||
<option value="<?php echo $value ?>" <?php if ($value === $_['opener']): ?>selected<?php endif; ?>>
|
||||
<?php echo $l->t($label); ?>
|
||||
@@ -239,15 +243,75 @@ $choicesSizes = [
|
||||
<?php p($l->t('Panel')); ?>
|
||||
</h2>
|
||||
|
||||
<div>
|
||||
<label>
|
||||
<?php p($l->t('Default')); ?>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
$displays = [
|
||||
'default' => !$_['always-displayed'] && !$_['big-menu'],
|
||||
'always-displayed' => $_['always-displayed'] && !$_['big-menu'],
|
||||
'big-menu' => $_['big-menu'],
|
||||
];
|
||||
?>
|
||||
|
||||
<p>
|
||||
<img
|
||||
class="side-menu-display <?php echo $displays['default'] ? 'is-active' : '' ?>"
|
||||
data-alwaysdiplayed="0"
|
||||
data-bigmenu="0"
|
||||
src="<?php print_unescaped(image_path('side_menu', 'admin/layout-default.svg')); ?>" alt="<?php p($l->t('Default')); ?>">
|
||||
</p>
|
||||
|
||||
<div>
|
||||
<label for="side-menu-opener">
|
||||
<?php p($l->t('Big menu')); ?>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<p><em><?php p($l->t('The big menu is not compatible with AppOrder.')); ?></em></p>
|
||||
|
||||
<p>
|
||||
<img
|
||||
class="side-menu-display <?php echo $displays['big-menu'] ? 'is-active' : '' ?>"
|
||||
data-alwaysdiplayed="0"
|
||||
data-bigmenu="1"
|
||||
src="<?php print_unescaped(image_path('side_menu', 'admin/layout-big-menu.svg')); ?>" alt="<?php p($l->t('Big menu')); ?>">
|
||||
</p>
|
||||
|
||||
<br>
|
||||
|
||||
<div>
|
||||
<label for="side-menu-opener">
|
||||
<?php p($l->t('Always displayed')); ?>
|
||||
<small><span class="warning"><?php p($l->t('Experimental')); ?></span></small>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<p><em><?php p($l->t('Not compatible with touch screens.')); ?></em></p>
|
||||
|
||||
<p>
|
||||
<img
|
||||
class="side-menu-display <?php echo $displays['always-displayed'] ? 'is-active' : '' ?>"
|
||||
data-alwaysdiplayed="1"
|
||||
data-bigmenu="0"
|
||||
src="<?php print_unescaped(image_path('side_menu', 'admin/layout-always-displayed.svg')); ?>" alt="<?php p($l->t('Always displayed')); ?>">
|
||||
</p>
|
||||
|
||||
<input type="hidden" class="side-menu-setting" name="always-displayed" id="side-menu-always-displayed" value="<?php echo (int) $_['always-displayed'] ?>">
|
||||
<input type="hidden" class="side-menu-setting" name="big-menu" id="side-menu-big-menu" value="<?php echo (int) $_['big-menu'] ?>">
|
||||
|
||||
<br>
|
||||
|
||||
<div>
|
||||
<label for="side-menu-opener">
|
||||
<?php p($l->t('Open the menu when the mouse is hover the opener (automatically disabled on touch screens)')); ?>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<em><?php echo $l->t('Use the shortcut <span class="keyboard-key">Ctrl</span>+<span class="keyboard-key">o</span> to open and to hide the side menu. Use <span class="keyboard-key">tab</span> to navigate.'); ?></em>
|
||||
</p>
|
||||
<p><em><?php p($l->t('This is the automatic behavior when the menu is always displayed.')); ?></em></p>
|
||||
|
||||
<div>
|
||||
<select id="side-menu-opener-hover" name="opener-hover" class="side-menu-setting">
|
||||
@@ -259,33 +323,14 @@ $choicesSizes = [
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="side-menu-big-menu">
|
||||
<?php p($l->t('Display the big menu')); ?>
|
||||
|
||||
<small><span class="warning"><?php p($l->t('Experimental')); ?></span></small>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<p><em><?php p($l->t('The big menu is not compatible with AppOrder.')); ?></em></p>
|
||||
|
||||
<div>
|
||||
<select id="side-menu-big-menu" name="big-menu" class="side-menu-setting">
|
||||
<?php foreach ($choicesYesNo as $label => $value): ?>
|
||||
<option value="<?php echo $value ?>" <?php if ($value === $_['big-menu']): ?>selected<?php endif; ?>>
|
||||
<?php echo $l->t($label); ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="side-menu-opener">
|
||||
<?php p($l->t('Display the logo')); ?>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<p><em><?php p($l->t('This feature is not compatible with the <code>big menu</code> display.')); ?></em></p>
|
||||
<p><em><?php echo $l->t('This feature is not compatible with the <code>big menu</code> display.'); ?></em></p>
|
||||
<p><em><?php p($l->t('The logo will be hidden when the menu is always displayed.')); ?></em></p>
|
||||
|
||||
<div>
|
||||
<select id="side-menu-display-logo" name="display-logo" class="side-menu-setting">
|
||||
@@ -345,7 +390,6 @@ $choicesSizes = [
|
||||
<div>
|
||||
<label for="side-menu-top-menu-apps">
|
||||
<?php p($l->t('Apps that not must be moved in the side menu')); ?>
|
||||
<small><span class="warning">Experimental</span></small>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -61,7 +61,6 @@ $choicesYesNo = [
|
||||
<div>
|
||||
<label for="side-menu-top-menu-apps">
|
||||
<?php p($l->t('Apps that not must be moved in the side menu')); ?>
|
||||
<small><span class="warning"><?php p($l->t('Experimental')); ?></span></small>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
|
||||