summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
Diffstat (limited to 'web')
-rw-r--r--web/react/components/admin_console/email_settings.jsx2
-rw-r--r--web/react/components/posts_view.jsx3
-rw-r--r--web/react/components/search_results_item.jsx3
-rw-r--r--web/react/components/user_settings/custom_theme_chooser.jsx22
-rw-r--r--web/react/dispatcher/event_helpers.jsx13
-rw-r--r--web/react/utils/constants.jsx46
-rw-r--r--web/sass-files/sass/partials/_base.scss1
-rw-r--r--web/sass-files/sass/partials/_docs.scss19
-rw-r--r--web/sass-files/sass/partials/_popover.scss4
-rw-r--r--web/sass-files/sass/partials/_post.scss1
-rw-r--r--web/sass-files/sass/partials/_responsive.scss2
-rw-r--r--web/sass-files/sass/partials/_sidebar--right.scss6
-rw-r--r--web/sass-files/sass/styles.scss3
-rw-r--r--web/static/images/themes/code_themes/githubLarge.pngbin0 -> 83246 bytes
-rw-r--r--web/static/images/themes/code_themes/monokaiLarge.pngbin0 -> 82658 bytes
-rw-r--r--web/static/images/themes/code_themes/solarized_darkLarge.pngbin0 -> 81942 bytes
-rw-r--r--web/static/images/themes/code_themes/solarized_lightLarge.pngbin0 -> 82868 bytes
-rw-r--r--web/templates/docs.html2
18 files changed, 87 insertions, 40 deletions
diff --git a/web/react/components/admin_console/email_settings.jsx b/web/react/components/admin_console/email_settings.jsx
index 238ace3da..42e3507d6 100644
--- a/web/react/components/admin_console/email_settings.jsx
+++ b/web/react/components/admin_console/email_settings.jsx
@@ -586,7 +586,7 @@ export default class EmailSettings extends React.Component {
onChange={this.handleChange}
disabled={!this.state.sendPushNotifications}
/>
- <p className='help-text'>{'Location of the push notification server.'}</p>
+ <p className='help-text'>{'Location of Mattermost push notification service you can set up behind your firewall using https://github.com/mattermost/push-proxy. For testing you can use https://push.mattermost.com, which connects to the sample Mattermost iOS app in the public Apple AppStore. Please do not use test service for production deployments.'}</p>
</div>
</div>
diff --git a/web/react/components/posts_view.jsx b/web/react/components/posts_view.jsx
index b7ac92672..cc4f5e138 100644
--- a/web/react/components/posts_view.jsx
+++ b/web/react/components/posts_view.jsx
@@ -233,7 +233,8 @@ export default class PostsView extends React.Component {
window.requestAnimationFrame(() => {
// If separator exists scroll to it. Otherwise scroll to bottom.
if (this.refs.newMessageSeparator) {
- this.refs.newMessageSeparator.scrollIntoView();
+ var objDiv = this.refs.postlist;
+ objDiv.scrollTop = this.refs.newMessageSeparator.offsetTop; //scrolls node to top of Div
} else {
this.refs.postlist.scrollTop = this.refs.postlist.scrollHeight;
}
diff --git a/web/react/components/search_results_item.jsx b/web/react/components/search_results_item.jsx
index f71abf971..f235cac0a 100644
--- a/web/react/components/search_results_item.jsx
+++ b/web/react/components/search_results_item.jsx
@@ -31,8 +31,7 @@ export default class SearchResultsItem extends React.Component {
handleFocusRHSClick(e) {
e.preventDefault();
-
- EventHelpers.emitPostFocusRightHandSideEvent(this.props.post);
+ EventHelpers.emitPostFocusRightHandSideFromSearch(this.props.post, this.props.isMentionSearch);
}
render() {
diff --git a/web/react/components/user_settings/custom_theme_chooser.jsx b/web/react/components/user_settings/custom_theme_chooser.jsx
index 35f836adb..778c74c23 100644
--- a/web/react/components/user_settings/custom_theme_chooser.jsx
+++ b/web/react/components/user_settings/custom_theme_chooser.jsx
@@ -3,6 +3,9 @@
import Constants from '../../utils/constants.jsx';
+const OverlayTrigger = ReactBootstrap.OverlayTrigger;
+const Popover = ReactBootstrap.Popover;
+
export default class CustomThemeChooser extends React.Component {
constructor(props) {
super(props);
@@ -72,6 +75,19 @@ export default class CustomThemeChooser extends React.Component {
);
});
+ var popoverContent = (
+ <Popover
+ bsStyle='info'
+ id='code-popover'
+ className='code-popover'
+ >
+ <img
+ width='200'
+ src={'/static/images/themes/code_themes/' + theme[element.id] + 'Large.png'}
+ />
+ </Popover>
+ );
+
elements.push(
<div
className='col-sm-4 form-group'
@@ -90,11 +106,17 @@ export default class CustomThemeChooser extends React.Component {
>
{codeThemeOptions}
</select>
+ <OverlayTrigger
+ placement='top'
+ overlay={popoverContent}
+ ref='headerOverlay'
+ >
<span className='input-group-addon'>
<img
src={'/static/images/themes/code_themes/' + theme[element.id] + '.png'}
/>
</span>
+ </OverlayTrigger>
</div>
</div>
);
diff --git a/web/react/dispatcher/event_helpers.jsx b/web/react/dispatcher/event_helpers.jsx
index 297367ce9..a03923c1a 100644
--- a/web/react/dispatcher/event_helpers.jsx
+++ b/web/react/dispatcher/event_helpers.jsx
@@ -4,11 +4,11 @@
import AppDispatcher from '../dispatcher/app_dispatcher.jsx';
import ChannelStore from '../stores/channel_store.jsx';
import PostStore from '../stores/post_store.jsx';
+import SearchStore from '../stores/search_store.jsx';
import Constants from '../utils/constants.jsx';
const ActionTypes = Constants.ActionTypes;
import * as AsyncClient from '../utils/async_client.jsx';
import * as Client from '../utils/client.jsx';
-import * as Utils from '../utils/utils.jsx';
export function emitChannelClickEvent(channel) {
AsyncClient.getChannels(true);
@@ -39,28 +39,27 @@ export function emitPostFocusEvent(postId) {
);
}
-export function emitPostFocusRightHandSideEvent(post) {
+export function emitPostFocusRightHandSideFromSearch(post, isMentionSearch) {
Client.getPost(
post.channel_id,
post.id,
(data) => {
AppDispatcher.handleServerAction({
type: ActionTypes.RECIEVED_POST_SELECTED,
- post_list: data
+ post_list: data,
+ from_search: SearchStore.getSearchTerm()
});
AppDispatcher.handleServerAction({
type: ActionTypes.RECIEVED_SEARCH,
- results: null
+ results: null,
+ is_mention_search: isMentionSearch
});
},
(err) => {
AsyncClient.dispatchError(err, 'getPost');
}
);
-
- var postChannel = ChannelStore.get(post.channel_id);
- Utils.switchChannel(postChannel);
}
export function emitLoadMorePostsEvent() {
diff --git a/web/react/utils/constants.jsx b/web/react/utils/constants.jsx
index d23c18b5d..5f027a409 100644
--- a/web/react/utils/constants.jsx
+++ b/web/react/utils/constants.jsx
@@ -166,29 +166,6 @@ export default {
UPDATE_TYPING_MS: 5000,
THEMES: {
default: {
- type: 'Mattermost',
- sidebarBg: '#fafafa',
- sidebarText: '#333333',
- sidebarUnreadText: '#333333',
- sidebarTextHoverBg: '#e6f2fa',
- sidebarTextActiveBorder: '#378FD2',
- sidebarTextActiveColor: '#111111',
- sidebarHeaderBg: '#2389d7',
- sidebarHeaderTextColor: '#ffffff',
- onlineIndicator: '#7DBE00',
- mentionBj: '#2389d7',
- mentionColor: '#ffffff',
- centerChannelBg: '#ffffff',
- centerChannelColor: '#333333',
- newMessageSeparator: '#FF8800',
- linkColor: '#2389d7',
- buttonBg: '#2389d7',
- buttonColor: '#FFFFFF',
- mentionHighlightBg: '#fff2bb',
- mentionHighlightLink: '#2f81b7',
- codeTheme: 'github'
- },
- organization: {
type: 'Organization',
sidebarBg: '#2071a7',
sidebarText: '#fff',
@@ -211,6 +188,29 @@ export default {
mentionHighlightLink: '#2f81b7',
codeTheme: 'github'
},
+ mattermost: {
+ type: 'Mattermost',
+ sidebarBg: '#fafafa',
+ sidebarText: '#333333',
+ sidebarUnreadText: '#333333',
+ sidebarTextHoverBg: '#e6f2fa',
+ sidebarTextActiveBorder: '#378FD2',
+ sidebarTextActiveColor: '#111111',
+ sidebarHeaderBg: '#2389d7',
+ sidebarHeaderTextColor: '#ffffff',
+ onlineIndicator: '#7DBE00',
+ mentionBj: '#2389d7',
+ mentionColor: '#ffffff',
+ centerChannelBg: '#ffffff',
+ centerChannelColor: '#333333',
+ newMessageSeparator: '#FF8800',
+ linkColor: '#2389d7',
+ buttonBg: '#2389d7',
+ buttonColor: '#FFFFFF',
+ mentionHighlightBg: '#fff2bb',
+ mentionHighlightLink: '#2f81b7',
+ codeTheme: 'github'
+ },
mattermostDark: {
type: 'Mattermost Dark',
sidebarBg: '#1B2C3E',
diff --git a/web/sass-files/sass/partials/_base.scss b/web/sass-files/sass/partials/_base.scss
index 61ad186e0..4f9e1d5c7 100644
--- a/web/sass-files/sass/partials/_base.scss
+++ b/web/sass-files/sass/partials/_base.scss
@@ -9,6 +9,7 @@ body {
-webkit-font-smoothing: antialiased;
background: $body-bg;
position: relative;
+ width: 100%;
height: 100%;
&.white {
background: #fff;
diff --git a/web/sass-files/sass/partials/_docs.scss b/web/sass-files/sass/partials/_docs.scss
new file mode 100644
index 000000000..f4e7cc314
--- /dev/null
+++ b/web/sass-files/sass/partials/_docs.scss
@@ -0,0 +1,19 @@
+@charset "UTF-8";
+
+.docs__page {
+ line-height: 1.7;
+ padding-bottom: 20px;
+
+ > div {
+ width: 1170px;
+ margin: 0 auto;
+ padding: 0 15px;
+ max-width: 100%;
+ }
+
+ h1.markdown__heading {
+ border-bottom: 1px solid #ddd;
+ padding-bottom: 1rem;
+ margin: 1em 0 1em;
+ }
+} \ No newline at end of file
diff --git a/web/sass-files/sass/partials/_popover.scss b/web/sass-files/sass/partials/_popover.scss
index bc55b7ff7..1ae07fe5b 100644
--- a/web/sass-files/sass/partials/_popover.scss
+++ b/web/sass-files/sass/partials/_popover.scss
@@ -10,6 +10,10 @@
display: inline-block;
}
+.code-popover .popover-content {
+ padding: 5px;
+}
+
.user-popover__image {
margin: 0 0 10px;
@include border-radius(128px);
diff --git a/web/sass-files/sass/partials/_post.scss b/web/sass-files/sass/partials/_post.scss
index 3ec1c4434..fbebb4e98 100644
--- a/web/sass-files/sass/partials/_post.scss
+++ b/web/sass-files/sass/partials/_post.scss
@@ -209,6 +209,7 @@ body.ios {
@include flex(1 1 auto);
position: relative;
overflow-y: hidden;
+ height: 100%;
.post-list-holder-by-time {
background: #fff;
diff --git a/web/sass-files/sass/partials/_responsive.scss b/web/sass-files/sass/partials/_responsive.scss
index 66aaede8d..2aa130fa9 100644
--- a/web/sass-files/sass/partials/_responsive.scss
+++ b/web/sass-files/sass/partials/_responsive.scss
@@ -54,9 +54,7 @@
@media screen and (max-width: 960px) {
.sidebar--right {
- width: 400px;
z-index: 5;
- right: 0;
@include translateX(100%);
&.move--left {
diff --git a/web/sass-files/sass/partials/_sidebar--right.scss b/web/sass-files/sass/partials/_sidebar--right.scss
index f328f0971..e39f7730b 100644
--- a/web/sass-files/sass/partials/_sidebar--right.scss
+++ b/web/sass-files/sass/partials/_sidebar--right.scss
@@ -1,17 +1,17 @@
@charset "UTF-8";
.sidebar--right {
- position: absolute;
+ position: fixed;
width: 400px;
height: 100%;
right: 0px;
padding: 0;
background: #fff;
@include single-transition(transform, 0.5s, ease);
- right: -320px;
+ @include translateX(400px);
&.move--left {
- right: 0;
+ @include translateX(0);
}
.post-body {
diff --git a/web/sass-files/sass/styles.scss b/web/sass-files/sass/styles.scss
index c93372175..7bf3574d2 100644
--- a/web/sass-files/sass/styles.scss
+++ b/web/sass-files/sass/styles.scss
@@ -49,6 +49,9 @@
// Responsive Css
@import "partials/responsive";
+// Docs Css
+@import "partials/docs";
+
// Standalone Css
@import "partials/oauth";
diff --git a/web/static/images/themes/code_themes/githubLarge.png b/web/static/images/themes/code_themes/githubLarge.png
new file mode 100644
index 000000000..cffc6e012
--- /dev/null
+++ b/web/static/images/themes/code_themes/githubLarge.png
Binary files differ
diff --git a/web/static/images/themes/code_themes/monokaiLarge.png b/web/static/images/themes/code_themes/monokaiLarge.png
new file mode 100644
index 000000000..7224950af
--- /dev/null
+++ b/web/static/images/themes/code_themes/monokaiLarge.png
Binary files differ
diff --git a/web/static/images/themes/code_themes/solarized_darkLarge.png b/web/static/images/themes/code_themes/solarized_darkLarge.png
new file mode 100644
index 000000000..582df48f9
--- /dev/null
+++ b/web/static/images/themes/code_themes/solarized_darkLarge.png
Binary files differ
diff --git a/web/static/images/themes/code_themes/solarized_lightLarge.png b/web/static/images/themes/code_themes/solarized_lightLarge.png
new file mode 100644
index 000000000..d2c2702fb
--- /dev/null
+++ b/web/static/images/themes/code_themes/solarized_lightLarge.png
Binary files differ
diff --git a/web/templates/docs.html b/web/templates/docs.html
index 21659e810..0e0f51648 100644
--- a/web/templates/docs.html
+++ b/web/templates/docs.html
@@ -7,7 +7,7 @@
<div class="inner__wrap">
<div class="row content">
<div class="col-sm-12">
- <div id="docs"></div>
+ <div class="docs__page" id="docs"></div>
</div>
<div class="footer-push"></div>
</div>