1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-16 19:21:52 +00:00

standardize code

This commit is contained in:
Rokt33r
2015-06-10 03:14:44 +09:00
parent 58729b4d56
commit 29430b540b
15 changed files with 146 additions and 146 deletions

View File

@@ -31,7 +31,7 @@ gulp.task('env', function () {
.pipe(gulp.dest('build/config')) .pipe(gulp.dest('build/config'))
}) })
gulp.task('js', function (){ gulp.task('js', function () {
return gulp.src(['src/**/*.js']) return gulp.src(['src/**/*.js'])
.pipe(changed('build')) .pipe(changed('build'))
.pipe(gulp.dest('build')) .pipe(gulp.dest('build'))
@@ -43,14 +43,14 @@ gulp.task('styl', function () {
.pipe(styl()) .pipe(styl())
.pipe(autoprefixer()) .pipe(autoprefixer())
.pipe(gulp.dest('build')) .pipe(gulp.dest('build'))
.pipe(notify("Stylus!!")) .pipe(notify('Stylus!!'))
.pipe(livereload()) .pipe(livereload())
}) })
gulp.task('tpls', function(){ gulp.task('tpls', function () {
return gulp.src('src/**/*.tpl.html') return gulp.src('src/**/*.tpl.html')
.pipe(templateCache()) .pipe(templateCache())
.pipe(notify("Tpls Done!! :)")) .pipe(notify('Tpls Done!! :)'))
.pipe(gulp.dest('build')) .pipe(gulp.dest('build'))
}) })

7
docs/events.md Normal file
View File

@@ -0,0 +1,7 @@
# Event List
|name|Description|Delivery|
|----|----|----|
|userSignIn|a user signed in||
|userSignOut|a user signed out||
|snippetUpdated|snippet has been updated or created|snippet|

View File

@@ -1,2 +1,3 @@
/* global angular */
angular.module('codexen') angular.module('codexen')
.constant('aceModes', ['ABAP','ABC','ActionScript','ADA','Apache_Conf','AsciiDoc','Assembly_x86','AutoHotKey','BatchFile','C9Search','C_Cpp','Cirru','Clojure','Cobol','coffee','ColdFusion','CSharp','CSS','Curly','D','Dart','Diff','Dockerfile','Dot','Dummy','DummySyntax','Eiffel','EJS','Elixir','Elm','Erlang','Forth','FTL','Gcode','Gherkin','Gitignore','Glsl','golang','Groovy','HAML','Handlebars','Haskell','haXe','HTML','HTML_Ruby','INI','Io','Jack','Jade','Java','JavaScript','JSON','JSONiq','JSP','JSX','Julia','LaTeX','Lean','LESS','Liquid','Lisp','LiveScript','LogiQL','LSL','Lua','LuaPage','Lucene','Makefile','Markdown','Mask','MATLAB','MEL','MUSHCode','MySQL','Nix','ObjectiveC','OCaml','Pascal','Perl','pgSQL','PHP','Powershell','Praat','Prolog','Properties','Protobuf','Python','R','RDoc','RHTML','Ruby','Rust','SASS','SCAD','Scala','Scheme','SCSS','SH','SJS','Smarty','snippets','Soy_Template','Space','SQL','SQLServer','Stylus','SVG','Tcl','Tex','Text','Textile','Toml','Twig','Typescript','Vala','VBScript','Velocity','Verilog','VHDL','XML','XQuery','YAML','Django']) .constant('aceModes', ['ABAP', 'ABC', 'ActionScript', 'ADA', 'Apache_Conf', 'AsciiDoc', 'Assembly_x86', 'AutoHotKey', 'BatchFile', 'C9Search', 'C_Cpp', 'Cirru', 'Clojure', 'Cobol', 'coffee', 'ColdFusion', 'CSharp', 'CSS', 'Curly', 'D', 'Dart', 'Diff', 'Dockerfile', 'Dot', 'Dummy', 'DummySyntax', 'Eiffel', 'EJS', 'Elixir', 'Elm', 'Erlang', 'Forth', 'FTL', 'Gcode', 'Gherkin', 'Gitignore', 'Glsl', 'golang', 'Groovy', 'HAML', 'Handlebars', 'Haskell', 'haXe', 'HTML', 'HTML_Ruby', 'INI', 'Io', 'Jack', 'Jade', 'Java', 'JavaScript', 'JSON', 'JSONiq', 'JSP', 'JSX', 'Julia', 'LaTeX', 'Lean', 'LESS', 'Liquid', 'Lisp', 'LiveScript', 'LogiQL', 'LSL', 'Lua', 'LuaPage', 'Lucene', 'Makefile', 'Markdown', 'Mask', 'MATLAB', 'MEL', 'MUSHCode', 'MySQL', 'Nix', 'ObjectiveC', 'OCaml', 'Pascal', 'Perl', 'pgSQL', 'PHP', 'Powershell', 'Praat', 'Prolog', 'Properties', 'Protobuf', 'Python', 'R', 'RDoc', 'RHTML', 'Ruby', 'Rust', 'SASS', 'SCAD', 'Scala', 'Scheme', 'SCSS', 'SH', 'SJS', 'Smarty', 'snippets', 'Soy_Template', 'Space', 'SQL', 'SQLServer', 'Stylus', 'SVG', 'Tcl', 'Tex', 'Text', 'Textile', 'Toml', 'Twig', 'Typescript', 'Vala', 'VBScript', 'Velocity', 'Verilog', 'VHDL', 'XML', 'XQuery', 'YAML', 'Django'])

View File

@@ -1,5 +1,3 @@
/* global angular */ /* global angular */
angular.module('codexen') angular.module('codexen')
.controller('AppController', function ($scope) { .controller('AppController', function ($scope) {})
})

View File

@@ -1,6 +1,6 @@
/* global angular */ /* global angular */
angular.module('codexen') angular.module('codexen')
.controller('NewSnippetModalController', function ($modalInstance, aceModes, $log, Snippet, $rootScope, Tag){ .controller('NewSnippetModalController', function ($modalInstance, aceModes, $log, Snippet, $rootScope, Tag) {
var vm = this var vm = this
vm.aceModes = aceModes vm.aceModes = aceModes

View File

@@ -7,7 +7,7 @@ angular.module('codexen')
$auth.login({ $auth.login({
email: vm.email, email: vm.email,
password: vm.password password: vm.password
}).then(function(data){ }).then(function (data) {
console.log(data) console.log(data)
$rootScope.$broadcast('userSignIn') $rootScope.$broadcast('userSignIn')
}) })

View File

@@ -1,5 +1,3 @@
/* global angular */ /* global angular */
angular.module('codexen') angular.module('codexen')
.controller('HomeController', function ($auth, Snippet, $scope) { .controller('HomeController', function ($auth, Snippet, $scope) {})
})

View File

@@ -16,7 +16,7 @@ angular.module('codexen')
vm.snippets = data vm.snippets = data
vm.isGuest = false vm.isGuest = false
}) })
}else { } else {
vm.isLoaded = true vm.isLoaded = true
vm.isGuest = true vm.isGuest = true
vm.snippets = void 0 vm.snippets = void 0
@@ -45,8 +45,8 @@ angular.module('codexen')
if (vm.snippets[i]._id === currentSnippetId) { if (vm.snippets[i]._id === currentSnippetId) {
var targetSnippet = null var targetSnippet = null
if (i === 0) targetSnippet = vm.snippets[i+1] if (i === 0) targetSnippet = vm.snippets[i + 1]
else targetSnippet = vm.snippets[i-1] else targetSnippet = vm.snippets[i - 1]
console.log('target', targetSnippet) console.log('target', targetSnippet)
$state.go('snippets.detail', {id: targetSnippet._id}) $state.go('snippets.detail', {id: targetSnippet._id})

View File

@@ -1,4 +1,5 @@
'use strict'; /* global angular */
'use strict'
/** /**
* Binds a ACE Editor widget * Binds a ACE Editor widget
@@ -6,9 +7,8 @@
angular.module('ui.ace', []) angular.module('ui.ace', [])
.constant('uiAceConfig', {}) .constant('uiAceConfig', {})
.directive('uiAce', ['uiAceConfig', function (uiAceConfig) { .directive('uiAce', ['uiAceConfig', function (uiAceConfig) {
if (angular.isUndefined(window.ace)) { if (angular.isUndefined(window.ace)) {
throw new Error('ui-ace need ace to work... (o rly?)'); throw new Error('ui-ace need ace to work... (o rly?)')
} }
/** /**
@@ -28,41 +28,40 @@ angular.module('ui.ace', [])
* @param session ACE editor session * @param session ACE editor session
* @param {object} opts Options to be set * @param {object} opts Options to be set
*/ */
var setOptions = function(acee, session, opts) { var setOptions = function (acee, session, opts) {
// sets the ace worker path, if running from concatenated // sets the ace worker path, if running from concatenated
// or minified source // or minified source
if (angular.isDefined(opts.workerPath)) { if (angular.isDefined(opts.workerPath)) {
var config = window.ace.require('ace/config'); var config = window.ace.require('ace/config')
config.set('workerPath', opts.workerPath); config.set('workerPath', opts.workerPath)
} }
// ace requires loading // ace requires loading
if (angular.isDefined(opts.require)) { if (angular.isDefined(opts.require)) {
opts.require.forEach(function (n) { opts.require.forEach(function (n) {
window.ace.require(n); window.ace.require(n)
}); })
} }
// Boolean options // Boolean options
if (angular.isDefined(opts.showGutter)) { if (angular.isDefined(opts.showGutter)) {
acee.renderer.setShowGutter(opts.showGutter); acee.renderer.setShowGutter(opts.showGutter)
} }
if (angular.isDefined(opts.useWrapMode)) { if (angular.isDefined(opts.useWrapMode)) {
session.setUseWrapMode(opts.useWrapMode); session.setUseWrapMode(opts.useWrapMode)
} }
if (angular.isDefined(opts.showInvisibles)) { if (angular.isDefined(opts.showInvisibles)) {
acee.renderer.setShowInvisibles(opts.showInvisibles); acee.renderer.setShowInvisibles(opts.showInvisibles)
} }
if (angular.isDefined(opts.showIndentGuides)) { if (angular.isDefined(opts.showIndentGuides)) {
acee.renderer.setDisplayIndentGuides(opts.showIndentGuides); acee.renderer.setDisplayIndentGuides(opts.showIndentGuides)
} }
if (angular.isDefined(opts.useSoftTabs)) { if (angular.isDefined(opts.useSoftTabs)) {
session.setUseSoftTabs(opts.useSoftTabs); session.setUseSoftTabs(opts.useSoftTabs)
} }
if (angular.isDefined(opts.showPrintMargin)) { if (angular.isDefined(opts.showPrintMargin)) {
acee.setShowPrintMargin(opts.showPrintMargin); acee.setShowPrintMargin(opts.showPrintMargin)
} }
if (angular.isDefined(opts.maxLines)) { if (angular.isDefined(opts.maxLines)) {
if(opts.maxLines < 0) opts.maxLines = Infinity if (opts.maxLines < 0) opts.maxLines = Infinity
acee.setOptions({ acee.setOptions({
maxLines: opts.maxLines maxLines: opts.maxLines
}) })
@@ -78,37 +77,37 @@ angular.module('ui.ace', [])
mac: 'Command-F' mac: 'Command-F'
}, },
exec: function () { exec: function () {
return false; return false
}, },
readOnly: true readOnly: true
} }
]); ])
} }
// Basic options // Basic options
if (angular.isString(opts.theme)) { if (angular.isString(opts.theme)) {
acee.setTheme('ace/theme/' + opts.theme); acee.setTheme('ace/theme/' + opts.theme)
} }
if (angular.isString(opts.mode)) { if (angular.isString(opts.mode)) {
session.setMode('ace/mode/' + opts.mode); session.setMode('ace/mode/' + opts.mode)
} }
// Advanced options // Advanced options
if (angular.isDefined(opts.firstLineNumber)) { if (angular.isDefined(opts.firstLineNumber)) {
if (angular.isNumber(opts.firstLineNumber)) { if (angular.isNumber(opts.firstLineNumber)) {
session.setOption('firstLineNumber', opts.firstLineNumber); session.setOption('firstLineNumber', opts.firstLineNumber)
} else if (angular.isFunction(opts.firstLineNumber)) { } else if (angular.isFunction(opts.firstLineNumber)) {
session.setOption('firstLineNumber', opts.firstLineNumber()); session.setOption('firstLineNumber', opts.firstLineNumber())
} }
} }
// advanced options // advanced options
var key, obj; var key, obj
if (angular.isDefined(opts.advanced)) { if (angular.isDefined(opts.advanced)) {
for (key in opts.advanced) { for (key in opts.advanced) {
// create a javascript object with the key and value // create a javascript object with the key and value
obj = { name: key, value: opts.advanced[key] }; obj = { name: key, value: opts.advanced[key] }
// try to assign the option to the ace editor // try to assign the option to the ace editor
acee.setOption(obj.name, obj.value); acee.setOption(obj.name, obj.value)
} }
} }
@@ -116,42 +115,41 @@ angular.module('ui.ace', [])
if (angular.isDefined(opts.rendererOptions)) { if (angular.isDefined(opts.rendererOptions)) {
for (key in opts.rendererOptions) { for (key in opts.rendererOptions) {
// create a javascript object with the key and value // create a javascript object with the key and value
obj = { name: key, value: opts.rendererOptions[key] }; obj = { name: key, value: opts.rendererOptions[key] }
// try to assign the option to the ace editor // try to assign the option to the ace editor
acee.renderer.setOption(obj.name, obj.value); acee.renderer.setOption(obj.name, obj.value)
} }
} }
// onLoad callbacks // onLoad callbacks
angular.forEach(opts.callbacks, function (cb) { angular.forEach(opts.callbacks, function (cb) {
if (angular.isFunction(cb)) { if (angular.isFunction(cb)) {
cb(acee); cb(acee)
}
})
} }
});
};
return { return {
restrict: 'EA', restrict: 'EA',
require: '?ngModel', require: '?ngModel',
link: function (scope, elm, attrs, ngModel) { link: function (scope, elm, attrs, ngModel) {
/** /**
* Corresponds the uiAceConfig ACE configuration. * Corresponds the uiAceConfig ACE configuration.
* @type object * @type object
*/ */
var options = uiAceConfig.ace || {}; var options = uiAceConfig.ace || {}
/** /**
* uiAceConfig merged with user options via json in attribute or data binding * uiAceConfig merged with user options via json in attribute or data binding
* @type object * @type object
*/ */
var opts = angular.extend({}, options, scope.$eval(attrs.uiAce)); var opts = angular.extend({}, options, scope.$eval(attrs.uiAce))
/** /**
* ACE editor * ACE editor
* @type object * @type object
*/ */
var acee = window.ace.edit(elm[0]); var acee = window.ace.edit(elm[0])
acee.$blockScrolling = Infinity acee.$blockScrolling = Infinity
/** /**
@@ -159,21 +157,21 @@ angular.module('ui.ace', [])
* @type object * @type object
* @see [EditSession]{@link http://ace.c9.io/#nav=api&api=edit_session} * @see [EditSession]{@link http://ace.c9.io/#nav=api&api=edit_session}
*/ */
var session = acee.getSession(); var session = acee.getSession()
/** /**
* Reference to a change listener created by the listener factory. * Reference to a change listener created by the listener factory.
* @function * @function
* @see listenerFactory.onChange * @see listenerFactory.onChange
*/ */
var onChangeListener; var onChangeListener
/** /**
* Reference to a blur listener created by the listener factory. * Reference to a blur listener created by the listener factory.
* @function * @function
* @see listenerFactory.onBlur * @see listenerFactory.onBlur
*/ */
var onBlurListener; var onBlurListener
/** /**
* Calls a callback by checking its existing. The argument list * Calls a callback by checking its existing. The argument list
@@ -182,7 +180,6 @@ angular.module('ui.ace', [])
* @throws {Error} If the callback isn't a function * @throws {Error} If the callback isn't a function
*/ */
var executeUserCallback = function () { var executeUserCallback = function () {
/** /**
* The callback function grabbed from the array-like arguments * The callback function grabbed from the array-like arguments
* object. The first argument should always be the callback. * object. The first argument should always be the callback.
@@ -190,7 +187,7 @@ angular.module('ui.ace', [])
* @see [arguments]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/arguments} * @see [arguments]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/arguments}
* @type {*} * @type {*}
*/ */
var callback = arguments[0]; var callback = arguments[0]
/** /**
* Arguments to be passed to the callback. These are taken * Arguments to be passed to the callback. These are taken
@@ -200,18 +197,18 @@ angular.module('ui.ace', [])
* @see [arguments]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/arguments} * @see [arguments]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/arguments}
* @type {Array} * @type {Array}
*/ */
var args = Array.prototype.slice.call(arguments, 1); var args = Array.prototype.slice.call(arguments, 1)
if (angular.isDefined(callback)) { if (angular.isDefined(callback)) {
scope.$evalAsync(function () { scope.$evalAsync(function () {
if (angular.isFunction(callback)) { if (angular.isFunction(callback)) {
callback(args); callback(args)
} else { } else {
throw new Error('ui-ace use a function as callback.'); throw new Error('ui-ace use a function as callback.')
}
})
} }
});
} }
};
/** /**
* Listener factory. Until now only change listeners can be created. * Listener factory. Until now only change listeners can be created.
@@ -229,7 +226,7 @@ angular.module('ui.ace', [])
*/ */
onChange: function (callback) { onChange: function (callback) {
return function (e) { return function (e) {
var newValue = session.getValue(); var newValue = session.getValue()
if (ngModel && newValue !== ngModel.$viewValue && if (ngModel && newValue !== ngModel.$viewValue &&
// HACK make sure to only trigger the apply outside of the // HACK make sure to only trigger the apply outside of the
@@ -237,12 +234,12 @@ angular.module('ui.ace', [])
// for any text transformation ! // for any text transformation !
!scope.$$phase && !scope.$root.$$phase) { !scope.$$phase && !scope.$root.$$phase) {
scope.$evalAsync(function () { scope.$evalAsync(function () {
ngModel.$setViewValue(newValue); ngModel.$setViewValue(newValue)
}); })
} }
executeUserCallback(callback, e, acee); executeUserCallback(callback, e, acee)
}; }
}, },
/** /**
* Creates a blur listener which propagates the editor session * Creates a blur listener which propagates the editor session
@@ -255,80 +252,79 @@ angular.module('ui.ace', [])
*/ */
onBlur: function (callback) { onBlur: function (callback) {
return function () { return function () {
executeUserCallback(callback, acee); executeUserCallback(callback, acee)
}; }
}
} }
};
attrs.$observe('readonly', function (value) { attrs.$observe('readonly', function (value) {
acee.setReadOnly(!!value || value === ''); acee.setReadOnly(!!value || value === '')
}); })
// Value Blind // Value Blind
if (ngModel) { if (ngModel) {
ngModel.$formatters.push(function (value) { ngModel.$formatters.push(function (value) {
if (angular.isUndefined(value) || value === null) { if (angular.isUndefined(value) || value === null) {
return ''; return ''
} else if (angular.isObject(value) || angular.isArray(value)) {
throw new Error('ui-ace cannot use an object or an array as a model')
} }
else if (angular.isObject(value) || angular.isArray(value)) { return value
throw new Error('ui-ace cannot use an object or an array as a model'); })
}
return value;
});
ngModel.$render = function () { ngModel.$render = function () {
session.setValue(ngModel.$viewValue); session.setValue(ngModel.$viewValue)
}; }
} }
// Listen for option updates // Listen for option updates
var updateOptions = function (current, previous) { var updateOptions = function (current, previous) {
if (current === previous) return; if (current === previous) return
opts = angular.extend({}, options, scope.$eval(attrs.uiAce)); opts = angular.extend({}, options, scope.$eval(attrs.uiAce))
opts.callbacks = [ opts.onLoad ]; opts.callbacks = [ opts.onLoad ]
if (opts.onLoad !== options.onLoad) { if (opts.onLoad !== options.onLoad) {
// also call the global onLoad handler // also call the global onLoad handler
opts.callbacks.unshift(options.onLoad); opts.callbacks.unshift(options.onLoad)
} }
// EVENTS // EVENTS
// unbind old change listener // unbind old change listener
session.removeListener('change', onChangeListener); session.removeListener('change', onChangeListener)
// bind new change listener // bind new change listener
onChangeListener = listenerFactory.onChange(opts.onChange); onChangeListener = listenerFactory.onChange(opts.onChange)
session.on('change', onChangeListener); session.on('change', onChangeListener)
// unbind old blur listener // unbind old blur listener
//session.removeListener('blur', onBlurListener); // session.removeListener('blur', onBlurListener)
acee.removeListener('blur', onBlurListener); acee.removeListener('blur', onBlurListener)
// bind new blur listener // bind new blur listener
onBlurListener = listenerFactory.onBlur(opts.onBlur); onBlurListener = listenerFactory.onBlur(opts.onBlur)
acee.on('blur', onBlurListener); acee.on('blur', onBlurListener)
setOptions(acee, session, opts); setOptions(acee, session, opts)
}; }
scope.$watch(attrs.uiAce, updateOptions, /* deep watch */ true); scope.$watch(attrs.uiAce, updateOptions, /* deep watch */ true)
// set the options here, even if we try to watch later, if this // set the options here, even if we try to watch later, if this
// line is missing things go wrong (and the tests will also fail) // line is missing things go wrong (and the tests will also fail)
updateOptions(options); updateOptions(options)
elm.on('$destroy', function () { elm.on('$destroy', function () {
acee.session.$stopWorker(); acee.session.$stopWorker()
acee.destroy(); acee.destroy()
}); })
scope.$watch(function() { scope.$watch(function () {
return [elm[0].offsetWidth, elm[0].offsetHeight]; return [elm[0].offsetWidth, elm[0].offsetHeight]
}, function() { }, function () {
acee.resize(); acee.resize()
acee.renderer.updateFull(); acee.renderer.updateFull()
}, true); }, true)
scope.Infinity = -1 scope.Infinity = -1
@@ -343,5 +339,5 @@ angular.module('ui.ace', [])
}) })
} }
}; }
}]); }])

View File

@@ -1,7 +1,7 @@
/* global angular moment */ /* global angular moment */
angular.module('codexen') angular.module('codexen')
.filter('fromNow', function () { .filter('fromNow', function () {
return function (input) { return function (input) {
return moment(input).fromNow() return moment(input).fromNow()
} }
}) })