Skip to content

Commit

Permalink
Merge pull request #310 from piotrpalek/cli-2.3.0-beta.1
Browse files Browse the repository at this point in the history
upgrade ember-cli/ember/ember-data to 2.3
  • Loading branch information
Gaurav0 committed Jan 29, 2016
2 parents bb72ff8 + cf874a2 commit ffe5d01
Show file tree
Hide file tree
Showing 19 changed files with 189 additions and 109 deletions.
2 changes: 1 addition & 1 deletion app/app.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Ember from 'ember';
import Resolver from 'ember-resolver';
import Resolver from './resolver';
import loadInitializers from 'ember/load-initializers';
import config from './config/environment';

Expand Down
121 changes: 65 additions & 56 deletions app/components/file-tree.js
Original file line number Diff line number Diff line change
@@ -1,71 +1,77 @@
import Ember from "ember";
import _ from 'lodash/lodash';

const { computed } = Ember;

export default Ember.Component.extend({
jsTreeActionReceiver: null,

/**
* Calculate data for file tree
*/
fileTreeData: computed('model.files.[]', function() {
let seq = 0;
let treeData = this.get('model.files').map(function(file) {
let path = file.get('filePath');
let splitPath = path.split("/");
let parentPath = splitPath.slice(0, -1).join("/");
let fileName = splitPath[splitPath.length - 1];
if (parentPath === "") {
parentPath = "#";
}
return {
id: "node" + seq++,
text: fileName,
parent: parentPath,
icon: "glyphicon glyphicon-file light-gray",
path: path,
leaf: true
};
});
fileTreeHash: computed('model.files.[]', function() {
const files = this.get('model.files');

let done = false;
do {
done = true;
let paths = _.uniq(_.pluck(treeData, 'text'));
let parents = _.uniq(_.pluck(treeData, 'parent'));
parents.forEach(function(parent) {
if (!paths.contains(parent) && parent !== "#" && treeData.filterBy('path', parent).length === 0) {
let splitPath = parent.split("/");
let parentPath = splitPath.slice(0, -1).join("/");
let fileName = splitPath[splitPath.length - 1];
if (parentPath === "") {
parentPath = "#";
}
treeData.push({
id: "node" + seq++,
text: fileName,
parent: parentPath,
icon: "glyphicon glyphicon-folder-open yellow",
path: parent
});
done = false;
return files.reduce((accumulator, file) => {
const path = file.get('filePath');
const splitPath = path.split('/');
const splitPathZeroBasedLength = splitPath.length - 1;

const possiblePaths = splitPath.map((pathPart, index, paths) => {
const previousPathIsRoot = index - 1 < 0;
const pathObj = {
nodeName: pathPart,
isFile: false
};

if(previousPathIsRoot) {
pathObj.path = pathPart;
pathObj.parent = '#';
} else {
const previousPath = paths.slice(0, index).join('/');
pathObj.path = `${previousPath}/${pathPart}`;
pathObj.parent = previousPath;
}

if(index === splitPathZeroBasedLength) {
pathObj.isFile = true;
}

return pathObj;
});
} while (!done);

let idMap = {};
treeData.forEach(function(node) {
idMap[node.path] = node.id;
});
const existingFilteredOut = possiblePaths.filter(pathObj => {
return !accumulator[pathObj.path];
});

treeData.forEach(function(node) {
if (node.parent !== "#") {
node.parent = idMap[node.parent];
existingFilteredOut.forEach(pathObj => {
accumulator[pathObj.path] = pathObj;
});

return accumulator;
}, {});
}),

/**
* Calculate data for file tree
*/
fileTreeData: computed('fileTreeHash', function() {
const fileTreeHash = this.get('fileTreeHash');
const fileTreeKeys = Object.keys(fileTreeHash);
const fileTreeObjects = fileTreeKeys.map(key => fileTreeHash[key]);

return fileTreeObjects.map(treeObject => {
const treeDataObject = {
id: treeObject.path,
text: treeObject.nodeName,
parent: treeObject.parent,
path: treeObject.path
};

if(treeObject.isFile) {
treeDataObject.leaf = true;
treeDataObject.icon = 'glyphicon glyphicon-file light-gray';
} else {
treeDataObject.icon = 'glyphicon glyphicon-folder-open yellow';
}
});

return treeData;
return treeDataObject;
});
}),

actions: {
Expand All @@ -77,7 +83,10 @@ export default Ember.Component.extend({
this.get('jsTreeActionReceiver').send('toggleNode', node.id);
},

handleReady() {
didBecomeReady() {
if(this.attrs.didBecomeReady) {
this.attrs.didBecomeReady();
}
},

hideFileTree() {
Expand Down
2 changes: 1 addition & 1 deletion app/gist/controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ export default Ember.Controller.extend({
}

fileProperties.filePath = filePath;
let file = this.store.createRecord('gistFile', fileProperties);
let file = this.get('store').createRecord('gistFile', fileProperties);

this.get('model.files').pushObject(file);
this.get('notify').info(`File ${file.get('filePath')} was added`);
Expand Down
4 changes: 2 additions & 2 deletions app/gist/edit/route.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import GistRoute from "ember-twiddle/routes/gist-base-route";

export default GistRoute.extend({
model (params) {
this.store.unloadAll('gistFile');
this.get('store').unloadAll('gistFile');

return this.store.find('gist', params.id);
return this.get('store').find('gist', params.id);
},

setupController() {
Expand Down
6 changes: 3 additions & 3 deletions app/gist/new/route.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ export default GistRoute.extend({
emberCli: Ember.inject.service('ember-cli'),

model (params) {
var model = this.store.createRecord('gist', {description: 'New Twiddle'});
var model = this.get('store').createRecord('gist', {description: 'New Twiddle'});

if (params.copyCurrentTwiddle) {
this.store.peekAll('gistFile').setEach('gist', model);
this.get('store').peekAll('gistFile').setEach('gist', model);
} else {
this.store.unloadAll('gistFile');
this.get('store').unloadAll('gistFile');

model.get('files').pushObject(this.get('emberCli').generate('controllers/application'));
model.get('files').pushObject(this.get('emberCli').generate('templates/application'));
Expand Down
2 changes: 1 addition & 1 deletion app/gist/route.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export default Ember.Route.extend({
deactivate () {
var gist = this.controller.get('model');
if (gist.get('isNew')) {
this.store.unloadRecord(gist);
this.get('store').unloadRecord(gist);
}
},

Expand Down
3 changes: 3 additions & 0 deletions app/resolver.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import Resolver from 'ember-resolver';

export default Resolver;
4 changes: 2 additions & 2 deletions app/services/dependency-resolver.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import Ember from 'ember';

const EMBER_VERSIONS = ['2.2.0', '2.1.1', '2.0.2', '1.13.11', '1.12.1'];
const EMBER_DATA_VERSIONS = ['2.3.0', '2.2.1', '2.1.0', '2.0.1', '1.13.15'];
const EMBER_VERSIONS = ['2.3.0', '2.2.2', '2.1.2', '2.0.3', '1.13.13', '1.12.2'];
const EMBER_DATA_VERSIONS = ['2.3.3', '2.2.1', '2.1.0', '2.0.1', '1.13.15'];

const VERSION_REGEX = /^\d+.\d+.\d+$/;

Expand Down
21 changes: 12 additions & 9 deletions app/services/ember-cli.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,16 @@ import config from '../config/environment';
import Ember from 'ember';
import moment from 'moment';

const { inject } = Ember;
const twiddleAppName = 'demo-app';

// These files will be included if not present
const boilerPlateJs = [
'app',
'router',
'initializers/router',
'initializers/mouse-events'
'initializers/mouse-events',
'resolver'
];

// These files have to be present
Expand Down Expand Up @@ -84,6 +86,10 @@ const availableBlueprints = {
'twiddle.json': {
blueprint: 'twiddle.json',
filePath: 'twiddle.json'
},
'resolver': {
blueprint: 'resolver',
filePath: 'resolver.js'
}
};

Expand All @@ -101,15 +107,11 @@ const requiredDependencies = [
* source code at https://github.com/ember-cli/ember-cli
*/
export default Ember.Service.extend({
dependencyResolver: Ember.inject.service(),

init (...args) {
this._super(...args);
this.set('store', this.container.lookup("service:store"));
},
dependencyResolver: inject.service(),
store: inject.service(),

generate(type) {
return this.store.createRecord('gistFile', this.buildProperties(type));
return this.get('store').createRecord('gistFile', this.buildProperties(type));
},

buildProperties(type, replacements) {
Expand Down Expand Up @@ -218,6 +220,7 @@ export default Ember.Service.extend({

let EmberENV = twiddleJSON.EmberENV || {};
depScriptTags += `<script type="text/javascript">EmberENV = ${JSON.stringify(EmberENV)};</script>`;
depScriptTags += `<script type="text/javascript" src="${config.assetsHost}assets/loader.js?${config.APP.version}"></script>`;

Object.keys(deps).forEach(function(depKey) {
let dep = deps[depKey];
Expand Down Expand Up @@ -264,7 +267,7 @@ export default Ember.Service.extend({
requiredFiles.forEach(filePath => {
var file = gist.get('files').findBy('filePath', filePath);
if(!file) {
gist.get('files').pushObject(this.store.createRecord('gistFile', {
gist.get('files').pushObject(this.get('store').createRecord('gistFile', {
filePath: filePath,
content: blueprints[filePath]
}));
Expand Down
5 changes: 3 additions & 2 deletions app/templates/components/file-tree.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,6 @@
</div>
{{ember-jstree data=fileTreeData
actionReceiver=jsTreeActionReceiver
eventDidSelectNode="handleSelectTreeNode"
}}
eventDidSelectNode=(action "handleSelectTreeNode")
eventDidBecomeReady=(action "didBecomeReady")
}}
2 changes: 1 addition & 1 deletion app/torii-adapters/application.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export default Ember.Object.extend({ /**
*/
resolveUser (token) {
config.TMP_TORII_TOKEN = token;
return this.store.find('user', 'current').then((user) => {
return this.get('store').find('user', 'current').then((user) => {
config.TMP_TORII_TOKEN = null;
localStorage.setItem('fiddle_gh_session', token);
return { currentUser: user, token: token };
Expand Down
2 changes: 1 addition & 1 deletion app/twiddles/route.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export default Ember.Route.extend({
},

model() {
return this.store.findAll('gist');
return this.get('store').findAll('gist');
},

actions: {
Expand Down
10 changes: 4 additions & 6 deletions bower.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
{
"name": "ember-twiddle",
"dependencies": {
"ember": "2.2.0",
"ember-cli-shims": "0.0.6",
"ember": "2.3.0",
"ember-cli-shims": "0.1.0",
"ember-cli-test-loader": "0.2.2",
"ember-data": "2.2.1",
"ember-load-initializers": "0.1.7",
"ember-qunit-notifications": "0.1.0",
"jquery": "^1.11.3",
"loader.js": "ember-cli/loader.js#3.5.0",
"qunit": "~1.20.0",
"loader.js": "^3.5.0",
"codemirror": "~5.9.0",
"ember-cli-codemirror-shim": "~0.0.1",
"bootstrap-sass": "~3.3.5",
Expand All @@ -24,6 +22,6 @@
},
"resolutions": {
"codemirror": "~5.9.0",
"ember": "2.2.0"
"ember": "2.3.0"
}
}
11 changes: 8 additions & 3 deletions ember-cli-build.js
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,10 @@ module.exports = function(defaults) {
destDir: '/assets'
});

var emberDataShims = funnel('vendor', {
files: ['ember-data-shims.js']
});

var bowerTree = funnel('bower_components');
var baseResolverTree = funnel('node_modules/ember-resolver/addon', {
destDir: 'ember-resolver'
Expand All @@ -70,14 +74,14 @@ module.exports = function(defaults) {
moduleIds: true,
modules: 'amdStrict'
});
var mergedDepsTree = mergeTrees([bowerTree, transpiledResolverTree]);
var mergedDepsTree = mergeTrees([bowerTree, transpiledResolverTree, emberDataShims]);

var twiddleVendorTree = concat(mergedDepsTree, {
inputFiles: [
'loader.js/loader.js',
'ember-cli-shims/app-shims.js',
'ember-load-initializers/ember-load-initializers.js',
'ember-resolver/**/*.js'
'ember-resolver/**/*.js',
'ember-data-shims.js'
],
outputFile: '/assets/twiddle-deps.js'
});
Expand Down Expand Up @@ -110,6 +114,7 @@ function getEmberCLIBlueprints() {
fileMap[blueprintName] = fs.readFileSync(filePath).toString();
}

fileMap['resolver'] = fs.readFileSync('app/resolver.js').toString();
fileMap['twiddle.json'] = fs.readFileSync('blueprints/twiddle.json').toString();
fileMap['initializers/router'] = fs.readFileSync('blueprints/router_initializer.js').toString();
fileMap['initializers/mouse-events'] = fs.readFileSync('blueprints/mouse_events_initializer.js').toString();
Expand Down
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"ember-api-actions": "0.0.11",
"ember-autoresize": "0.5.14",
"ember-browserify": "1.1.4",
"ember-cli": "2.2.0-beta.3",
"ember-cli": "2.3.0-beta.1",
"ember-cli-app-version": "1.0.0",
"ember-cli-babel": "^5.1.5",
"ember-cli-bootstrap-sassy": "0.5.1",
Expand All @@ -46,7 +46,7 @@
"ember-cli-jstree": "1.0.0",
"ember-cli-mirage": "0.1.11",
"ember-cli-moment-shim": "0.7.1",
"ember-cli-qunit": "1.1.0",
"ember-cli-qunit": "1.2.1",
"ember-cli-release": "0.2.8",
"ember-cli-sass": "5.2.1",
"ember-deploy-s3": "0.0.5",
Expand All @@ -65,7 +65,7 @@
"babel": "^5.0.0",
"ember-cli-sri": "2.0.0",
"ember-cli-uglify": "1.2.0",
"ember-data": "2.2.1",
"ember-data": "^2.3.3",
"ember-disable-proxy-controllers": "1.0.1",
"ember-export-application-global": "1.0.4",
"ember-resolver": "~2.0.3"
Expand Down
Loading

0 comments on commit ffe5d01

Please sign in to comment.