1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-28 09:01:47 +00:00

rebuild app structure

This commit is contained in:
Rokt33r
2015-06-08 03:56:28 +09:00
parent 010ee6a711
commit 67d8183582
61 changed files with 705 additions and 1266 deletions

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.user
})
}
}
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,47 @@
/* global angular */
angular.module('codexen')
.controller('EditSnippetModalController', function ($modalInstance, aceModes, $log, Snippet, $rootScope, Tag, snippet) {
var vm = this
vm.aceModes = aceModes
vm.snippet = snippet
console.log(snippet)
vm.submit = function () {
console.log('mode: ', vm.snippet.mode)
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 {_id: tag._id, name: tag.name} }) : []
}
Snippet.update(vm.snippet._id, params)
.success(function (data) {
$modalInstance.close(data.snippet)
console.log('snippet created!', 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.tags
})
}
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 {_id: tag._id, name: tag.name} }) : []
}
Snippet.create(params)
.success(function (data) {
$modalInstance.close(data.snippet)
})
}
// 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.tags
})
}
vm.transform = function (tagName) {
return {
_id: 0,
name: tagName
}
}
vm.cancel = function () {
$modalInstance.dismiss()
}
})

View File

@@ -0,0 +1,19 @@
/* global angular */
angular.module('codexen')
.controller('AuthRegisterController', function ($auth, $log) {
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) {
console.log(data)
})
}
})

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,5 @@
/* global angular */
angular.module('codexen')
.controller('HomeController', function ($auth, Snippet, $scope) {
})

View File

@@ -0,0 +1,22 @@
/* global angular */
angular.module('codexen')
.controller('SnippetsDetailController', function (Snippet, $state, $rootScope) {
var vm = this
vm.isLoaded = false
var snippetId = $state.params.id
Snippet.show(snippetId)
.success(function (data) {
vm.snippet = data.snippet
vm.isLoaded = true
})
vm.delete = function () {
Snippet.delete(vm.snippet._id)
.success(function () {
$rootScope.$broadcast('snippetDeleted')
})
}
})

View File

@@ -0,0 +1,60 @@
/* global angular */
angular.module('codexen')
.controller('SnippetsListController', function ($auth, Snippet, $scope, $state) {
var vm = this
vm.isLoaded = false
var loadSnippets = function () {
if ($auth.isAuthenticated) {
console.log($auth.getPayload())
var userId = $auth.getPayload().sub
Snippet.findByUser(userId)
.success(function (data) {
console.log('snippets fetched', data.snippets)
vm.isLoaded = true
vm.snippets = data.snippets
vm.isGuest = false
})
}else {
vm.isLoaded = true
vm.isGuest = true
vm.snippets = void 0
}
}
loadSnippets()
$scope.$on('userSignIn', function () {
loadSnippets()
})
$scope.$on('userSignOut', function () {
loadSnippets()
})
$scope.$on('snippetUpdated', function (e, snippet) {
$state.go('snippets.detail', {id: snippet._id})
loadSnippets()
})
$scope.$on('snippetDeleted', function () {
if ($state.is('snippets.detail')) {
var currentSnippetId = $state.params.id
for (var i = 0; i < vm.snippets.length; i++) {
if (vm.snippets[i]._id === currentSnippetId) {
var targetSnippet = null
if (i === 0) targetSnippet = vm.snippets[i+1]
else targetSnippet = vm.snippets[i-1]
console.log('target', targetSnippet)
$state.go('snippets.detail', {id: targetSnippet._id})
break
}
}
}
loadSnippets()
})
})