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

refactor build config

This commit is contained in:
Rokt33r
2015-06-21 02:40:06 +09:00
parent 9e53bec631
commit 25eccacb4c
81 changed files with 6418 additions and 450 deletions

View File

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

View File

@@ -0,0 +1,36 @@
/* global angular */
angular.module('codexen')
.controller('SideNavController', function ($auth, User, $rootScope, $scope) {
var vm = this
vm.isAuthenticated = $auth.isAuthenticated()
var reloadUser = function () {
if (vm.isAuthenticated) {
User.me().success(function (data) {
console.log('currentUser', data)
vm.currentUser = data
})
}
}
reloadUser()
vm.signOut = function () {
$auth.logout()
.then(function () {
console.log('Sign Out')
$rootScope.$broadcast('userSignOut')
})
}
$scope.$on('userSignIn', function () {
vm.isAuthenticated = true
reloadUser()
})
$scope.$on('userSignOut', function () {
vm.isAuthenticated = false
vm.currentUser = null
})
})

View File

@@ -0,0 +1,16 @@
/* global angular */
angular.module('codexen')
.controller('DeleteSnippetModalController', function ($modalInstance, Snippet, snippet) {
var vm = this
vm.submit = function () {
Snippet.delete(snippet.id)
.success(function (snippet) {
$modalInstance.close(snippet)
})
}
vm.cancel = function () {
$modalInstance.dismiss()
}
})

View File

@@ -0,0 +1,44 @@
/* global angular */
angular.module('codexen')
.controller('EditSnippetModalController', function ($modalInstance, aceModes, $log, Snippet, $rootScope, Tag, snippet) {
var vm = this
vm.aceModes = aceModes
vm.snippet = snippet
vm.submit = function () {
var params = {
description: vm.snippet.description,
callSign: vm.snippet.callSign,
mode: vm.snippet.mode == null ? null : vm.snippet.mode.toLowerCase(),
content: vm.snippet.content,
Tags: angular.isArray(vm.snippet.Tags) ? vm.snippet.Tags.map(function (tag) { return tag.name }) : []
}
Snippet.update(vm.snippet.id, params)
.success(function (data) {
console.log('updated res :', data)
$modalInstance.close(data)
})
}
// vm.tags = []
vm.tagCandidates = []
vm.refreshTagCandidates = function (tagName) {
if (tagName == null || tagName === '') return null
return Tag.findByName(tagName)
.success(function (data) {
console.log('tags fetched!!', data)
vm.tagCandidates = data
})
}
vm.transform = function (tagName) {
return {
id: 0,
name: tagName
}
}
vm.cancel = function () {
$modalInstance.dismiss()
}
})

View File

@@ -0,0 +1,43 @@
/* global angular */
angular.module('codexen')
.controller('NewSnippetModalController', function ($modalInstance, aceModes, $log, Snippet, $rootScope, Tag) {
var vm = this
vm.aceModes = aceModes
vm.submit = function () {
var params = {
description: vm.description,
callSign: vm.callSign,
mode: vm.mode == null ? null : vm.mode.toLowerCase(),
content: vm.content,
Tags: angular.isArray(vm.Tags) ? vm.Tags.map(function (tag) { return tag.name }) : []
}
Snippet.create(params)
.success(function (data) {
$modalInstance.close(data)
})
}
// vm.tags = []
vm.tagCandidates = []
vm.refreshTagCandidates = function (tagName) {
if (tagName == null || tagName === '') return null
return Tag.findByName(tagName)
.success(function (data) {
console.log('tags fetched!!', data)
vm.tagCandidates = data
})
}
vm.transform = function (tagName) {
return {
id: 0,
name: tagName
}
}
vm.cancel = function () {
$modalInstance.dismiss()
}
})

View File

@@ -0,0 +1,20 @@
/* global angular */
angular.module('codexen')
.controller('AuthRegisterController', function ($auth, $log, $state, $rootScope) {
var vm = this
vm.isEmpty = function (obj) {
for (var i in obj) if (obj.hasOwnProperty(i)) return false
return true
}
vm.signup = function () {
$auth.signup({
email: vm.email,
password: vm.password,
name: vm.name,
profileName: vm.profileName
}).then(function (data) {
$rootScope.$broadcast('userSignIn')
$state.go('home')
})
}
})

View File

@@ -0,0 +1,15 @@
/* global angular */
angular.module('codexen')
.controller('AuthSignInController', function ($auth, $rootScope) {
var vm = this
vm.signIn = function () {
$auth.login({
email: vm.email,
password: vm.password
}).then(function (data) {
console.log(data)
$rootScope.$broadcast('userSignIn')
})
}
})

View File

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

View File

@@ -0,0 +1,33 @@
/* global angular */
angular.module('codexen')
.controller('SettingsController', function (Settings) {
var vm = this
vm.changePassword = changePassword
vm.isSuccess = false
vm.isError = false
function changePassword () {
var params = {
password: vm.password,
newPassword: vm.newPassword
}
Settings.changePassword(params)
.success(function (data) {
resetInput()
vm.isSuccess = true
vm.isError = false
})
.error(function () {
resetInput()
vm.isError = true
vm.isSuccess = false
})
}
function resetInput () {
vm.password = ''
vm.newPassword = ''
}
})

View File

@@ -0,0 +1,31 @@
/* global angular */
angular.module('codexen')
.controller('SnippetsDetailController', function (Snippet, $state, $rootScope, $scope, Modal) {
var vm = this
vm.isLoaded = false
var snippetId = $state.params.id
Snippet.show(snippetId)
.success(function (data) {
vm.snippet = data
vm.isLoaded = true
})
$scope.$on('taggingRequested', function (e) {
e.stopPropagation()
e.preventDefault()
Modal.editSnippet(angular.copy(vm.snippet))
.result.then(function (snippet) {
$rootScope.$broadcast('snippetUpdated', snippet)
}, function () {
console.log('edit snippet modal dismissed')
})
})
$scope.$on('snippetUpdated', function (e, snippet) {
console.log('event received', snippet)
if (snippet.id === vm.snippet.id) vm.snippet = snippet
})
})

View File

@@ -0,0 +1,110 @@
/* global angular */
angular.module('codexen')
.controller('SnippetsListController', function ($auth, Snippet, $scope, $state, $scope, $filter, mySnippets, User) {
var vm = this
vm.isLoading = false
vm.snippetId = parseInt($state.params.id)
vm.snippets = mySnippets
vm.searchSnippets = searchSnippets
vm.searchSnippets()
vm.isAuthenticated = $auth.isAuthenticated()
var reloadUser = function () {
if (vm.isAuthenticated) {
User.me().success(function (data) {
vm.currentUser = data
})
}
}
reloadUser()
// TODO: add Navigation methods
// vm.nextSnippet()
// vm.priorSnippet()
// vm.firstSnippet()
// vm.lastSnippet()
// TODO: keyboard navigating UX
$scope.$on('$stateChangeSuccess', function (e, toState, toParams) {
if (!toState.name.match(/snippets/)) return null
vm.snippetId = parseInt(toParams.id)
if (!vm.snippetId && vm.filtered[0]) {
$state.go('snippets.detail', {id: vm.filtered[0].id})
}
})
$scope.$on('snippetUpdated', function (e, snippet) {
if (!mySnippets.some(function (_snippet, index) {
if (_snippet.id === snippet.id) {
mySnippets[index] = snippet
return true
}
return false
})) mySnippets.unshift(snippet)
searchSnippets()
vm.snippetId = snippet.id
$state.go('snippets.detail', {id: snippet.id})
})
$scope.$on('snippetDeleted', function () {
if ($state.is('snippets.detail')) {
var currentSnippetId = parseInt($state.params.id)
// Delete snippet from snippet list
for (var i = 0; i < vm.snippets.length; i++) {
if (vm.snippets[i].id === currentSnippetId) {
vm.snippets.splice(i, 1)
break
}
}
// Delete snippet from `filtered list`
// And redirect `next filtered snippet`
for (var i = 0; i < vm.filtered.length; i++) {
if (vm.filtered[i].id === currentSnippetId) {
if (vm.filtered[i+1] != null) $state.go('snippets.detail', {id: vm.filtered[i+1].id})
else if (vm.filtered[i-1] != null) $state.go('snippets.detail', {id: vm.filtered[i-1].id})
else $state.go('snippets')
vm.filtered.splice(i, 1)
break
}
}
}
})
$scope.$on('tagSelected', function (e, tag) {
e.stopPropagation()
$scope.$apply(function () {
vm.search = '#' + tag.name
searchSnippets()
})
})
function loadSnippets() {
if ($auth.isAuthenticated) {
Snippet.findMine()
.success(function (data) {
vm.snippets = data
})
} else {
vm.snippets = void 0
}
}
function searchSnippets() {
vm.filtered = $filter('searchSnippets')(mySnippets, vm.search)
if (vm.search && vm.filtered[0] && (!vm.snippetId || vm.snippetId !== vm.filtered[0].id)) {
$state.go('snippets.detail', {id: vm.filtered[0].id})
}
}
})