corrections found while writing documentation

This commit is contained in:
rglover 2017-06-05 16:44:35 -05:00
parent 5485eb9260
commit ab22ebc967
17 changed files with 127 additions and 42 deletions

View file

@ -14,3 +14,4 @@ notices-for-facebook-graph-api-2
1.4.0-remove-old-dev-bundle-link
1.4.1-add-shell-server-package
1.4.3-split-account-service-packages
1.5-add-dynamic-import-package

View file

@ -4,31 +4,32 @@
# 'meteor add' and 'meteor remove' will edit this file for you,
# but you can also edit it by hand.
meteor-base@1.0.4 # Packages every Meteor app needs to have
meteor-base@1.1.0 # Packages every Meteor app needs to have
mobile-experience@1.0.4 # Packages for a great mobile UX
mongo@1.1.17 # The database Meteor supports right now
blaze-html-templates@1.0.4 # Compile .html files into Meteor Blaze views
mongo@1.1.18 # The database Meteor supports right now
reactive-var@1.0.11 # Reactive variable for tracker
tracker@1.1.3 # Meteor's client-side reactive programming library
standard-minifier-css@1.3.4 # CSS minifier run for production mode
standard-minifier-js@2.0.0 # JS minifier run for production mode
standard-minifier-js@2.1.0 # JS minifier run for production mode
es5-shim@4.6.15 # ECMAScript 5 compatibility for older browsers.
ecmascript@0.7.3 # Enable ECMAScript2015+ syntax in app code
ecmascript@0.8.0 # Enable ECMAScript2015+ syntax in app code
shell-server@0.2.3 # Server-side component of the `meteor shell` command
react-meteor-data
alanning:roles
fourseven:scss
twbs:bootstrap
accounts-base@1.2.17
accounts-base@1.3.0
accounts-password@1.3.6
service-configuration@1.0.11
accounts-facebook@1.1.1
accounts-github@1.2.1
accounts-google@1.1.2
accounts-facebook@1.2.0
accounts-github@1.3.0
accounts-google@1.2.0
themeteorchef:bert
fortawesome:fontawesome
aldeed:collection2-core@2.0.0
audit-argument-checks@1.0.7
ddp-rate-limiter@1.0.7
dynamic-import
static-html

View file

@ -1 +1 @@
METEOR@1.4.4.3
METEOR@1.5

View file

@ -1,7 +1,7 @@
accounts-base@1.2.17
accounts-facebook@1.1.1
accounts-github@1.2.1
accounts-google@1.1.2
accounts-base@1.3.0
accounts-facebook@1.2.0
accounts-github@1.3.0
accounts-google@1.2.0
accounts-oauth@1.1.15
accounts-password@1.3.6
alanning:roles@1.2.16
@ -9,14 +9,13 @@ aldeed:collection2-core@2.0.1
allow-deny@1.0.5
audit-argument-checks@1.0.7
autoupdate@1.3.12
babel-compiler@6.18.2
babel-compiler@6.19.1
babel-runtime@1.0.1
base64@1.0.10
binary-heap@1.0.10
blaze@2.3.2
blaze-html-templates@1.1.2
blaze-tools@1.0.10
boilerplate-generator@1.0.11
boilerplate-generator@1.1.0
caching-compiler@1.1.9
caching-html-compiler@1.1.2
callback-hook@1.0.10
@ -28,12 +27,15 @@ ddp-rate-limiter@1.0.7
ddp-server@1.3.14
deps@1.0.12
diff-sequence@1.0.7
ecmascript@0.7.3
ecmascript-runtime@0.3.15
dynamic-import@0.1.0
ecmascript@0.8.0
ecmascript-runtime@0.4.1
ecmascript-runtime-client@0.4.1
ecmascript-runtime-server@0.4.1
ejson@1.0.13
email@1.2.1
es5-shim@4.6.15
facebook-oauth@1.3.0
facebook-oauth@1.3.1
fastclick@1.0.13
fortawesome:fontawesome@4.7.0
fourseven:scss@4.5.0
@ -48,18 +50,18 @@ id-map@1.0.9
jquery@1.11.10
launch-screen@1.1.1
livedata@1.0.18
localstorage@1.0.12
localstorage@1.1.0
logging@1.1.17
meteor@1.6.1
meteor-base@1.0.4
meteor-base@1.1.0
minifier-css@1.2.16
minifier-js@2.0.0
minimongo@1.0.23
minifier-js@2.1.0
minimongo@1.2.0
mobile-experience@1.0.4
mobile-status-bar@1.0.14
modules@0.8.2
modules-runtime@0.7.10
mongo@1.1.17
modules@0.9.0
modules-runtime@0.8.0
mongo@1.1.18
mongo-id@1.0.6
npm-bcrypt@0.9.2
npm-mongo@2.2.24
@ -67,12 +69,12 @@ oauth@1.1.13
oauth2@1.1.11
observe-sequence@1.0.16
ordered-dict@1.0.9
promise@0.8.8
promise@0.8.9
raix:eventemitter@0.1.3
random@1.0.10
rate-limit@1.0.8
react-meteor-data@0.2.11
reactive-dict@1.1.8
reactive-dict@1.1.9
reactive-var@1.0.11
reload@1.1.11
retry@1.0.9
@ -85,7 +87,8 @@ spacebars@1.0.15
spacebars-compiler@1.1.2
srp@1.0.10
standard-minifier-css@1.3.4
standard-minifier-js@2.0.0
standard-minifier-js@2.1.0
static-html@1.2.2
templating@1.3.2
templating-compiler@1.3.2
templating-runtime@1.3.2
@ -97,5 +100,5 @@ twbs:bootstrap@3.3.6
ui@1.0.13
underscore@1.0.10
url@1.1.0
webapp@1.3.15
webapp@1.3.16
webapp-hashing@1.0.9

View file

@ -1,14 +1,30 @@
import { Meteor } from 'meteor/meteor';
import { check } from 'meteor/check';
import { ServiceConfiguration } from 'meteor/service-configuration';
import rateLimit from '../../../modules/rate-limit';
Meteor.methods({
'oauth.verifyConfiguration': function oauthVerifyConfiguration(services) {
check(services, Array);
const verifiedServices = [];
services.forEach((service) => {
if (ServiceConfiguration.configurations.findOne({ service })) verifiedServices.push(service);
});
return verifiedServices.sort();
try {
const verifiedServices = [];
services.forEach((service) => {
if (ServiceConfiguration.configurations.findOne({ service })) {
verifiedServices.push(service);
}
});
return verifiedServices.sort();
} catch (exception) {
throw new Meteor.Error('500', exception);
}
},
});
rateLimit({
methods: [
'oauth.verifyConfiguration',
],
limit: 5,
timeRange: 1000,
});

View file

@ -1,6 +1,6 @@
import { Meteor } from 'meteor/meteor';
import { check, Match } from 'meteor/check';
import editProfile from '../../../modules/server/edit-profile';
import editProfile from './edit-profile';
import rateLimit from '../../../modules/rate-limit';
Meteor.methods({

View file

@ -4,7 +4,7 @@ import getPrivateFile from '../../../modules/server/get-private-file';
import parseMarkdown from '../../../modules/parse-markdown';
Meteor.methods({
'utility.getPage': function utilityReadFileAsText(fileName) {
'utility.getPage': function utilityGetPage(fileName) {
check(fileName, String);
return parseMarkdown(getPrivateFile(`pages/${fileName}.md`));
},

View file

@ -1,7 +1,7 @@
import React from 'react';
import PropTypes from 'prop-types';
import './InputHint.scss';
import './InputHint.css';
const InputHint = ({ children }) => (
<div className="InputHint">

View file

@ -0,0 +1,56 @@
import React from 'react';
const Loading = () => (
<div className="Loading">
<svg width="44" height="44" viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg" stroke="#4285F4">
<g fill="none" fillRule="evenodd" strokeWidth="2">
<circle cx="22" cy="22" r="1">
<animate
attributeName="r"
begin="0s"
dur="1.8s"
values="1; 20"
calcMode="spline"
keyTimes="0; 1"
keySplines="0.165, 0.84, 0.44, 1"
repeatCount="indefinite"
/>
<animate
attributeName="stroke-opacity"
begin="0s"
dur="1.8s"
values="1; 0"
calcMode="spline"
keyTimes="0; 1"
keySplines="0.3, 0.61, 0.355, 1"
repeatCount="indefinite"
/>
</circle>
<circle cx="22" cy="22" r="1">
<animate
attributeName="r"
begin="-0.9s"
dur="1.8s"
values="1; 20"
calcMode="spline"
keyTimes="0; 1"
keySplines="0.165, 0.84, 0.44, 1"
repeatCount="indefinite"
/>
<animate
attributeName="stroke-opacity"
begin="-0.9s"
dur="1.8s"
values="1; 0"
calcMode="spline"
keyTimes="0; 1"
keySplines="0.3, 0.61, 0.355, 1"
repeatCount="indefinite"
/>
</circle>
</g>
</svg>
</div>
);
export default Loading;

View file

@ -7,6 +7,7 @@ import { Meteor } from 'meteor/meteor';
import { createContainer } from 'meteor/react-meteor-data';
import { Bert } from 'meteor/themeteorchef:bert';
import DocumentsCollection from '../../../api/Documents/Documents';
import Loading from '../../components/Loading/Loading';
import './Documents.scss';
@ -22,7 +23,7 @@ const handleRemove = (documentId) => {
}
};
const Documents = ({ documents, match, history }) => (
const Documents = ({ loading, documents, match, history }) => (!loading ? (
<div className="Documents">
<div className="page-header clearfix">
<h4 className="pull-left">Documents</h4>
@ -63,9 +64,10 @@ const Documents = ({ documents, match, history }) => (
</tbody>
</Table> : <Alert bsStyle="warning">No documents yet!</Alert>}
</div>
);
) : <Loading />);
Documents.propTypes = {
loading: PropTypes.bool.isRequired,
documents: PropTypes.arrayOf(PropTypes.object).isRequired,
match: PropTypes.object.isRequired,
history: PropTypes.object.isRequired,

View file

@ -6,6 +6,7 @@ import { Meteor } from 'meteor/meteor';
import { Bert } from 'meteor/themeteorchef:bert';
import Documents from '../../../api/Documents/Documents';
import NotFound from '../NotFound/NotFound';
import Loading from '../../components/Loading/Loading';
const handleRemove = (documentId, history) => {
if (confirm('Are you sure? This is permanent!')) {
@ -20,7 +21,7 @@ const handleRemove = (documentId, history) => {
}
};
const ViewDocument = ({ doc, match, history }) => (doc ? (
const renderDocument = (doc, match, history) => (doc ? (
<div className="ViewDocument">
<div className="page-header clearfix">
<h4 className="pull-left">{ doc && doc.title }</h4>
@ -37,7 +38,12 @@ const ViewDocument = ({ doc, match, history }) => (doc ? (
</div>
) : <NotFound />);
const ViewDocument = ({ loading, doc, match, history }) => (
!loading ? renderDocument(doc, match, history) : <Loading />
);
ViewDocument.propTypes = {
loading: PropTypes.bool.isRequired,
doc: PropTypes.object.isRequired,
match: PropTypes.object.isRequired,
history: PropTypes.object.isRequired,