5 |
6 |
26 | <<<<<<< HEAD
27 |
28 |
29 |
30 | {{#carousel-container transitionInterval=400 as |ui controls|}}
31 |
32 | {{#each model as |flashcardUnit|}}
33 | {{#ui.item}}
34 | {{flashcard-listing flashcard=flashcardUnit}}
35 | {{/ui.item}}
36 | {{/each}}
37 |
38 |
39 |
40 |
41 |
42 | {{/carousel-container}}
43 | =======
44 |
45 |
46 |
47 |
48 | {{#each model as |flashcardUnit|}}
49 | {{flashcard-listing flashcard=flashcardUnit}}
50 | {{/each}}
51 |
52 |
53 | {{#each model as |flashcardUnit|}}
54 | {{flashcard-listing flashcard=flashcardUnit}}
55 | {{/each}}
56 |
57 | >>>>>>> 6591a75db84a1ad9c74fad9d851e221967f1215a
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/frontend/app/templates/index.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
--------------------------------------------------------------------------------
/frontend/app/templates/packs.hbs:
--------------------------------------------------------------------------------
1 |
10 |
11 |

12 |
13 |
14 |
57 | {{#question-filter filter=(action 'filterByOwner') as |filteredResults|}}
58 |
59 | {{#each filteredResults as |packUnit|}}
60 |
61 | {{pack-listing pack=packUnit}}
62 |
63 | {{/each}}
64 |
65 | {{/question-filter}}
66 |
--------------------------------------------------------------------------------
/frontend/app/templates/rentals.hbs:
--------------------------------------------------------------------------------
1 |
2 |
Create a study pack
3 |
4 | {{input type="text" value=title class="title col-sm-5" placeholder="Title of study pack"}}
5 | {{input type="text" value=description class="title col-sm-5" placeholder="Description of study pack"}}
6 |
7 |
8 |
9 |
10 | {{x-toggle
11 | class="col-sm-7 cls_toggle1"
12 | offLabel='Public'
13 | onLabel='Private'
14 | showLabels=true
15 | value=actionBound
16 | onToggle=(action (mut actionBound))
17 | }}
18 | {{input class="col-sm-5 cls_toggleinput1" disabled=true value=actionBound}}
19 |
20 |
21 | {{x-toggle
22 | class="col-sm-7 cls_toggle2"
23 | offLabel='Me'
24 | onLabel='Group'
25 | showLabels=true
26 | value=actionBounds
27 | onToggle=(action (mut actionBounds))
28 | }}
29 | {{input class="col-sm-5 cls_toggleinput2" disabled=true value=actionBounds}}
30 |
31 |
32 |
33 |
Users
34 | {{#power-select
35 | class="cls_powerselect"
36 | options=userOptions
37 | placeholder="Select a user"
38 | selected=selectedFilter
39 | searchEnabled=false
40 | onchange=(action (mut selectedFilter))
41 | as |filter| }}
42 | {{filter.name}}
43 | {{/power-select}}
44 |
45 |
46 |
Invite
47 | {{#power-select
48 | class="cls_powerselect"
49 | options=inviteOptions
50 | placeholder="Invite a person"
51 | selected=selectFilter
52 | searchEnabled=false
53 | onchange=(action (mut selectFilter))
54 | as |filter| }}
55 | {{filter.name}}
56 | {{/power-select}}
57 |
58 |
59 |
60 |
Question and Answer
61 |
62 | {{#list-filter filter=(action 'filterByCity') as |filteredResults|}}
63 |
64 | {{#each filteredResults as |rentalUnit|}}
65 | - {{rental-listing rental=rentalUnit}}
66 | {{/each}}
67 |
68 | {{/list-filter}}
69 |
70 |
71 |
Add your questions
72 |
73 |
Q:
74 |
75 | {{input type="text" value=question class="input_question col-sm-12" placeholder="Write your question"}}
76 |
77 |
78 |
79 |
A:
80 |
81 | {{input type="text" value=answer class="input_answer col-sm-10" placeholder="Write your answer"}}
82 |

83 |
84 |
85 |
86 |
87 |
88 |
Q:
89 |
90 | {{input type="text" value=question class="input_question col-sm-12" placeholder="Write your question"}}
91 |
92 |
93 |
94 |
A:
95 |
96 | {{input type="text" value=answer class="input_answer col-sm-10" placeholder="Write your answer"}}
97 |

98 |
99 |
100 |
101 |
102 |
103 |
Q:
104 |
105 | {{input type="text" value=question class="input_question col-sm-12" placeholder="Write your question"}}
106 |
107 |
108 |
109 |
A:
110 |
111 | {{input type="text" value=answer class="input_answer col-sm-10" placeholder="Write your answer"}}
112 |

113 |
114 |
115 |
116 |
117 |
--------------------------------------------------------------------------------
/frontend/app/templates/start.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Contact Us
4 |
Super Rentals Representatives would love to help you
choose a destination or answer
5 | any questions you may have.
6 |
7 | Super Rentals HQ
8 |
9 | 1212 Test Address Avenue
10 | Testington, OR 97233
11 |
12 |
+1 (503) 555-1212< br>
13 |
superrentalsrep@emberjs.com
14 |
15 |
--------------------------------------------------------------------------------
/frontend/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "frontend",
3 | "dependencies": {
4 | "jquery.event.move": "^1.3.6",
5 | "unslider": "https://github.com/idiot/unslider.git#master",
6 | "slick-carousel": "^1.8.1"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/frontend/config/environment.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | module.exports = function(environment) {
4 | let ENV = {
5 | modulePrefix: 'frontend',
6 | environment,
7 | rootURL: '/',
8 | locationType: 'auto',
9 | EmberENV: {
10 | FEATURES: {
11 | // Here you can enable experimental features on an ember canary build
12 | // e.g. 'with-controller': true
13 | },
14 | EXTEND_PROTOTYPES: {
15 | // Prevent Ember Data from overriding Date.parse.
16 | Date: false
17 | }
18 | },
19 |
20 | APP: {
21 | // Here you can pass flags/options to your application instance
22 | // when it is created
23 | }
24 | };
25 |
26 | if (environment === 'development') {
27 | // ENV.APP.LOG_RESOLVER = true;
28 | // ENV.APP.LOG_ACTIVE_GENERATION = true;
29 | // ENV.APP.LOG_TRANSITIONS = true;
30 | // ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
31 | // ENV.APP.LOG_VIEW_LOOKUPS = true;
32 | }
33 |
34 | if (environment === 'test') {
35 | // Testem prefers this...
36 | ENV.locationType = 'none';
37 |
38 | // keep test console output quieter
39 | ENV.APP.LOG_ACTIVE_GENERATION = false;
40 | ENV.APP.LOG_VIEW_LOOKUPS = false;
41 |
42 | ENV.APP.rootElement = '#ember-testing';
43 | ENV.APP.autoboot = false;
44 | }
45 |
46 | if (environment === 'production') {
47 | // here you can enable a production-specific feature
48 | }
49 |
50 | return ENV;
51 | };
52 |
--------------------------------------------------------------------------------
/frontend/config/targets.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | const browsers = [
4 | 'last 1 Chrome versions',
5 | 'last 1 Firefox versions',
6 | 'last 1 Safari versions'
7 | ];
8 |
9 | const isCI = !!process.env.CI;
10 | const isProduction = process.env.EMBER_ENV === 'production';
11 |
12 | if (isCI || isProduction) {
13 | browsers.push('ie 11');
14 | }
15 |
16 | module.exports = {
17 | browsers
18 | };
19 |
--------------------------------------------------------------------------------
/frontend/ember-cli-build.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | const EmberApp = require('ember-cli/lib/broccoli/ember-app');
4 |
5 | module.exports = function(defaults) {
6 | let app = new EmberApp(defaults, {
7 | // Add options here
8 | });
9 |
10 | // Use `app.import` to add additional libraries to the generated
11 | // output files.
12 | //
13 | // If you need to use different assets in different
14 | // environments, specify an object as the first parameter. That
15 | // object's keys should be the environment name and the values
16 | // should be the asset to use in that environment.
17 | //
18 | // If the library that you are including contains AMD or ES6
19 | // modules that you would like to import into your application
20 | // please specify an object with the list of modules as keys
21 | // along with the exports of each module as its value.
22 |
23 | return app.toTree();
24 | };
25 |
--------------------------------------------------------------------------------
/frontend/mirage/config.js:
--------------------------------------------------------------------------------
1 | export default function() {
2 | this.namespace = '/api';
3 |
4 | this.get('/flashcards', function() {
5 | return {
6 | data: [{
7 | type: 'flashcards',
8 | id: 'grand-old-mansion',
9 | attributes: {
10 | question: 'What is lion',
11 | answer: 'Lion is a agressive and strong animal. King of desert!!!',
12 | image: 'https://upload.wikimedia.org/wikipedia/commons/0/0e/Alfonso_13_Highrise_Tegucigalpa.jpg'
13 | }
14 | }, {
15 | type: 'flashcards',
16 | id: 'urban-living',
17 | attributes: {
18 | question: 'What is lion',
19 | answer: 'Lion is a agressive and strong animal. King of desert!!!',
20 | image: 'https://upload.wikimedia.org/wikipedia/commons/0/0e/Alfonso_13_Highrise_Tegucigalpa.jpg'
21 | }
22 | }, {
23 | type: 'flashcards',
24 | id: 'downtown-charm',
25 | attributes: {
26 | question: 'What is lion',
27 | answer: 'Lion is a agressive and strong animal. King of desert!!!',
28 | image: 'https://upload.wikimedia.org/wikipedia/commons/f/f7/Wheeldon_Apartment_Building_-_Portland_Oregon.jpg'
29 | }
30 | }]
31 | };
32 | });
33 |
34 | let rentals = [{
35 | // this.get('/rentals', function() {
36 | // return {
37 | // data: [{
38 | type: 'rentals',
39 | id: 'grand-old-mansion',
40 | attributes: {
41 | question: 'What is lion?',
42 | answer: 'Lion is a strong and aggressive animal.',
43 | title: 'Grand Old Mansion',
44 | owner: 'Veruca Salt',
45 | city: 'San Francisco',
46 | category: 'Estate',
47 | bedrooms: 15,
48 | image: 'https://upload.wikimedia.org/wikipedia/commons/c/cb/Crane_estate_(5).jpg'
49 | }
50 | }, {
51 | type: 'rentals',
52 | id: 'urban-living',
53 | attributes: {
54 | question: 'Tell me about biology!',
55 | answer: 'Biology is a one scienc field.',
56 | title: 'Urban Living',
57 | owner: 'Mike Teavee',
58 | city: 'Seattle',
59 | category: 'Condo',
60 | bedrooms: 1,
61 | image: 'https://upload.wikimedia.org/wikipedia/commons/0/0e/Alfonso_13_Highrise_Tegucigalpa.jpg'
62 | }
63 | }, {
64 | type: 'rentals',
65 | id: 'downtown-charm',
66 | attributes: {
67 | question: 'Do you know what love is?',
68 | answer: 'Love is true',
69 | title: 'Downtown Charm',
70 | owner: 'Violet Beauregarde',
71 | city: 'Portland',
72 | category: 'Apartment',
73 | bedrooms: 3,
74 | image: 'https://upload.wikimedia.org/wikipedia/commons/f/f7/Wheeldon_Apartment_Building_-_Portland_Oregon.jpg'
75 | }
76 | }];
77 | this.get('/rentals', function(db, request) {
78 | if(request.queryParams.question !== undefined) {
79 | let filteredRentals = rentals.filter(function(i) {
80 | return i.attributes.question.toLowerCase().indexOf(request.queryParams.question.toLowerCase()) !== -1;
81 | });
82 | return { data: filteredRentals };
83 | } else {
84 | return { data: rentals };
85 | }
86 | });
87 |
88 | let packs = [{
89 | type: 'packs',
90 | id: 'Chemistry',
91 | attributes: {
92 | title: 'Organic Chemistry: Proteins & Nucleic Acids',
93 | owner: 'Veruca Salt',
94 | // city: 'San Francisco',
95 | category: 'TEACHER',
96 | terms: 15,
97 | userimage: 'https://gimg.quizlet.com/-AzVJVfe_TK8/AAAAAAAAAAI/AAAAAAAAABk/zCTl3f4zxNE/photo.jpg?sz=16',
98 | image: 'https://o.quizlet.com/vJB2Em559uWHyrHniwZ-fQ.jpg'
99 | }
100 | }, {
101 | type: 'packs',
102 | id: 'Economics',
103 | attributes: {
104 | title: 'Germany Sentences of the Day',
105 | owner: 'Mike Teavee',
106 | // city: 'Seattle',
107 | category: 'TEACHER',
108 | terms: 2,
109 | image: 'https://o.quizlet.com/X3EV9UITbgLPHW1AQjMjpA.jpg'
110 | }
111 | }, {
112 | type: 'packs',
113 | id: 'downtown-charm',
114 | attributes: {
115 | title: 'Landmark Supreme Court Class',
116 | owner: 'Violet Beauregarde',
117 | // city: 'Portland',
118 | category: '',
119 | terms: 3,
120 | image: ''
121 | }
122 | },{
123 | type: 'packs',
124 | id: 'urban-living',
125 | attributes: {
126 | title: 'Urban Living',
127 | owner: 'Mike Teavee',
128 | // city: 'Seattle',
129 | category: '',
130 | terms: 1,
131 | image: 'https://o.quizlet.com/DV0cZJx4OONoFVB8KIzIWQ.jpg'
132 | }
133 | },{
134 | type: 'packs',
135 | id: 'urving',
136 | attributes: {
137 | title: 'Urban Living',
138 | owner: 'Mike Teavee',
139 | // city: 'Seattle',
140 | category: 'Condo',
141 | terms: 1,
142 | image: 'https://upload.wikimedia.org/wikipedia/commons/0/0e/Alfonso_13_Highrise_Tegucigalpa.jpg'
143 | }
144 | },{
145 | type: 'packs',
146 | id: 'iving',
147 | attributes: {
148 | title: 'Urban Living',
149 | owner: 'Mike Teavee',
150 | // city: 'Seattle',
151 | category: 'Condo',
152 | terms: 1,
153 | image: 'https://upload.wikimedia.org/wikipedia/commons/0/0e/Alfonso_13_Highrise_Tegucigalpa.jpg'
154 | }
155 | },{
156 | type: 'packs',
157 | id: 'living',
158 | attributes: {
159 | title: 'Urban Living',
160 | owner: 'Mike Teavee',
161 | // city: 'Seattle',
162 | category: 'Condo',
163 | terms: 1,
164 | image: 'https://upload.wikimedia.org/wikipedia/commons/0/0e/Alfonso_13_Highrise_Tegucigalpa.jpg'
165 | }
166 | }]
167 | this.get('/packs', function(db, request) {
168 | if (request.queryParams.owner !== undefined) {
169 | let filteredPacks = packs.filter(function(i) {
170 | return i.attributes.owner.toLowerCase().indexOf(request.queryParams.owner.toLowerCase()) !== -1;
171 | });
172 | return {data: filteredPacks};
173 | } else {
174 | return {data:packs};
175 | }
176 | });
177 |
178 | // These comments are here to help you get started. Feel free to delete them.
179 |
180 | /*
181 | Config (with defaults).
182 |
183 | Note: these only affect routes defined *after* them!
184 | */
185 |
186 | // this.urlPrefix = ''; // make this `http://localhost:8080`, for example, if your API is on a different server
187 | // this.namespace = ''; // make this `/api`, for example, if your API is namespaced
188 | // this.timing = 400; // delay for each request, automatically set to 0 during testing
189 |
190 | /*
191 | Shorthand cheatsheet:
192 |
193 | this.get('/posts');
194 | this.post('/posts');
195 | this.get('/posts/:id');
196 | this.put('/posts/:id'); // or this.patch
197 | this.del('/posts/:id');
198 |
199 | http://www.ember-cli-mirage.com/docs/v0.3.x/shorthands/
200 | */
201 | }
202 |
--------------------------------------------------------------------------------
/frontend/mirage/scenarios/default.js:
--------------------------------------------------------------------------------
1 | export default function(/* server */) {
2 |
3 | /*
4 | Seed your development database using your factories.
5 | This data will not be loaded in your tests.
6 | */
7 |
8 | // server.createList('post', 10);
9 | }
10 |
--------------------------------------------------------------------------------
/frontend/mirage/serializers/application.js:
--------------------------------------------------------------------------------
1 | import { JSONAPISerializer } from 'ember-cli-mirage';
2 |
3 | export default JSONAPISerializer.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/frontend/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "frontend",
3 | "version": "0.0.0",
4 | "private": true,
5 | "description": "Small description for frontend goes here",
6 | "license": "MIT",
7 | "author": "",
8 | "directories": {
9 | "doc": "doc",
10 | "test": "tests"
11 | },
12 | "repository": "",
13 | "scripts": {
14 | "build": "ember build",
15 | "lint:js": "eslint ./*.js app config lib server tests",
16 | "start": "ember serve",
17 | "test": "ember test"
18 | },
19 | "devDependencies": {
20 | "broccoli-asset-rev": "^2.4.5",
21 | "ember-ajax": "^3.0.0",
22 | "ember-carousel": "^0.1.0",
23 | "ember-cli": "^3.1.3",
24 | "ember-cli-app-version": "^3.0.0",
25 | "ember-cli-babel": "^6.6.0",
26 | "ember-cli-dependency-checker": "^2.0.0",
27 | "ember-cli-eslint": "^4.2.1",
28 | "ember-cli-htmlbars": "^2.0.1",
29 | "ember-cli-htmlbars-inline-precompile": "^1.0.0",
30 | "ember-cli-inject-live-reload": "^1.4.1",
31 | "ember-cli-mirage": "^0.4.3",
32 | "ember-cli-qunit": "^4.1.1",
33 | "ember-cli-rails-addon": "^0.10.0",
34 | "ember-cli-shims": "^1.2.0",
35 | "ember-cli-slick": "^2.0.0",
36 | "ember-cli-sri": "^2.1.0",
37 | "ember-cli-tutorial-style": "^2.0.0",
38 | "ember-cli-uglify": "^2.0.0",
39 | "ember-data": "~3.1.0",
40 | "ember-export-application-global": "^2.0.0",
41 | "ember-load-initializers": "^1.0.0",
42 | "ember-maybe-import-regenerator": "^0.1.6",
43 | "ember-power-select": "^2.0.0-beta.4",
44 | "ember-resolver": "^4.0.0",
45 | "ember-source": "~3.1.0",
46 | "ember-toggle": "^5.2.2",
47 | "ember-welcome-page": "^3.0.0",
48 | "eslint-plugin-ember": "^5.0.0",
49 | "loader.js": "^4.2.3"
50 | },
51 | "engines": {
52 | "node": "^4.5 || 6.* || >= 7.*"
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/frontend/public/assets/images/teaching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/frontend/public/assets/images/teaching.png
--------------------------------------------------------------------------------
/frontend/public/public/assets/image/discourse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/frontend/public/public/assets/image/discourse.png
--------------------------------------------------------------------------------
/frontend/public/public/assets/image/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/frontend/public/public/assets/image/image.png
--------------------------------------------------------------------------------
/frontend/public/public/assets/image/introduction.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/frontend/public/public/assets/image/introduction.png
--------------------------------------------------------------------------------
/frontend/public/public/assets/image/splash-laptop-desktop.BwuW.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/frontend/public/public/assets/image/splash-laptop-desktop.BwuW.jpg
--------------------------------------------------------------------------------
/frontend/public/robots.txt:
--------------------------------------------------------------------------------
1 | # http://www.robotstxt.org
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/frontend/testem.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | test_page: 'tests/index.html?hidepassed',
3 | disable_watching: true,
4 | launch_in_ci: [
5 | 'Chrome'
6 | ],
7 | launch_in_dev: [
8 | 'Chrome'
9 | ],
10 | browser_args: {
11 | Chrome: {
12 | mode: 'ci',
13 | args: [
14 | // --no-sandbox is needed when running Chrome inside a container
15 | process.env.TRAVIS ? '--no-sandbox' : null,
16 |
17 | '--disable-gpu',
18 | '--headless',
19 | '--remote-debugging-port=0',
20 | '--window-size=1440,900'
21 | ].filter(Boolean)
22 | }
23 | }
24 | };
25 |
--------------------------------------------------------------------------------
/frontend/tests/acceptance/list-packs-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { visit, currentURL } from '@ember/test-helpers';
3 | import { setupApplicationTest } from 'ember-qunit';
4 |
5 | module('Acceptance | list packs', function(hooks) {
6 | setupApplicationTest(hooks);
7 |
8 | test('visiting /list-packs', async function(assert) {
9 | await visit('/list-packs');
10 |
11 | assert.equal(currentURL(), '/list-packs');
12 | });
13 | });
14 |
--------------------------------------------------------------------------------
/frontend/tests/helpers/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/frontend/tests/helpers/.gitkeep
--------------------------------------------------------------------------------
/frontend/tests/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Frontend Tests
7 |
8 |
9 |
10 | {{content-for "head"}}
11 | {{content-for "test-head"}}
12 |
13 |
14 |
15 |
16 |
17 | {{content-for "head-footer"}}
18 | {{content-for "test-head-footer"}}
19 |
20 |
21 | {{content-for "body"}}
22 | {{content-for "test-body"}}
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | {{content-for "body-footer"}}
31 | {{content-for "test-body-footer"}}
32 |
33 |
34 |
--------------------------------------------------------------------------------
/frontend/tests/integration/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/frontend/tests/integration/.gitkeep
--------------------------------------------------------------------------------
/frontend/tests/integration/components/flashcard-listing-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupRenderingTest } from 'ember-qunit';
3 | import { render } from '@ember/test-helpers';
4 | import hbs from 'htmlbars-inline-precompile';
5 |
6 | module('Integration | Component | flashcard-listing', function(hooks) {
7 | setupRenderingTest(hooks);
8 |
9 | test('it renders', async function(assert) {
10 | // Set any properties with this.set('myProperty', 'value');
11 | // Handle any actions with this.set('myAction', function(val) { ... });
12 |
13 | await render(hbs`{{flashcard-listing}}`);
14 |
15 | assert.equal(this.element.textContent.trim(), '');
16 |
17 | // Template block usage:
18 | await render(hbs`
19 | {{#flashcard-listing}}
20 | template block text
21 | {{/flashcard-listing}}
22 | `);
23 |
24 | assert.equal(this.element.textContent.trim(), 'template block text');
25 | });
26 | });
27 |
--------------------------------------------------------------------------------
/frontend/tests/integration/components/list-filter-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupRenderingTest } from 'ember-qunit';
3 | import { render } from '@ember/test-helpers';
4 | import hbs from 'htmlbars-inline-precompile';
5 |
6 | module('Integration | Component | list-filter', function(hooks) {
7 | setupRenderingTest(hooks);
8 |
9 | test('it renders', async function(assert) {
10 | // Set any properties with this.set('myProperty', 'value');
11 | // Handle any actions with this.set('myAction', function(val) { ... });
12 |
13 | await render(hbs`{{list-filter}}`);
14 |
15 | assert.equal(this.element.textContent.trim(), '');
16 |
17 | // Template block usage:
18 | await render(hbs`
19 | {{#list-filter}}
20 | template block text
21 | {{/list-filter}}
22 | `);
23 |
24 | assert.equal(this.element.textContent.trim(), 'template block text');
25 | });
26 | });
27 |
--------------------------------------------------------------------------------
/frontend/tests/integration/components/pack-listing-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupRenderingTest } from 'ember-qunit';
3 | import { render } from '@ember/test-helpers';
4 | import hbs from 'htmlbars-inline-precompile';
5 |
6 | module('Integration | Component | pack-listing', function(hooks) {
7 | setupRenderingTest(hooks);
8 |
9 | test('it renders', async function(assert) {
10 | // Set any properties with this.set('myProperty', 'value');
11 | // Handle any actions with this.set('myAction', function(val) { ... });
12 |
13 | await render(hbs`{{pack-listing}}`);
14 |
15 | assert.equal(this.element.textContent.trim(), '');
16 |
17 | // Template block usage:
18 | await render(hbs`
19 | {{#pack-listing}}
20 | template block text
21 | {{/pack-listing}}
22 | `);
23 |
24 | assert.equal(this.element.textContent.trim(), 'template block text');
25 | });
26 | });
27 |
--------------------------------------------------------------------------------
/frontend/tests/integration/components/question-filter-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupRenderingTest } from 'ember-qunit';
3 | import { render } from '@ember/test-helpers';
4 | import hbs from 'htmlbars-inline-precompile';
5 |
6 | module('Integration | Component | question-filter', function(hooks) {
7 | setupRenderingTest(hooks);
8 |
9 | test('it renders', async function(assert) {
10 | // Set any properties with this.set('myProperty', 'value');
11 | // Handle any actions with this.set('myAction', function(val) { ... });
12 |
13 | await render(hbs`{{question-filter}}`);
14 |
15 | assert.equal(this.element.textContent.trim(), '');
16 |
17 | // Template block usage:
18 | await render(hbs`
19 | {{#question-filter}}
20 | template block text
21 | {{/question-filter}}
22 | `);
23 |
24 | assert.equal(this.element.textContent.trim(), 'template block text');
25 | });
26 | });
27 |
--------------------------------------------------------------------------------
/frontend/tests/integration/components/question-list-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupRenderingTest } from 'ember-qunit';
3 | import { render } from '@ember/test-helpers';
4 | import hbs from 'htmlbars-inline-precompile';
5 |
6 | module('Integration | Component | question-list', function(hooks) {
7 | setupRenderingTest(hooks);
8 |
9 | test('it renders', async function(assert) {
10 | // Set any properties with this.set('myProperty', 'value');
11 | // Handle any actions with this.set('myAction', function(val) { ... });
12 |
13 | await render(hbs`{{question-list}}`);
14 |
15 | assert.equal(this.element.textContent.trim(), '');
16 |
17 | // Template block usage:
18 | await render(hbs`
19 | {{#question-list}}
20 | template block text
21 | {{/question-list}}
22 | `);
23 |
24 | assert.equal(this.element.textContent.trim(), 'template block text');
25 | });
26 | });
27 |
--------------------------------------------------------------------------------
/frontend/tests/integration/components/rental-listing-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupRenderingTest } from 'ember-qunit';
3 | import { render } from '@ember/test-helpers';
4 | import hbs from 'htmlbars-inline-precompile';
5 |
6 | module('Integration | Component | rental-listing', function(hooks) {
7 | setupRenderingTest(hooks);
8 |
9 | test('it renders', async function(assert) {
10 | // Set any properties with this.set('myProperty', 'value');
11 | // Handle any actions with this.set('myAction', function(val) { ... });
12 |
13 | await render(hbs`{{rental-listing}}`);
14 |
15 | assert.equal(this.element.textContent.trim(), '');
16 |
17 | // Template block usage:
18 | await render(hbs`
19 | {{#rental-listing}}
20 | template block text
21 | {{/rental-listing}}
22 | `);
23 |
24 | assert.equal(this.element.textContent.trim(), 'template block text');
25 | });
26 | });
27 |
--------------------------------------------------------------------------------
/frontend/tests/integration/helpers/pack-property-type-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupRenderingTest } from 'ember-qunit';
3 | import { render } from '@ember/test-helpers';
4 | import hbs from 'htmlbars-inline-precompile';
5 |
6 | module('Integration | Helper | pack-property-type', function(hooks) {
7 | setupRenderingTest(hooks);
8 |
9 | // Replace this with your real tests.
10 | test('it renders', async function(assert) {
11 | this.set('inputValue', '1234');
12 |
13 | await render(hbs`{{pack-property-type inputValue}}`);
14 |
15 | assert.equal(this.element.textContent.trim(), '1234');
16 | });
17 | });
18 |
--------------------------------------------------------------------------------
/frontend/tests/integration/helpers/rental-property-type-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupRenderingTest } from 'ember-qunit';
3 | import { render } from '@ember/test-helpers';
4 | import hbs from 'htmlbars-inline-precompile';
5 |
6 | module('Integration | Helper | rental-property-type', function(hooks) {
7 | setupRenderingTest(hooks);
8 |
9 | // Replace this with your real tests.
10 | test('it renders', async function(assert) {
11 | this.set('inputValue', '1234');
12 |
13 | await render(hbs`{{rental-property-type inputValue}}`);
14 |
15 | assert.equal(this.element.textContent.trim(), '1234');
16 | });
17 | });
18 |
--------------------------------------------------------------------------------
/frontend/tests/test-helper.js:
--------------------------------------------------------------------------------
1 | import Application from '../app';
2 | import config from '../config/environment';
3 | import { setApplication } from '@ember/test-helpers';
4 | import { start } from 'ember-qunit';
5 |
6 | setApplication(Application.create(config.APP));
7 |
8 | start();
9 |
--------------------------------------------------------------------------------
/frontend/tests/unit/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/frontend/tests/unit/.gitkeep
--------------------------------------------------------------------------------
/frontend/tests/unit/adapters/application-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Adapter | application', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let adapter = this.owner.lookup('adapter:application');
10 | assert.ok(adapter);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/frontend/tests/unit/controllers/create-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Controller | create', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let controller = this.owner.lookup('controller:create');
10 | assert.ok(controller);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/frontend/tests/unit/controllers/flashcard-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Controller | flashcard', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let controller = this.owner.lookup('controller:flashcard');
10 | assert.ok(controller);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/frontend/tests/unit/controllers/packs-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Controller | packs', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let controller = this.owner.lookup('controller:packs');
10 | assert.ok(controller);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/frontend/tests/unit/controllers/questions-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Controller | questions', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let controller = this.owner.lookup('controller:questions');
10 | assert.ok(controller);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/frontend/tests/unit/controllers/rentals-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Controller | rentals', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let controller = this.owner.lookup('controller:rentals');
10 | assert.ok(controller);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/frontend/tests/unit/controllers/user-select-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Controller | user-select', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let controller = this.owner.lookup('controller:user-select');
10 | assert.ok(controller);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/frontend/tests/unit/controllers/user-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Controller | user', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let controller = this.owner.lookup('controller:user');
10 | assert.ok(controller);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/frontend/tests/unit/models/create-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 | import { run } from '@ember/runloop';
4 |
5 | module('Unit | Model | create', function(hooks) {
6 | setupTest(hooks);
7 |
8 | // Replace this with your real tests.
9 | test('it exists', function(assert) {
10 | let store = this.owner.lookup('service:store');
11 | let model = run(() => store.createRecord('create', {}));
12 | assert.ok(model);
13 | });
14 | });
15 |
--------------------------------------------------------------------------------
/frontend/tests/unit/models/flashcard-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 | import { run } from '@ember/runloop';
4 |
5 | module('Unit | Model | flashcard', function(hooks) {
6 | setupTest(hooks);
7 |
8 | // Replace this with your real tests.
9 | test('it exists', function(assert) {
10 | let store = this.owner.lookup('service:store');
11 | let model = run(() => store.createRecord('flashcard', {}));
12 | assert.ok(model);
13 | });
14 | });
15 |
--------------------------------------------------------------------------------
/frontend/tests/unit/models/pack-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 | import { run } from '@ember/runloop';
4 |
5 | module('Unit | Model | pack', function(hooks) {
6 | setupTest(hooks);
7 |
8 | // Replace this with your real tests.
9 | test('it exists', function(assert) {
10 | let store = this.owner.lookup('service:store');
11 | let model = run(() => store.createRecord('pack', {}));
12 | assert.ok(model);
13 | });
14 | });
15 |
--------------------------------------------------------------------------------
/frontend/tests/unit/models/rental-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 | import { run } from '@ember/runloop';
4 |
5 | module('Unit | Model | rental', function(hooks) {
6 | setupTest(hooks);
7 |
8 | // Replace this with your real tests.
9 | test('it exists', function(assert) {
10 | let store = this.owner.lookup('service:store');
11 | let model = run(() => store.createRecord('rental', {}));
12 | assert.ok(model);
13 | });
14 | });
15 |
--------------------------------------------------------------------------------
/frontend/tests/unit/routes/create-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | create', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:create');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/frontend/tests/unit/routes/flashcard-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | flashcard', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:flashcard');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/frontend/tests/unit/routes/index-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/frontend/tests/unit/routes/packs-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | packs', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:packs');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/frontend/tests/unit/routes/rentals-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | rentals', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:rentals');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/frontend/tests/unit/routes/start-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | start', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:start');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/frontend/vendor/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/frontend/vendor/.gitkeep
--------------------------------------------------------------------------------
/frontend/vendor/ember-tutorial.css:
--------------------------------------------------------------------------------
1 | /*@import url(https://fonts.googleapis.com/css?family=Lato:300,300italic,400,700,700italic);*/
2 | /*@import url()*/
3 | /**
4 | * Base Elements
5 | */
6 |
7 | * {
8 | margin: 0;
9 | padding: 0;
10 | box-sizing: border-box;
11 | }
12 |
13 | body,
14 | h1,
15 | h2,
16 | h3,
17 | h4,
18 | h5,
19 | h6,
20 | p,
21 | div,
22 | span,
23 | a {
24 | font-family: hurme_no2-webfont,-apple-system,BlinkMacSystemFont,sans-serif;
25 | line-height: 1.5;
26 | }
27 |
28 | body {
29 | background: #f3f3f3;
30 | color: #455358;
31 | background: url(../public/assets/image/splash-laptop-desktop.BwuW.jpg) no-repeat;
32 | background-size: 100%;
33 | font-family: hurme_no2-webfont;
34 | }
35 |
36 | a {
37 | color: #2185D0;
38 | text-decoration: none;
39 | }
40 |
41 | p {
42 | line-height: 1.5;
43 | margin-bottom: 15px;
44 | }
45 | /**
46 | * Button
47 | */
48 |
49 | @media (min-width: 1200px) {
50 | .container {
51 | width: 1300px !important;
52 | }
53 | }
54 |
55 | .button {
56 | padding: 12px 30px 13px;
57 | text-decoration: none;
58 | color: #fff;
59 | background: #2185D0;
60 | border-radius: 5px;
61 | border: none;
62 | font-size: 16px;
63 | opacity: 0.9;
64 | }
65 |
66 | .button:hover {
67 | opacity: 1;
68 | }
69 | /**
70 | * Body Container
71 | */
72 |
73 | .container {
74 | max-width: 1300px !important;
75 | /*min-height: 100vh;*/
76 | background: #f9f9f9;
77 | margin: 0 auto;
78 | max-width: 1300px !important;
79 | }
80 | /**
81 | * Top Navigation
82 | */
83 |
84 | .menu {
85 | height: 4em;
86 | background-color: #677ae4;
87 | background-color: #05526A;
88 | background-color: #e46855;
89 | }
90 |
91 | .menu h1 {
92 | padding: 7px 0 0 20px;
93 | color: #f9f9f9;
94 | font-size: 2.1em;
95 | }
96 |
97 | .menu h1 em {
98 | position: relative;
99 | left: -12px;
100 | }
101 |
102 | .menu a,
103 | .menu .links {
104 | display: inline-block;
105 | }
106 |
107 | .menu a {
108 | text-decoration: none;
109 | line-height: 1;
110 | padding: 0 15px;
111 | color: #f9f9f9;
112 | opacity: 0.85;
113 | }
114 |
115 | a:hover {
116 | text-decoration: none !important;
117 | }
118 |
119 | .menu a:hover,
120 | .menu a.active {
121 | opacity: 1;
122 | }
123 |
124 | .menu .links {
125 | padding: 0 21px;
126 | }
127 |
128 | .menu .links a {
129 | position: relative;
130 | bottom: 5px;
131 | }
132 |
133 | .list-filter input {
134 | padding: 11px;
135 | font-size: 18px;
136 | width: 500px;
137 | margin: 50px auto;
138 | background-color: rgba(255, 255, 255, 0.75);
139 | border: solid 1px lightgray;
140 | display: block;
141 | }
142 |
143 | .menu input:focus {
144 | background-color: #f9f9f9;
145 | outline: none;
146 | }
147 |
148 | .menu button {
149 | margin-right: 15px;
150 | position: relative;
151 | top: -1px;
152 | left: -5px;
153 | border-top-left-radius: 0;
154 | border-bottom-left-radius: 0;
155 | background-color: #262626;
156 | cursor: pointer;
157 | opacity: 1;
158 | }
159 |
160 | .menu button:hover {
161 | background-color: #111;
162 | opacity: 1;
163 | }
164 |
165 | .results {
166 | margin-left: 17px;
167 | padding-top: 1%;
168 | }
169 |
170 | .menu .results {
171 | display: none;
172 | position: absolute;
173 | width: 215px;
174 | top: 54px;
175 | left: 10px;
176 | background-color: #f6f6f6;
177 | border-right: 1px solid rgba(0, 0, 0, 0.05);
178 | border-bottom: 1px solid rgba(0, 0, 0, 0.05);
179 | }
180 |
181 | .results li {
182 | list-style: none;
183 | padding: 10px 15px;
184 | }
185 |
186 | .menu .results li:hover {
187 | background: #f3f3f3;
188 | }
189 | /**
190 | * Content Area
191 | */
192 |
193 | .body {
194 | padding: 15px;
195 | }
196 | /**
197 | * Similar to Jumbotron
198 | */
199 |
200 | .jumbo {
201 | padding: 50px;
202 | background: #f6f6f6;
203 | }
204 |
205 | .jumbo:hover {
206 | background-color: #f3f3f3;
207 | }
208 |
209 | .jumbo h2 {
210 | font-size: 3.2em;
211 | margin-top: -25px;
212 | }
213 |
214 | .jumbo p {
215 | margin-bottom: 25px;
216 | }
217 |
218 | .jumbo img {
219 | height: 200px;
220 | position: relative;
221 | top: -25px;
222 | right: -20px;
223 | }
224 | /**
225 | * Individual Listings
226 | */
227 |
228 | .listing {
229 | /*margin-top: 30px;*/
230 | padding-bottom: 9px;
231 | background-color: #f6f6f6;
232 | /*min-height: 145px;*/
233 | position: relative;
234 | box-shadow: 0 0 2rem 0 rgba(0,0,0,0.24);
235 | }
236 |
237 | .listing:hover {
238 | background-color: #f3f3f3;
239 | }
240 |
241 | .user_image {
242 | width: 16px;
243 | height: 16px;
244 | }
245 | .listing img {
246 | width: 100%;
247 | height: 17.5rem;
248 | /*height: 100px;*/
249 | /*float: left;*/
250 | /*margin-right: 45px;*/
251 | /*border-radius: 5px;*/
252 | }
253 |
254 | .listing a.image.wide {
255 | max-width: 100%;
256 | position: relative;
257 | z-index: 999;
258 | }
259 |
260 | .listing .wide img {
261 | height: initial;
262 | width: 100%;
263 | margin-bottom: 30px;
264 | }
265 |
266 | .listing .wide small {
267 | display: none;
268 | }
269 |
270 | .listing a.image {
271 | max-width: 150px;
272 | display: block;
273 | cursor: pointer;
274 | }
275 |
276 | .listing small {
277 | float: left;
278 | display: block;
279 | text-align: center;
280 | width: 136px;
281 | }
282 |
283 | .listing h3 {
284 | padding: 0px 15px 15px 15px;
285 | font-size: 23px;
286 | word-wrap: break-word;
287 | overflow: hidden;
288 | word-break: break-all;
289 | }
290 |
291 | .listing h3 a {
292 | display: inline;
293 | }
294 |
295 | .listing .map {
296 | position: absolute;
297 | bottom: 13px;
298 | right: 50px;
299 | height: 120px;
300 | width: 120px;
301 | background-size: cover;
302 | border-radius: 5px;
303 | }
304 |
305 | .listing .detail {
306 | width: 36%;
307 | display: inline-block;
308 | padding: 10px 15px 0 0;
309 | margin: 0;
310 | font-weight: 300;
311 | font-style: italic;
312 | }
313 |
314 | .listing .detail span {
315 | font-weight: 400;
316 | font-style: normal;
317 | }
318 |
319 | .show-listing .title {
320 | margin-bottom: 15px;
321 | }
322 |
323 | .show-listing .detail-section {
324 | width: 50%;
325 | padding-left: 30px;
326 | }
327 |
328 | .show-listing .owner {
329 | margin-top: 10px;
330 | }
331 |
332 | .show-listing .rental-pic {
333 | width: 50%;
334 | height: initial;
335 | position: static;
336 | }
337 | /**
338 | * Utilities
339 | */
340 |
341 | .light {
342 | font-weight: 300;
343 | }
344 |
345 | .left {
346 | float: left;
347 | }
348 |
349 | .right {
350 | float: right;
351 | }
352 |
353 | .hidden {
354 | display: none;
355 | }
356 |
357 | .relative {
358 | position: relative;
359 | }
360 |
361 | .tomster {
362 | /*background: url(../assets/images/teaching.png);*/
363 | background-size: contain;
364 | background-repeat: no-repeat;
365 | height: 200px;
366 | width: 200px;
367 | position: relative;
368 | top: -50px;
369 | }
370 |
371 | #search {
372 | outline: none;
373 | background: url(search-white.png) no-repeat 10px 6px #fcfcfc;
374 | border: 1px solid #d1d1d1;
375 | font: bold 12px Arial,Helvetica,Sans-serif;
376 | color: #bebebe;
377 | width: 250px;
378 | padding: 6px 15px 6px 35px;
379 | -webkit-border-radius: 20px;
380 | -moz-border-radius: 20px;
381 | border-radius: 20px;
382 | text-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
383 | -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15) inset;
384 | -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15) inset;
385 | box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15) inset;
386 | -webkit-transition: all 0.7s ease 0s;
387 | -moz-transition: all 0.7s ease 0s;
388 | -o-transition: all 0.7s ease 0s;
389 | transition: all 0.7s ease 0s;
390 | font-size: 17px;
391 | }
392 |
393 | #search:focus {
394 | width: 300px;
395 | }
396 |
397 | .cls_filterbar {
398 | padding-left: 30% !important;
399 | }
400 |
401 | .cls_style {
402 | background-color: white !important;
403 | }
404 |
405 | .cls_h3 {
406 | margin-top: 0px !important;
407 | margin-bottom: 6px !important;
408 | font-weight: bolder;
409 | }
410 |
411 | .cls_height {
412 | width: 1300px !important;
413 | max-width: 1300px;
414 | }
415 |
416 | .cls_content {
417 | padding-left: 2%;
418 | padding-right: 2%;
419 | padding-bottom: 1%;
420 | background-color: white !important;
421 | }
--------------------------------------------------------------------------------
/lib/assets/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/lib/assets/.keep
--------------------------------------------------------------------------------
/lib/tasks/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/lib/tasks/.keep
--------------------------------------------------------------------------------
/log/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/log/.keep
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ember-spin",
3 | "private": true,
4 | "dependencies": {}
5 | }
6 |
--------------------------------------------------------------------------------
/public/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
The page you were looking for doesn't exist (404)
5 |
6 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
The page you were looking for doesn't exist.
62 |
You may have mistyped the address or the page may have moved.
63 |
64 |
If you are the application owner check the logs for more information.
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/public/422.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
The change you wanted was rejected (422)
5 |
6 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
The change you wanted was rejected.
62 |
Maybe you tried to change something you didn't have access to.
63 |
64 |
If you are the application owner check the logs for more information.
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/public/500.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
We're sorry, but something went wrong (500)
5 |
6 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
We're sorry, but something went wrong.
62 |
63 |
If you are the application owner check the logs for more information.
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/public/apple-touch-icon-precomposed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/public/apple-touch-icon-precomposed.png
--------------------------------------------------------------------------------
/public/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/public/apple-touch-icon.png
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/public/favicon.ico
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | # See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
2 |
--------------------------------------------------------------------------------
/test/application_system_test_case.rb:
--------------------------------------------------------------------------------
1 | require "test_helper"
2 |
3 | class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
4 | driven_by :selenium, using: :chrome, screen_size: [1400, 1400]
5 | end
6 |
--------------------------------------------------------------------------------
/test/controllers/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/test/controllers/.keep
--------------------------------------------------------------------------------
/test/fixtures/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/test/fixtures/.keep
--------------------------------------------------------------------------------
/test/fixtures/files/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/test/fixtures/files/.keep
--------------------------------------------------------------------------------
/test/helpers/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/test/helpers/.keep
--------------------------------------------------------------------------------
/test/integration/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/test/integration/.keep
--------------------------------------------------------------------------------
/test/mailers/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/test/mailers/.keep
--------------------------------------------------------------------------------
/test/models/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/test/models/.keep
--------------------------------------------------------------------------------
/test/system/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/test/system/.keep
--------------------------------------------------------------------------------
/test/test_helper.rb:
--------------------------------------------------------------------------------
1 | ENV['RAILS_ENV'] ||= 'test'
2 | require File.expand_path('../../config/environment', __FILE__)
3 | require 'rails/test_help'
4 |
5 | class ActiveSupport::TestCase
6 | # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
7 | fixtures :all
8 |
9 | # Add more helper methods to be used by all tests here...
10 | end
11 |
--------------------------------------------------------------------------------
/tmp/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/tmp/.keep
--------------------------------------------------------------------------------
/vendor/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/Ember-RoR/54fd26e9cd762a22250d28611786ed16951b46af/vendor/.keep
--------------------------------------------------------------------------------