blob: 696513480b1059735f3a3b3c28f2c7a4fbee71ec [file] [log] [blame]
/*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
'use strict';
angular.module('zeppelinWebApp').controller('NotenameCtrl', function($scope, notebookListDataFactory,
$rootScope, $routeParams, websocketMsgSrv) {
var vm = this;
vm.clone = false;
vm.notes = notebookListDataFactory;
vm.websocketMsgSrv = websocketMsgSrv;
$scope.note = {};
vm.createNote = function() {
if (!vm.clone) {
vm.websocketMsgSrv.createNotebook($scope.note.notename);
} else {
var noteId = $routeParams.noteId;
vm.websocketMsgSrv.cloneNotebook(noteId, $scope.note.notename);
}
};
vm.handleNameEnter = function(){
angular.element('#noteNameModal').modal('toggle');
vm.createNote();
};
vm.preVisible = function(clone) {
$scope.note.notename = vm.newNoteName();
vm.clone = clone;
$scope.$apply();
};
vm.newNoteName = function () {
var newCount = 1;
angular.forEach(vm.notes.flatList, function (noteName) {
noteName = noteName.name;
if (noteName.match(/^Untitled Note [0-9]*$/)) {
var lastCount = noteName.substr(14) * 1;
if (newCount <= lastCount) {
newCount = lastCount + 1;
}
}
});
return 'Untitled Note ' + newCount;
};
});