|
- app.controller('IssueController', ['$scope', '$http', '$routeParams', 'auth', 'common',
- function($scope, $http, $routeParams, auth, common){
-
- var vm = $scope;
- vm.previewImgUrls = [];
- vm.showAtDialog = false;
-
- var parseAtPersons = function (comment) {
- var selectedPersons = [];
- var ss = comment.match(/@(.+?)\s+/g);
-
- for(var i in ss){
- var personName = ss[i].substr(1, ss[i].length-2);
- console.log(personName);
-
- for(var j in vm.at_persons){
- var person = vm.at_persons[j];
- if(person.name == personName){
- selectedPersons.push(person);
- }
- }
- }
-
- for(var i in selectedPersons){
- var person = selectedPersons[i];
- comment = comment.replace('@'+person.name+' ',
- '<span class="atwho-inserted"><span class="at" data-user-id="'+person.id
- +'"><a href="/users/'+person.id+'">@'+person.name+'('+person.login+')'+' </a></span></span>'
- );
- }
- return comment;
- };
-
- vm.onPostChange = function (newValue, oldValue) {
- if(newValue.length > oldValue.length && newValue.match(/@$/)=='@'){
- console.log('@ fire');
- vm.showAtDialog = true;
- if(!vm.at_persons){
- $http.get('/at/'+$routeParams.id+'.json?type=Issue').then(function (response) {
- vm.at_persons = response.data;
- });
- }
- }
- console.log(vm.issue.comment);
- };
-
- vm.selectAtPerson = function (index) {
- var person = vm.at_persons[index];
- vm.showAtDialog = false;
- vm.issue.comment += person.name + ' ';
- };
-
- vm.cancelAt = function(){
- vm.showAtDialog = false;
- }
-
- common.init({
- id: $routeParams.id,
- scope: $scope,
- type: 'issues',
- replyType: 'Issue',
- urlName: 'issues',
- loadCallback: function(data){
- console.log(data.data);
-
- if(data.status == -1){
- $scope.showtip = true;
- return;
- }
-
- //回复级别 0 一级回复 1 二级回复
- replytype = data.type;
- page = data.page;
-
-
- var parseImgAttachment = function(attachments){
- var urls = [];
- if(!attachments){
- return urls;
- }
-
- for(var i = attachments.length-1; i>=0; i--){
- if(attachments[i].filename.match('.jpg$')=='.jpg' || attachments[i].filename.match('.png$')=='.png'){
- urls.push(attachments[i].download_url);
- attachments.splice(i, 1);
- }
- }
- return urls;
- };
-
- if (replytype == 0){
- if (page == 0){
- $scope.issue = data.data;
- $scope.page = 0;
- $scope.is_public = data.is_public;
- $scope.previewImgUrls = parseImgAttachment($scope.issue.attachments);
- }
- else{
- $scope.issue.all_children = $scope.issue.all_children.concat(data.data.all_children);
- }
- $scope.has_more = $scope.issue.all_children.length < $scope.issue.comment_count;
- console.log($scope.has_more);
- }
- else{
- comment_id = data.data.id;
- for (var i in $scope.issue.all_children) {
- var comment = $scope.issue.all_children[i];
- if(comment.id == comment_id){
- // comment.parents_reply_top = comment.parents_reply_top.concat(data.data.parents_reply_top);
- comment.parents_reply_top = data.data.parents_reply_top.concat(comment.parents_reply_top);
- }
- }
- }
- },
- replyCallback: function(){
- },
- beforeReplay: function(data){
- return parseAtPersons(data);
- }
- });
-
- $scope.previewImg = function(index){
- console.log(index);
- wx.previewImage({
- current: $scope.previewImgUrls[index], // 当前显示图片的http链接
- urls: $scope.previewImgUrls // 需要预览的图片http链接列表
- });
- }
- }]);
|