chore(generators): update directive generator

This commit is contained in:
Tim Lancina
2016-01-07 14:39:44 -06:00
parent 11acd6c39b
commit 5c79fdb82d
2 changed files with 19 additions and 29 deletions

View File

@ -1,11 +1,16 @@
import {Directive, ElementRef} from 'angular2/angular2';
import {Directive} from 'angular2/core';
/*
Generated class for the <%= jsClassName %> directive.
See https://angular.io/docs/ts/latest/api/core/DirectiveMetadata-class.html
for more info on Angular 2 Directives.
*/
@Directive({
properties: ['<%= fileName %>'], //Change to be whatever properties you want, ex: <<%= fileName %> value="5">
inputs: ['<%= fileName %>']
selector: '[<%= fileName %>]' // Attribute selector
})
export class <%= jsClassName %> {
constructor(elementRef: ElementRef) {
this.ele = elementRef;
constructor() {
console.log('Hello World');
}
}

View File

@ -1,27 +1,12 @@
var fs = require('fs'),
Generator = module.exports,
Generate = require('../../generate'),
path = require('path'),
Q = require('q');
/*
@options
name: Page name
appDirectory: App directory of where to save file
*/
Generator.run = function run(options) {
Generate.createScaffoldDirectories({appDirectory: options.appDirectory, componentDirectory: 'directives', fileName: options.fileName});
var path = require('path'),
Generator = require('../../generator');
options.rootDirectory = options.rootDirectory || path.join('app', 'directives');
var savePath = path.join(options.appDirectory, options.rootDirectory, options.fileName);
module.exports = DirectiveGenerator;
var templates = Generate.loadGeneratorTemplates(__dirname);
function DirectiveGenerator(options) {
Generator.call(this, options);
this.directory = path.join('app', 'components');
}
DirectiveGenerator.prototype = Object.create(Generator.prototype);
templates.forEach(function(template) {
options.templatePath = template.file;
var renderedTemplate = Generate.renderTemplateFromFile(options);
var saveFilePath = path.join(savePath, [options.fileName, template.type].join(''));
// console.log('renderedTemplate', renderedTemplate, 'saving to', saveFilePath);
console.log('√ Create'.blue, path.relative(options.appDirectory, saveFilePath));
fs.writeFileSync(saveFilePath, renderedTemplate);
});
};