2016-09-10 19:29:23 +08:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @ngdoc overview
|
|
|
|
* @name passmanApp
|
|
|
|
* @description
|
|
|
|
* # passmanApp
|
|
|
|
*
|
|
|
|
* Main module of the application.
|
|
|
|
*/
|
|
|
|
angular
|
|
|
|
.module('passmanApp', [
|
|
|
|
'ngAnimate',
|
|
|
|
'ngCookies',
|
|
|
|
'ngResource',
|
|
|
|
'ngRoute',
|
|
|
|
'ngSanitize',
|
|
|
|
'ngTouch',
|
2016-09-11 19:29:52 +08:00
|
|
|
'templates-main',
|
2016-09-12 04:14:11 +08:00
|
|
|
'LocalStorageModule',
|
2016-09-12 05:40:06 +08:00
|
|
|
'offClick',
|
2016-09-13 06:10:24 +08:00
|
|
|
'ngPasswordMeter',
|
2016-09-14 05:03:12 +08:00
|
|
|
'ngclipboard',
|
|
|
|
'xeditable',
|
2016-09-16 03:21:34 +08:00
|
|
|
'ngTagsInput'
|
2016-09-10 19:29:23 +08:00
|
|
|
])
|
|
|
|
.config(function ($routeProvider) {
|
|
|
|
$routeProvider
|
|
|
|
.when('/', {
|
2016-09-11 05:30:17 +08:00
|
|
|
templateUrl: 'views/vaults.html',
|
|
|
|
controller: 'VaultCtrl'
|
2016-09-10 19:29:23 +08:00
|
|
|
})
|
2016-09-12 02:47:29 +08:00
|
|
|
.when('/vault/:vault_id', {
|
|
|
|
templateUrl: 'views/show_vault.html',
|
|
|
|
controller: 'CredentialCtrl'
|
|
|
|
})
|
2016-09-13 06:10:24 +08:00
|
|
|
.when('/vault/:vault_id/new', {
|
|
|
|
templateUrl: 'views/edit_credential.html',
|
|
|
|
controller: 'CredentialEditCtrl'
|
|
|
|
})
|
|
|
|
.when('/vault/:vault_id/edit/:credential_id', {
|
|
|
|
templateUrl: 'views/edit_credential.html',
|
|
|
|
controller: 'CredentialEditCtrl'
|
|
|
|
})
|
2016-09-10 19:29:23 +08:00
|
|
|
.otherwise({
|
|
|
|
redirectTo: '/'
|
|
|
|
});
|
|
|
|
}).config(['$httpProvider', function ($httpProvider) {
|
|
|
|
$httpProvider.defaults.headers.common.requesttoken = oc_requesttoken;
|
2016-09-11 19:29:52 +08:00
|
|
|
}]).config(function (localStorageServiceProvider) {
|
|
|
|
localStorageServiceProvider
|
|
|
|
.setNotify(true, true);
|
|
|
|
});
|
2016-09-16 20:01:25 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* jQuery for notification handling D:
|
|
|
|
**/
|
|
|
|
jQuery(document).ready(function () {
|
|
|
|
var findItemByID = function(id){
|
|
|
|
var credentials,foundItem=false;
|
|
|
|
credentials = angular.element('#app-content-wrapper').scope().credentials;
|
|
|
|
console.log(id, credentials)
|
|
|
|
angular.forEach(credentials, function(credential){
|
|
|
|
if(credential.credential_id == id){
|
|
|
|
foundItem = credential;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
return foundItem;
|
|
|
|
};
|
|
|
|
jQuery(document).on('click', '.undoDelete', function () {
|
|
|
|
var credential = findItemByID($(this).attr('data-item-id'));
|
|
|
|
angular.element('#app-content-wrapper').scope().recoverCredential(credential);
|
|
|
|
angular.element('#app-content-wrapper').scope().$apply();
|
|
|
|
});
|
|
|
|
jQuery(document).on('click', '.undoRestore', function () {
|
|
|
|
var credential = findItemByID($(this).attr('data-item-id'));
|
|
|
|
angular.element('#app-content-wrapper').scope().deleteCredential(credential);
|
|
|
|
angular.element('#app-content-wrapper').scope().$apply();
|
|
|
|
});
|
2016-09-21 02:51:41 +08:00
|
|
|
var adjustControlsWidth = function() {
|
|
|
|
if($('#controls').length) {
|
|
|
|
var controlsWidth;
|
|
|
|
// if there is a scrollbar …
|
|
|
|
if($('#app-content').get(0).scrollHeight > $('#app-content').height()) {
|
|
|
|
if($(window).width() > 768) {
|
|
|
|
controlsWidth = $('#content').width() - $('#app-navigation').width() - OC.Util.getScrollBarWidth();
|
|
|
|
if (!$('#app-sidebar').hasClass('hidden') && !$('#app-sidebar').hasClass('disappear')) {
|
|
|
|
controlsWidth -= $('#app-sidebar').width();
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
controlsWidth = $('#content').width() - OC.Util.getScrollBarWidth();
|
|
|
|
}
|
|
|
|
} else { // if there is none
|
|
|
|
if($(window).width() > 768) {
|
|
|
|
controlsWidth = $('#content').width() - $('#app-navigation').width();
|
|
|
|
if (!$('#app-sidebar').hasClass('hidden') && !$('#app-sidebar').hasClass('disappear')) {
|
|
|
|
//controlsWidth -= $('#app-sidebar').width();
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
controlsWidth = $('#content').width();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$('#controls').css('width', controlsWidth);
|
|
|
|
$('#controls').css('min-width', controlsWidth);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
$(window).resize(_.debounce(adjustControlsWidth, 256));
|
|
|
|
adjustControlsWidth()
|
2016-09-16 20:01:25 +08:00
|
|
|
});
|