Merge branch 'master' into update_knex

This commit is contained in:
Paolo Ragone 2019-01-15 19:18:12 +13:00 committed by GitHub
commit b393f3edea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 111 additions and 28 deletions

View File

@ -194,7 +194,7 @@ You can also apply different parameters to the query to make more complex querie
- `<field>_lt`: Lower than. - `<field>_lt`: Lower than.
- `<field>_lte`: Lower than or equal to. - `<field>_lte`: Lower than or equal to.
- `<field>_gt`: Greater than. - `<field>_gt`: Greater than.
- `<field>_gte`: Lower than or equal to. - `<field>_gte`: Greater than or equal to.
- `<field>_contains`: Contains. - `<field>_contains`: Contains.
- `<field>_containss`: Contains sensitive. - `<field>_containss`: Contains sensitive.

View File

@ -8,6 +8,8 @@ import React from 'react';
import { defineMessages, FormattedMessage } from 'react-intl'; import { defineMessages, FormattedMessage } from 'react-intl';
import { PropTypes } from 'prop-types'; import { PropTypes } from 'prop-types';
import LeftMenuLink from 'components/LeftMenuLink';
import styles from './styles.scss'; import styles from './styles.scss';
import messages from './messages.json'; import messages from './messages.json';
defineMessages(messages); defineMessages(messages);
@ -15,8 +17,22 @@ defineMessages(messages);
function LeftMenuFooter({ version }) { // eslint-disable-line react/prefer-stateless-function function LeftMenuFooter({ version }) { // eslint-disable-line react/prefer-stateless-function
return ( return (
<div className={styles.leftMenuFooter}> <div className={styles.leftMenuFooter}>
<FormattedMessage {...messages.poweredBy} /> <ul className={styles.list}>
<a href={`https://github.com/strapi/strapi/releases/tag/v${version}`} target="_blank">v{version}</a> <LeftMenuLink
icon="book"
label={messages.documentation.id}
destination="https://strapi.io/documentation"
/>
<LeftMenuLink
icon="question-circle"
label={messages.help.id}
destination="https://strapi.io/help"
/>
</ul>
<div className={styles.poweredBy}>
<FormattedMessage {...messages.poweredBy} />
<a href="https://strapi.io" target="_blank">Strapi</a> <a href={`https://github.com/strapi/strapi/releases/tag/v${version}`} target="_blank">v{version}</a>
</div>
</div> </div>
); );
} }

View File

@ -1,4 +1,12 @@
{ {
"documentation": {
"id": "app.components.LeftMenuFooter.documentation",
"defaultMessage": "Documentation"
},
"help": {
"id": "app.components.LeftMenuFooter.help",
"defaultMessage": "Help"
},
"poweredBy": { "poweredBy": {
"id": "app.components.LeftMenuFooter.poweredBy", "id": "app.components.LeftMenuFooter.poweredBy",
"defaultMessage": "Proudly powered by " "defaultMessage": "Proudly powered by "

View File

@ -4,26 +4,27 @@
.leftMenuFooter { /* stylelint-disable */ .leftMenuFooter { /* stylelint-disable */
position: absolute; position: absolute;
width: 100%; width: 100%;
display: flex; background: $left-menu-bg;
justify-content: space-between; bottom: 0;
}
.list {
list-style: none;
padding: 0;
margin-bottom: 0;
}
.poweredBy {
width: 100%;
bottom: 0; bottom: 0;
height: 3rem; height: 3rem;
padding-left: 15px; padding-left: 15px;
padding-right: 15px; padding-right: 15px;
line-height: 3rem; line-height: 3rem;
font-family: 'Lato';
background-color: rgba(255, 255, 255, .02); background-color: rgba(255, 255, 255, .02);
font-size: 1rem; font-size: 1rem;
font-weight: 400; font-weight: 400;
letter-spacing: 0.05rem; letter-spacing: 0.05rem;
vertical-align: middle; vertical-align: middle;
color: $strapi-gray-light; color: $strapi-gray-light;
a {
color: #0097f7;
}
select{
outline: none;
}
} }

View File

@ -47,8 +47,22 @@ class LeftMenuLink extends React.Component {
<span className={styles.linkLabel}>{this.props.label}</span> <span className={styles.linkLabel}>{this.props.label}</span>
); );
return ( // Icon.
<li className={styles.item}> const icon = <i className={`${styles.linkIcon} fa-${this.props.icon} fa`} />;
// Create external or internal link.
const link = this.props.destination.includes('http')
? (
<a
className={`${styles.link} ${isLinkActive ? styles.linkActive : ''}`}
href={this.props.destination}
target="_blank"
>
{icon}
{content}
</a>
)
: (
<Link <Link
className={`${styles.link} ${isLinkActive ? styles.linkActive : ''}`} className={`${styles.link} ${isLinkActive ? styles.linkActive : ''}`}
to={{ to={{
@ -56,9 +70,14 @@ class LeftMenuLink extends React.Component {
search: this.props.source ? `?source=${this.props.source}` : '', search: this.props.source ? `?source=${this.props.source}` : '',
}} }}
> >
<i className={`${styles.linkIcon} fa-${this.props.icon} fa`} /> {icon}
{content} {content}
</Link> </Link>
);
return (
<li className={styles.item}>
{link}
{plugin} {plugin}
</li> </li>
); );

View File

@ -3,6 +3,7 @@
.leftMenuLinkContainer { /* stylelint-ignore */ .leftMenuLinkContainer { /* stylelint-ignore */
padding-top: .6rem; padding-top: .6rem;
padding-bottom: 10.2rem; // LeftMenuFooter height
position: absolute; position: absolute;
top: 60px; top: 60px;
right: 0; right: 0;

View File

@ -5,6 +5,7 @@
*/ */
import React from 'react'; import React from 'react';
import { FormattedMessage } from 'react-intl';
import { get } from 'lodash'; import { get } from 'lodash';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { ButtonDropdown, DropdownItem, DropdownMenu, DropdownToggle } from 'reactstrap'; import { ButtonDropdown, DropdownItem, DropdownMenu, DropdownToggle } from 'reactstrap';
@ -40,10 +41,10 @@ class Logout extends React.Component { // eslint-disable-line react/prefer-state
</DropdownToggle> </DropdownToggle>
<DropdownMenu className={styles.dropDownContent}> <DropdownMenu className={styles.dropDownContent}>
<DropdownItem onClick={this.handleGoTo} className={styles.item}> <DropdownItem onClick={this.handleGoTo} className={styles.item}>
Profile <FormattedMessage id="app.components.Logout.profile" />
</DropdownItem> </DropdownItem>
<DropdownItem onClick={this.handleLogout}> <DropdownItem onClick={this.handleLogout}>
Logout <FormattedMessage id="app.components.Logout.logout" />
<i className="fa fa-sign-out" /> <i className="fa fa-sign-out" />
</DropdownItem> </DropdownItem>
</DropdownMenu> </DropdownMenu>

View File

@ -256,6 +256,7 @@ AdminPage.propTypes = {
blockApp: PropTypes.bool.isRequired, blockApp: PropTypes.bool.isRequired,
disableGlobalOverlayBlocker: PropTypes.func.isRequired, disableGlobalOverlayBlocker: PropTypes.func.isRequired,
enableGlobalOverlayBlocker: PropTypes.func.isRequired, enableGlobalOverlayBlocker: PropTypes.func.isRequired,
getAdminData: PropTypes.func.isRequired,
hasUserPlugin: PropTypes.bool, hasUserPlugin: PropTypes.bool,
history: PropTypes.object.isRequired, history: PropTypes.object.isRequired,
isAppLoading: PropTypes.bool, isAppLoading: PropTypes.bool,

View File

@ -75,6 +75,8 @@
"app.components.ListPluginsPage.description": "قائمة الإضافيات المثبتة في المشروع.", "app.components.ListPluginsPage.description": "قائمة الإضافيات المثبتة في المشروع.",
"app.components.ListPluginsPage.helmet.title": "قائمة الإضافات", "app.components.ListPluginsPage.helmet.title": "قائمة الإضافات",
"app.components.ListPluginsPage.title": "الإضافات", "app.components.ListPluginsPage.title": "الإضافات",
"app.components.Logout.profile": "الملف الشخصي",
"app.components.Logout.logout": "الخروج",
"app.components.NotFoundPage.back": "العودة للرئيسية", "app.components.NotFoundPage.back": "العودة للرئيسية",
"app.components.NotFoundPage.description": "لا يوجد", "app.components.NotFoundPage.description": "لا يوجد",
"app.components.Official": "الرسمية", "app.components.Official": "الرسمية",

View File

@ -75,6 +75,8 @@
"app.components.LeftMenuLinkContainer.plugins": "Plugins", "app.components.LeftMenuLinkContainer.plugins": "Plugins",
"app.components.ListPluginsPage.description": "Liste aller im Projekt installierten Plugins.", "app.components.ListPluginsPage.description": "Liste aller im Projekt installierten Plugins.",
"app.components.ListPluginsPage.helmet.title": "Plugins anzeigen", "app.components.ListPluginsPage.helmet.title": "Plugins anzeigen",
"app.components.Logout.profile": "Profil",
"app.components.Logout.logout": "Ausloggen",
"app.components.ListPluginsPage.title": "Plugins", "app.components.ListPluginsPage.title": "Plugins",
"app.components.NotFoundPage.back": "Zurück zur Homepage", "app.components.NotFoundPage.back": "Zurück zur Homepage",
"app.components.NotFoundPage.description": "Nicht gefunden", "app.components.NotFoundPage.description": "Nicht gefunden",

View File

@ -65,6 +65,8 @@
"app.components.InstallPluginPopup.navLink.faq": "faq", "app.components.InstallPluginPopup.navLink.faq": "faq",
"app.components.InstallPluginPopup.navLink.screenshots": "Screenshots", "app.components.InstallPluginPopup.navLink.screenshots": "Screenshots",
"app.components.InstallPluginPopup.noDescription": "No description available", "app.components.InstallPluginPopup.noDescription": "No description available",
"app.components.LeftMenuFooter.documentation": "Documentation",
"app.components.LeftMenuFooter.help": "Help",
"app.components.LeftMenuFooter.poweredBy": "Powered by ", "app.components.LeftMenuFooter.poweredBy": "Powered by ",
"app.components.LeftMenuLinkContainer.configuration": "Configurations", "app.components.LeftMenuLinkContainer.configuration": "Configurations",
"app.components.LeftMenuLinkContainer.general": "General", "app.components.LeftMenuLinkContainer.general": "General",
@ -75,6 +77,8 @@
"app.components.ListPluginsPage.description": "List of the installed plugins in the project.", "app.components.ListPluginsPage.description": "List of the installed plugins in the project.",
"app.components.ListPluginsPage.helmet.title": "List plugins", "app.components.ListPluginsPage.helmet.title": "List plugins",
"app.components.ListPluginsPage.title": "Plugins", "app.components.ListPluginsPage.title": "Plugins",
"app.components.Logout.profile": "Profile",
"app.components.Logout.logout": "Logout",
"app.components.NotFoundPage.back": "Back to homepage", "app.components.NotFoundPage.back": "Back to homepage",
"app.components.NotFoundPage.description": "Not Found", "app.components.NotFoundPage.description": "Not Found",
"app.components.Official": "Official", "app.components.Official": "Official",

View File

@ -75,6 +75,8 @@
"app.components.ListPluginsPage.description": "Lista de los plugins instalados en el proyecto.", "app.components.ListPluginsPage.description": "Lista de los plugins instalados en el proyecto.",
"app.components.ListPluginsPage.helmet.title": "Lista de plugins", "app.components.ListPluginsPage.helmet.title": "Lista de plugins",
"app.components.ListPluginsPage.title": "Plugins", "app.components.ListPluginsPage.title": "Plugins",
"app.components.Logout.profile": "Perfil",
"app.components.Logout.logout": "Cerrar sesión",
"app.components.NotFoundPage.back": "Volver a la página de inicio", "app.components.NotFoundPage.back": "Volver a la página de inicio",
"app.components.NotFoundPage.description": "No encontrado", "app.components.NotFoundPage.description": "No encontrado",
"app.components.Official": "Oficial", "app.components.Official": "Oficial",

View File

@ -66,6 +66,8 @@
"app.components.InstallPluginPopup.navLink.faq": "FAQ", "app.components.InstallPluginPopup.navLink.faq": "FAQ",
"app.components.InstallPluginPopup.navLink.screenshots": "Captures d'écran", "app.components.InstallPluginPopup.navLink.screenshots": "Captures d'écran",
"app.components.InstallPluginPopup.noDescription": "Aucune description disponible", "app.components.InstallPluginPopup.noDescription": "Aucune description disponible",
"app.components.LeftMenuFooter.documentation": "Documentation",
"app.components.LeftMenuFooter.help": "Aide",
"app.components.LeftMenuFooter.poweredBy": "Propulsé par ", "app.components.LeftMenuFooter.poweredBy": "Propulsé par ",
"app.components.LeftMenuLinkContainer.configuration": "Configurations", "app.components.LeftMenuLinkContainer.configuration": "Configurations",
"app.components.LeftMenuLinkContainer.general": "Général", "app.components.LeftMenuLinkContainer.general": "Général",
@ -75,6 +77,8 @@
"app.components.LeftMenuLinkContainer.plugins": "Plugins", "app.components.LeftMenuLinkContainer.plugins": "Plugins",
"app.components.ListPluginsPage.description": "Liste des plugins installés dans le projet.", "app.components.ListPluginsPage.description": "Liste des plugins installés dans le projet.",
"app.components.ListPluginsPage.helmet.title": "List plugins", "app.components.ListPluginsPage.helmet.title": "List plugins",
"app.components.Logout.profile": "Profil",
"app.components.Logout.logout": "Connectez - Out",
"app.components.ListPluginsPage.title": "Plugins", "app.components.ListPluginsPage.title": "Plugins",
"app.components.NotFoundPage.back": "Retourner à la page d'accueil", "app.components.NotFoundPage.back": "Retourner à la page d'accueil",
"app.components.NotFoundPage.description": "Page introuvable", "app.components.NotFoundPage.description": "Page introuvable",

View File

@ -75,6 +75,8 @@
"app.components.ListPluginsPage.description": "Lista dei plugin installati nel progetto.", "app.components.ListPluginsPage.description": "Lista dei plugin installati nel progetto.",
"app.components.ListPluginsPage.helmet.title": "Lista plugin", "app.components.ListPluginsPage.helmet.title": "Lista plugin",
"app.components.ListPluginsPage.title": "Plugins", "app.components.ListPluginsPage.title": "Plugins",
"app.components.Logout.profile": "Profilo",
"app.components.Logout.logout": "Disconnettersi",
"app.components.NotFoundPage.back": "Torna alla home", "app.components.NotFoundPage.back": "Torna alla home",
"app.components.NotFoundPage.description": "Non trovato", "app.components.NotFoundPage.description": "Non trovato",
"app.components.Official": "Ufficiale", "app.components.Official": "Ufficiale",

View File

@ -75,6 +75,8 @@
"app.components.ListPluginsPage.description": "このプロジェクトでインストールされたプラグイン一覧", "app.components.ListPluginsPage.description": "このプロジェクトでインストールされたプラグイン一覧",
"app.components.ListPluginsPage.helmet.title": "プラグイン一覧", "app.components.ListPluginsPage.helmet.title": "プラグイン一覧",
"app.components.ListPluginsPage.title": "プラグイン", "app.components.ListPluginsPage.title": "プラグイン",
"app.components.Logout.profile": "プロフィール",
"app.components.Logout.logout": "ログアウト",
"app.components.NotFoundPage.back": "ホームページに戻る", "app.components.NotFoundPage.back": "ホームページに戻る",
"app.components.NotFoundPage.description": "見つかりません", "app.components.NotFoundPage.description": "見つかりません",
"app.components.Official": "オフィシャル", "app.components.Official": "オフィシャル",

View File

@ -74,6 +74,8 @@
"app.components.ListPluginsPage.description": "이 프로젝트에 설치된 플러그인 목록입니다.", "app.components.ListPluginsPage.description": "이 프로젝트에 설치된 플러그인 목록입니다.",
"app.components.ListPluginsPage.helmet.title": "플러그인 목록", "app.components.ListPluginsPage.helmet.title": "플러그인 목록",
"app.components.ListPluginsPage.title": "플러그인", "app.components.ListPluginsPage.title": "플러그인",
"app.components.Logout.profile": "옆모습",
"app.components.Logout.logout": "로그 아웃",
"app.components.NotFoundPage.back": "홈으로 돌아가기", "app.components.NotFoundPage.back": "홈으로 돌아가기",
"app.components.NotFoundPage.description": "찾을 수 없는 페이지입니다.", "app.components.NotFoundPage.description": "찾을 수 없는 페이지입니다.",
"app.components.Official": "공식", "app.components.Official": "공식",

View File

@ -75,6 +75,8 @@
"app.components.ListPluginsPage.description": "Lijst van alle plugins voor dit project", "app.components.ListPluginsPage.description": "Lijst van alle plugins voor dit project",
"app.components.ListPluginsPage.helmet.title": "Alle extensies", "app.components.ListPluginsPage.helmet.title": "Alle extensies",
"app.components.ListPluginsPage.title": "Extensies", "app.components.ListPluginsPage.title": "Extensies",
"app.components.Logout.profile": "Profil",
"app.components.Logout.logout": "Log ud",
"app.components.NotFoundPage.back": "Terug naar home pagina", "app.components.NotFoundPage.back": "Terug naar home pagina",
"app.components.NotFoundPage.description": "Niets gevonden", "app.components.NotFoundPage.description": "Niets gevonden",
"app.components.Official": "Officieel", "app.components.Official": "Officieel",

View File

@ -75,6 +75,8 @@
"app.components.ListPluginsPage.description": "Lista zainstalowanych wtyczek w projekcie.", "app.components.ListPluginsPage.description": "Lista zainstalowanych wtyczek w projekcie.",
"app.components.ListPluginsPage.helmet.title": "Lista wtyczek", "app.components.ListPluginsPage.helmet.title": "Lista wtyczek",
"app.components.ListPluginsPage.title": "Wtyczki", "app.components.ListPluginsPage.title": "Wtyczki",
"app.components.Logout.profile": "Profil",
"app.components.Logout.logout": "Wyloguj",
"app.components.NotFoundPage.back": "Powrót do strony głównej", "app.components.NotFoundPage.back": "Powrót do strony głównej",
"app.components.NotFoundPage.description": "Nie znaleziono", "app.components.NotFoundPage.description": "Nie znaleziono",
"app.components.Official": "Oficjalna", "app.components.Official": "Oficjalna",

View File

@ -75,6 +75,8 @@
"app.components.ListPluginsPage.description": "Lista de extensões instaladas no projeto.", "app.components.ListPluginsPage.description": "Lista de extensões instaladas no projeto.",
"app.components.ListPluginsPage.helmet.title": "Lista de extensões", "app.components.ListPluginsPage.helmet.title": "Lista de extensões",
"app.components.ListPluginsPage.title": "Extensões", "app.components.ListPluginsPage.title": "Extensões",
"app.components.Logout.profile": "Perfil",
"app.components.Logout.logout": "Sair",
"app.components.NotFoundPage.back": "Voltar à página inicial", "app.components.NotFoundPage.back": "Voltar à página inicial",
"app.components.NotFoundPage.description": "Não encontrado", "app.components.NotFoundPage.description": "Não encontrado",
"app.components.Official": "Oficial", "app.components.Official": "Oficial",

View File

@ -75,6 +75,8 @@
"app.components.ListPluginsPage.description": "Lista de extensões instaladas no projecto.", "app.components.ListPluginsPage.description": "Lista de extensões instaladas no projecto.",
"app.components.ListPluginsPage.helmet.title": "Lista de extensões", "app.components.ListPluginsPage.helmet.title": "Lista de extensões",
"app.components.ListPluginsPage.title": "Extensões", "app.components.ListPluginsPage.title": "Extensões",
"app.components.Logout.profile": "Perfil",
"app.components.Logout.logout": "Sair",
"app.components.NotFoundPage.back": "Voltar à página inicial", "app.components.NotFoundPage.back": "Voltar à página inicial",
"app.components.NotFoundPage.description": "Não encontrado", "app.components.NotFoundPage.description": "Não encontrado",
"app.components.Official": "Oficial", "app.components.Official": "Oficial",

View File

@ -75,6 +75,8 @@
"app.components.ListPluginsPage.description": "Список установленых плагинов.", "app.components.ListPluginsPage.description": "Список установленых плагинов.",
"app.components.ListPluginsPage.helmet.title": "Список плагинов", "app.components.ListPluginsPage.helmet.title": "Список плагинов",
"app.components.ListPluginsPage.title": "Плагины", "app.components.ListPluginsPage.title": "Плагины",
"app.components.Logout.profile": "Профиль",
"app.components.Logout.logout": "Выйти",
"app.components.NotFoundPage.back": "Вернуться на главную", "app.components.NotFoundPage.back": "Вернуться на главную",
"app.components.NotFoundPage.description": "Не найдено", "app.components.NotFoundPage.description": "Не найдено",
"app.components.Official": "Официальный", "app.components.Official": "Официальный",

View File

@ -75,6 +75,8 @@
"app.components.ListPluginsPage.description": "Projedeki yüklenen eklentiler.", "app.components.ListPluginsPage.description": "Projedeki yüklenen eklentiler.",
"app.components.ListPluginsPage.helmet.title": "Eklenti Listesi", "app.components.ListPluginsPage.helmet.title": "Eklenti Listesi",
"app.components.ListPluginsPage.title": "Etklentiler", "app.components.ListPluginsPage.title": "Etklentiler",
"app.components.Logout.profile": "Profil",
"app.components.Logout.logout": ıkış Yap",
"app.components.NotFoundPage.back": "Anasayfaya geri dön", "app.components.NotFoundPage.back": "Anasayfaya geri dön",
"app.components.NotFoundPage.description": "Bulunamadı", "app.components.NotFoundPage.description": "Bulunamadı",
"app.components.Official": "Resmi", "app.components.Official": "Resmi",

View File

@ -72,6 +72,8 @@
"app.components.ListPluginsPage.description": "项目中已安装的插件列表", "app.components.ListPluginsPage.description": "项目中已安装的插件列表",
"app.components.ListPluginsPage.helmet.title": "插件列表", "app.components.ListPluginsPage.helmet.title": "插件列表",
"app.components.ListPluginsPage.title": "插件", "app.components.ListPluginsPage.title": "插件",
"app.components.Logout.profile": "轮廓",
"app.components.Logout.logout": "登出",
"app.components.NotFoundPage.back": "返回主页", "app.components.NotFoundPage.back": "返回主页",
"app.components.NotFoundPage.description": "没有找到", "app.components.NotFoundPage.description": "没有找到",
"app.components.Official": "官方", "app.components.Official": "官方",

View File

@ -75,6 +75,8 @@
"app.components.ListPluginsPage.description": "這個專案安裝的擴充功能列表", "app.components.ListPluginsPage.description": "這個專案安裝的擴充功能列表",
"app.components.ListPluginsPage.helmet.title": "擴充功能列表", "app.components.ListPluginsPage.helmet.title": "擴充功能列表",
"app.components.ListPluginsPage.title": "擴充功能", "app.components.ListPluginsPage.title": "擴充功能",
"app.components.Logout.profile": "輪廓",
"app.components.Logout.logout": "登出",
"app.components.NotFoundPage.back": "回到主頁", "app.components.NotFoundPage.back": "回到主頁",
"app.components.NotFoundPage.description": "找不到此頁面", "app.components.NotFoundPage.description": "找不到此頁面",
"app.components.Official": "官方", "app.components.Official": "官方",