Skip to content
This repository has been archived by the owner on Nov 2, 2018. It is now read-only.

Commit

Permalink
Merge branch 'release/0.2.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
brianjgeiger committed Mar 27, 2017
2 parents d4287bc + 39df0fc commit 85801f2
Show file tree
Hide file tree
Showing 27 changed files with 1,297 additions and 483 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ This guide will help you get started if you're interested.

## Prerequisites

You will need the following things properly installed on your computer.
You will need the following dependencies properly installed on your computer.

* [Git](http://git-scm.com/)
* [Node.js](http://nodejs.org/) (preferably via [nvm](https://github.com/creationix/nvm#install-script))
Expand Down
2 changes: 1 addition & 1 deletion app/components/preprint-footer-branded.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Ember from 'ember';
import Analytics from '../mixins/analytics';
import Analytics from 'ember-osf/mixins/analytics';

export default Ember.Component.extend(Analytics, {
classNames: ['branded-footer']
Expand Down
2 changes: 1 addition & 1 deletion app/components/preprint-navbar-branded.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Ember from 'ember';
import OSFAgnosticAuthControllerMixin from 'ember-osf/mixins/osf-agnostic-auth-controller';
import Analytics from '../mixins/analytics';
import Analytics from 'ember-osf/mixins/analytics';

export default Ember.Component.extend(OSFAgnosticAuthControllerMixin, Analytics, {
session: Ember.inject.service(),
Expand Down
2 changes: 1 addition & 1 deletion app/components/preprint-navbar.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Ember from 'ember';
import Analytics from '../mixins/analytics';
import Analytics from 'ember-osf/mixins/analytics';

export default Ember.Component.extend(Analytics, {
});
9 changes: 5 additions & 4 deletions app/components/search-registries.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
import Ember from 'ember';
import Analytics from 'ember-osf/mixins/analytics';

export default Ember.Component.extend({
export default Ember.Component.extend(Analytics, {
metrics: Ember.inject.service(),
actions: {
search() {
let query = Ember.$.trim(this.$('#searchBox').val());
this.sendAction('search', query);
Ember
.get(this, 'metrics')
Ember.get(this, 'metrics')
.trackEvent({
category: 'button',
action: 'click',
label: 'Registries - Index - Search'
label: 'Registries - Index - Search',
extra: query
});
}
},
Expand Down
5 changes: 3 additions & 2 deletions app/components/search-result.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Ember from 'ember';
import Analytics from '../mixins/analytics';
import Analytics from 'ember-osf/mixins/analytics';

export default Ember.Component.extend(Analytics, {
providerUrlRegex: {
Expand Down Expand Up @@ -51,7 +51,8 @@ export default Ember.Component.extend(Analytics, {
.trackEvent({
category: 'result',
action: !this.showBody ? 'contract' : 'expand',
label: `Registries - Discover - ${this.result.title}`
label: `Registries - Discover - ${this.result.title}`,
extra: this.result.id
});
}
}
Expand Down
56 changes: 43 additions & 13 deletions app/controllers/discover.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Ember from 'ember';
import config from 'ember-get-config';
import Analytics from '../mixins/analytics';
import Analytics from 'ember-osf/mixins/analytics';
import RegistrationCount from '../mixins/registration-count';

import { elasticEscape } from '../utils/elastic-query';
Expand Down Expand Up @@ -38,6 +38,12 @@ export default Ember.Controller.extend(Analytics, RegistrationCount, {
// 'RIDIE'
],

whiteListedProviders: [
'OSF',
'ClinicalTrials.gov',
'Research Registry'
].map(item => item.toLowerCase()),

registrationTypes: [
'AsPredicted Preregistration',
'Election Research Preacceptance Competition',
Expand Down Expand Up @@ -85,7 +91,9 @@ export default Ember.Controller.extend(Analytics, RegistrationCount, {
crossDomain: true,
}).then(results => {
const hits = results.aggregations.sources.buckets;
const providers = hits;
const whiteList = this.get('whiteListedProviders');
const providers = hits
.filter(hit => whiteList.includes(hit.key.toLowerCase()));

providers.push(
...this.get('osfProviders')
Expand Down Expand Up @@ -150,13 +158,11 @@ export default Ember.Controller.extend(Analytics, RegistrationCount, {
}),
toggleTypeCSS(show) {
if (show) {
Ember.$('.type-selector-warning').hide();
Ember.$('.type-checkbox').removeAttr('disabled');
Ember.$('.registration-type-selector').fadeTo('slow', 1);
Ember.$('.registration-list-items').fadeTo('slow', 1);
} else {
Ember.$('.type-selector-warning').show();
Ember.$('.type-checkbox').attr('disabled', 'disabled');
Ember.$('.registration-type-selector').fadeTo('slow', 0.5);
Ember.$('.registration-list-items').fadeTo('slow', 0.6);
}
},
typeChanged: Ember.observer('typeFilter', function() {
Expand Down Expand Up @@ -184,6 +190,17 @@ export default Ember.Controller.extend(Analytics, RegistrationCount, {
this.set('loading', true);
Ember.run.debounce(this, this._loadPage, 500);
},
trackDebouncedSearch() {
// For use in tracking debounced search of registries in Keen and GA
Ember.get(this, 'metrics')
.trackEvent({
category: 'input',
action: 'onkeyup',
label: 'Registries - Discover - Search',
extra: this.get('queryString')

});
},
_loadPage() {
let queryBody = JSON.stringify(this.getQueryBody());

Expand Down Expand Up @@ -322,6 +339,10 @@ export default Ember.Controller.extend(Analytics, RegistrationCount, {
}),
otherProviders: [],
actions: {
trackSearch() {
// Tracks search on keypress, debounced
Ember.run.debounce(this, this.trackDebouncedSearch, 3000);
},
search(val, event) {
if (event &&
(
Expand All @@ -335,12 +356,21 @@ export default Ember.Controller.extend(Analytics, RegistrationCount, {
this.set('page', 1);
this.loadPage();

Ember.get(this, 'metrics')
.trackEvent({
category: `${event && event.type === 'keyup' ? 'input' : 'button'}`,
action: `${event && event.type === 'keyup' ? 'onkeyup' : 'click'}`,
label: 'Registries - Discover - Search'
});
const category = `${event && event.type === 'keyup' ? 'input' : 'button'}`;
const action = `${event && event.type === 'keyup' ? 'onkeyup' : 'click'}`;
const label = 'Registries - Discover - Search';

if (action === 'click') {
// Only want to track search here when button clicked. Keypress search tracking is debounced in trackSearch
Ember.get(this, 'metrics')
.trackEvent({
category: category,
action: action,
label: label,
extra: this.get('queryString')

});
}
},

previous() {
Expand Down Expand Up @@ -385,7 +415,7 @@ export default Ember.Controller.extend(Analytics, RegistrationCount, {
.trackEvent({
category: 'dropdown',
action: 'select',
label: `Registries - Discover - Sort by: ${copy[index]}`
label: `Registries - Discover - Sort by: ${copy[0]}`
});
},

Expand Down
2 changes: 1 addition & 1 deletion app/controllers/forbidden.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Ember from 'ember';
import Analytics from '../mixins/analytics';
import Analytics from 'ember-osf/mixins/analytics';

export default Ember.Controller.extend(Analytics, {
theme: Ember.inject.service(),
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Ember from 'ember';
import config from 'ember-get-config';
import Analytics from '../mixins/analytics';
import Analytics from 'ember-osf/mixins/analytics';
import RegistrationCount from '../mixins/registration-count';

const PLACEHOLDER_DATA = [
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/page-not-found.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Ember from 'ember';
import Analytics from '../mixins/analytics';
import Analytics from 'ember-osf/mixins/analytics';

export default Ember.Controller.extend(Analytics, {
theme: Ember.inject.service(),
Expand Down
7 changes: 7 additions & 0 deletions app/locales/en/translations.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,13 @@ export default {
refine: `Refine your search by`,
providers: `Providers`,
type: 'OSF Registration Type',
osf_registraton_filter: 'List of eight OSF registration types',
popover: {
registries: {
body: "Filtering by Registration type is only available with OSF Registries",
}

},
subject: `Subject`,
results: {
of: `of`,
Expand Down
31 changes: 0 additions & 31 deletions app/mixins/analytics.js

This file was deleted.

2 changes: 1 addition & 1 deletion app/routes/application.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import Ember from 'ember';

import OSFAgnosticAuthRouteMixin from 'ember-osf/mixins/osf-agnostic-auth-route';
import Analytics from '../mixins/analytics';
import Analytics from 'ember-osf/mixins/analytics';

export default Ember.Route.extend(Analytics, OSFAgnosticAuthRouteMixin, {
i18n: Ember.inject.service(),
Expand Down
2 changes: 1 addition & 1 deletion app/routes/discover.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Ember from 'ember';
import ResetScrollMixin from '../mixins/reset-scroll';
import Analytics from '../mixins/analytics';
import Analytics from 'ember-osf/mixins/analytics';

export default Ember.Route.extend(Analytics, ResetScrollMixin, {
queryParams: {
Expand Down
2 changes: 1 addition & 1 deletion app/routes/forbidden.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Ember from 'ember';
import ResetScrollMixin from '../mixins/reset-scroll';
import Analytics from '../mixins/analytics';
import Analytics from 'ember-osf/mixins/analytics';

export default Ember.Route.extend(Analytics, ResetScrollMixin, {
});
5 changes: 2 additions & 3 deletions app/routes/index.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import Ember from 'ember';

import ResetScrollMixin from '../mixins/reset-scroll';
import Analytics from '../mixins/analytics';
import Analytics from 'ember-osf/mixins/analytics';

export default Ember.Route.extend(Analytics, ResetScrollMixin, {
export default Ember.Route.extend(Analytics, ResetScrollMixin, {
// store: Ember.inject.service(),
theme: Ember.inject.service(),
model() {
Expand Down
2 changes: 1 addition & 1 deletion app/routes/page-not-found.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Ember from 'ember';
import ResetScrollMixin from '../mixins/reset-scroll';
import Analytics from '../mixins/analytics';
import Analytics from 'ember-osf/mixins/analytics';

export default Ember.Route.extend(Analytics, ResetScrollMixin, {
});
3 changes: 2 additions & 1 deletion app/routes/provider.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import Ember from 'ember';
import config from 'ember-get-config';
import Analytics from 'ember-osf/mixins/analytics';

export default Ember.Route.extend({
export default Ember.Route.extend(Analytics, {
theme: Ember.inject.service(),

providerIds: config.REGISTRIES.providers
Expand Down
3 changes: 3 additions & 0 deletions app/styles/app.scss
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,9 @@ $logo-dir: 'img/provider_logos/';
.filter-heading {
background-color: #efefef;
}
.filter-heading span {
display: inline-block;
}
label {
font-weight: normal;
}
Expand Down
2 changes: 1 addition & 1 deletion app/templates/components/preprint-navbar-branded.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
{{#if session.isAuthenticated}}
<li><a href="/myprojects/" class="" onbeforeclick={{action "click" "link" "Navbar - My OSF Projects"}}>{{t "components.preprint-navbar-branded.my_projects"}}</a></li>
{{/if}}
<li><a href={{concat '/preprints/' theme.id '/submit'}} onbeforeclick={{action "click" "link" "Navbar - Add preprint"}}>{{t "global.add_preprint"}}</a></li>
<li><a href={{concat '/preprints/' theme.id '/submit'}}>{{t "global.add_preprint"}}</a></li>
<li>{{#link-to "provider.discover" theme.id class="" invokeAction=(action "click" "link" "Navbar - Search")}}{{t "global.search"}}{{/link-to}}</li>
{{navbar-auth-dropdown
signupUrl=theme.signupUrl
Expand Down
6 changes: 3 additions & 3 deletions app/templates/components/search-result.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
{{!Title}}
<h4>
{{#if hyperlink}}
<a href='{{hyperlink}}' {{action 'click' 'link' 'Registries - Discover - Result Title' hyperlink}}>{{result.title}}</a>
<a href='{{hyperlink}}' onclick={{action 'click' 'link' (concat 'Registries - Discover - Result Title: ' hyperlink) result.id}}>{{result.title}}</a>
{{else}}
<span>{{result.title}} </span>
{{/if}}
Expand Down Expand Up @@ -57,7 +57,7 @@
{{#if result.hyperLinks}}
<ul class="preprints-block-list m-t-sm">
{{#each result.hyperLinks as |link|}}
<li><a href='{{link.url}}' {{action 'click' 'link' 'Registries - Discover - Result Hyperlink' link.url}}>{{link.url}}</a></li>
<li><a href='{{link.url}}' onclick={{action 'click' 'link' (concat 'Registries - Discover - Result Hyperlink: ' link.url) result.id}}>{{link.url}}</a></li>
{{/each}}
</ul>
{{/if}}
Expand All @@ -76,7 +76,7 @@
</div>
{{/if}}
{{!Added on}}
<div class="m-t-sm"> {{t "global.added_on"}}: {{moment-format result.date_created}} </div>
<div class="m-t-sm"> {{t "global.added_on"}}: {{moment-format result.date_created "YYYY-MM-DD"}} </div>
{{/if}}

</div>
Expand Down
11 changes: 6 additions & 5 deletions app/templates/discover.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
{{!SEARCH}}
<div class="preprint-search col-xs-10 col-xs-offset-1 col-md-8 col-md-offset-2 m-v-lg" >
<div class="input-group input-group-lg">
{{input id="searchBox" value=(mut queryString) class="form-control" key-up='search' placeholder=(t "discover.search.placeholder")}}
{{input id="searchBox" value=(mut queryString) class="form-control" key-up='search' key-press='trackSearch' placeholder=(t "discover.search.placeholder")}}
<span class="input-group-btn">
<button class="btn btn-default" type="button" {{action "search" this}}>{{t "global.search"}}</button>
</span>
Expand Down Expand Up @@ -100,15 +100,16 @@
</li>
{{/each}}
{{#if theme.isProvider}}
<a href="/preprints/discover" onbeforeclick={{action 'click' 'link' 'Discover - Other Preprint Repositories'}}>{{t "discover.main.otherRepositories"}}</a>
<a href="/preprints/discover">{{t "discover.main.otherRepositories"}}</a>
{{/if}}
</ul>
</div>

<div class="m-v-md registration-type-selector">
<i class='type-selector-warning' style='color: red; display: none'>Only available with OSF Registries</i>
<h4 class="filter-heading p-sm">{{t "discover.main.type"}}</h4>
<ul>
<h4 class="filter-heading p-sm" aria-label={{t "discover.main.osf_registraton_filter"}}>
{{t "discover.main.type"}} <span class="hint--bottom hint--large" data-hint={{t "discover.main.popover.registries.body"}}><i class="fa fa-question-circle permission-info" aria-label={{t "discover.main.popover.registries.body"}}></i></span>
</h4>
<ul class="registration-list-items">
{{#each registrationTypes as |item|}}
<li>
<label>
Expand Down
Loading

0 comments on commit 85801f2

Please sign in to comment.