增加删除书签确认框

This commit is contained in:
luchenqun 2017-02-26 22:18:09 +08:00
parent 1157af3105
commit eb4ad76333
8 changed files with 90 additions and 22 deletions

View File

@ -1,4 +1,4 @@
app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '$window', '$timeout', 'bookmarkService', 'pubSubService', function($scope, $state, $stateParams, $filter, $window, $timeout, bookmarkService, pubSubService) {
app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '$window', '$timeout', 'ngDialog', 'bookmarkService', 'pubSubService', function($scope, $state, $stateParams, $filter, $window, $timeout, ngDialog, bookmarkService, pubSubService) {
console.log("Hello bookmarksCtr...", $stateParams);
$scope.bookmarks = []; // 书签数据
$scope.showSearch = false; // 搜索对话框
@ -8,10 +8,13 @@ app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '
$('.js-radio-' + $scope.showStyle).checkbox('set checked');
$scope.edit = false;
const perPageItems = 20;
var dialog = null;
$scope.totalPages = 0;
$scope.currentPage = 1;
$scope.inputPage = '';
$scope.loadBusy = false;
$scope.waitDelBookmark = {};
$scope.changeCurrentPage = function(currentPage) {
currentPage = parseInt(currentPage) || 0;
console.log('currentPage = ', currentPage);
@ -51,16 +54,31 @@ app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '
$scope.edit = !$scope.edit
};
$scope.delBookmark = function(bookmarkId) {
$scope.delBookmark = function(bookmark) {
console.log('delBookmark..........')
$scope.waitDelBookmark = $.extend(true, {}, bookmark); // 利用jQuery执行深度拷贝
dialog = ngDialog.open({
template: './views/dialog-del-bookmark.html',
className: 'ngdialog-theme-default',
scope: $scope
});
}
$scope.confirmDelBookmark = function(bookmarkId) {
var params = {
id: bookmarkId
}
ngDialog.close(dialog);
bookmarkService.delBookmark(params)
.then((data) => $("#" + bookmarkId).remove())
.then((data) => {
$("#" + bookmarkId).remove();
toastr.success($scope.waitDelBookmark.title + ' 书签删除成功!', "提示");
})
.catch((err) => {
console.log('delBookmark err ', err)
toastr.error($scope.waitDelBookmark.title + ' 书签删除失败!错误提示:' + JSON.stringify(err), "提示");
});
}
$scope.editBookmark = function(bookmarkId) {
pubSubService.publish('bookmarksCtr.editBookmark', {
'bookmarkId': bookmarkId

View File

@ -1,6 +1,7 @@
app.controller('searchCtr', ['$scope', '$state', '$stateParams', '$filter', '$window', '$timeout', 'bookmarkService', 'pubSubService', function($scope, $state, $stateParams, $filter, $window, $timeout, bookmarkService, pubSubService) {
app.controller('searchCtr', ['$scope', '$state', '$stateParams', '$filter', '$window', '$timeout', 'ngDialog', 'bookmarkService', 'pubSubService', function($scope, $state, $stateParams, $filter, $window, $timeout, ngDialog, bookmarkService, pubSubService) {
console.log("Hello searchCtr...", $stateParams);
const perPageItems = 20;
var dialog = null;
$scope.bookmarks = []; // 书签数据
$scope.showSearch = false; //
$scope.showTags = false; //
@ -18,6 +19,8 @@ app.controller('searchCtr', ['$scope', '$state', '$stateParams', '$filter', '$wi
$scope.currentPage = 1;
$scope.inputPage = '';
$scope.loading = false;
$scope.waitDelBookmark = {};
$scope.changeCurrentPage = function(currentPage) {
currentPage = parseInt(currentPage) || 0;
console.log(currentPage);
@ -61,21 +64,31 @@ app.controller('searchCtr', ['$scope', '$state', '$stateParams', '$filter', '$wi
}
}
$scope.delBookmark = function(bookmarkId) {
toastr.warning('暂时不允许搜索的书签进行删除操作', "警告");
return;
$scope.delBookmark = function(bookmark) {
$scope.waitDelBookmark = $.extend(true, {}, bookmark); // 利用jQuery执行深度拷贝
dialog = ngDialog.open({
template: './views/dialog-del-bookmark.html',
className: 'ngdialog-theme-default',
scope: $scope
});
}
$scope.confirmDelBookmark = function(bookmarkId) {
var params = {
id: bookmarkId
}
ngDialog.close(dialog);
bookmarkService.delBookmark(params)
.then((data) => $("#" + bookmarkId).remove())
.then((data) => {
$("#" + bookmarkId).remove();
toastr.success($scope.waitDelBookmark.title + ' 书签删除成功!', "提示");
})
.catch((err) => {
console.log('delBookmark err ', err)
toastr.error($scope.waitDelBookmark.title + ' 书签删除失败!错误提示:' + JSON.stringify(err), "提示");
});
}
$scope.editBookmark = function(bookmarkId) {
toastr.warning('暂时不允许搜索的书签进行编辑操作', "警告");
return;
pubSubService.publish('bookmarksCtr.editBookmark', {
'bookmarkId': bookmarkId
});

View File

@ -16,6 +16,7 @@ app.controller('tagsCtr', ['$scope', '$filter', '$window', '$stateParams', '$tim
$scope.currentTagId = ($stateParams && $stateParams.tagId) || '';
$scope.edit = false;
$scope.waitDelTag = {};
$scope.waitDelBookmark = {};
pubSubService.subscribe('MenuCtr.tags', $scope, function(event, data) {
console.log('subscribe MenuCtr.tags', data);
@ -85,16 +86,30 @@ app.controller('tagsCtr', ['$scope', '$filter', '$window', '$stateParams', '$tim
}
}
$scope.delBookmark = function(bookmarkId) {
$scope.delBookmark = function(bookmark) {
$scope.waitDelBookmark = $.extend(true, {}, bookmark); // 利用jQuery执行深度拷贝
dialog = ngDialog.open({
template: './views/dialog-del-bookmark.html',
className: 'ngdialog-theme-default',
scope: $scope
});
}
$scope.confirmDelBookmark = function(bookmarkId) {
var params = {
id: bookmarkId
}
ngDialog.close(dialog);
bookmarkService.delBookmark(params)
.then((data) => $("#" + bookmarkId).remove())
.then((data) => {
$("#" + bookmarkId).remove();
toastr.success($scope.waitDelBookmark.title + ' 书签删除成功!', "提示");
})
.catch((err) => {
console.log('delBookmark err ', err)
toastr.error($scope.waitDelBookmark.title + ' 书签删除失败!错误提示:' + JSON.stringify(err), "提示");
});
}
$scope.editBookmark = function(bookmarkId) {
pubSubService.publish('bookmarksCtr.editBookmark', {
'bookmarkId': bookmarkId

View File

@ -28,7 +28,7 @@
ng-click="jumpToUrl(bookmark.url, bookmark.id)"
title="{{ bookmark.title }}"
id="{{bookmark.id}}">
<img class="ui ui middle aligned tiny image bookmarkOperaterHover" style="width:16px;height:16px" ng-src="./images/{{ bookmarkEditHover ? 'delete-hover' : 'delete'}}.png" ng-if="edit" ng-click="delBookmark(bookmark.id)">
<img class="ui ui middle aligned tiny image bookmarkOperaterHover" style="width:16px;height:16px" ng-src="./images/{{ bookmarkEditHover ? 'delete-hover' : 'delete'}}.png" ng-if="edit" ng-click="delBookmark(bookmark)">
<img class="ui ui middle aligned tiny image bookmarkOperaterHover" style="width:16px;height:16px;float:right;" ng-src="./images/{{ bookmarkEditHover ? 'edit-bookmark-hover' : 'edit-bookmark'}}.png" ng-if="edit" ng-click="editBookmark(bookmark.id)">
<img class="ui ui middle aligned tiny image" ng-src=" http://favicon.byi.pw/?url={{bookmark.url}}" style="width:16px;height:16px;cursor:default;" ng-click="detailBookmark(bookmark);$event.stopPropagation()" ng-if="!edit">
<span>{{ bookmark.title}}</span>
@ -73,7 +73,7 @@
</div>
</td>
<td>
<img class="ui mini spaced image" style="width:16px;height:16px;margin:0 1px" ng-src="./images/delete.png" ng-click="delBookmark(bookmark.id)" title="删除书签">
<img class="ui mini spaced image" style="width:16px;height:16px;margin:0 1px" ng-src="./images/delete.png" ng-click="delBookmark(bookmark)" title="删除书签">
<img class="ui mini spaced image" style="width:16px;height:16px;margin:0 1px" ng-src="./images/edit-bookmark.png" ng-click="editBookmark(bookmark.id)" title="编辑书签">
<img class="ui mini spaced image" style="width:16px;height:16px;margin:0 1px" ng-src="./images/detail.png" ng-click="detailBookmark(bookmark)" title="书签详情">
<img class="ui mini spaced image" style="width:16px;height:16px;margin:0 1px" ng-src="./images/copy.png" ng-click="copyBookmark(bookmark.url)" title="复制书签">

View File

@ -0,0 +1,11 @@
<div class="ngdialog-message">
<h3>删除提示</h3>
<p ng-show="ngDialogId">您确认要删除书签:
<code>{{ waitDelBookmark.title }}</code>吗?
</p>
<p>如果删除该书签,那么再也无法查看到。</p>
</div>
<div class="ngdialog-buttons">
<button type="button" class="ngdialog-button ngdialog-button-primary" ng-click="confirmDelBookmark(waitDelBookmark.id)">确定删除</button>
<button type="button" class="ngdialog-button ngdialog-button-secondary" ng-click="closeThisDialog('button')">取消</button>
</div>

View File

@ -147,8 +147,12 @@
</div>
</td>
<td>
<img class="ui mini spaced image" style="width:16px;height:16px;margin:0 1px" ng-src="./images/delete.png" ng-click="delBookmark(bookmark.id)" title="删除书签">
<img class="ui mini spaced image" style="width:16px;height:16px;margin:0 1px" ng-src="./images/edit-bookmark.png" ng-click="editBookmark(bookmark.id)" title="编辑书签">
<span ng-show="bookmark.own">
<img class="ui mini spaced image" style="width:16px;height:16px;margin:0 1px" ng-src="./images/delete.png" ng-click="delBookmark(bookmark)" title="删除书签">
</span>
<span ng-show="bookmark.own">
<img class="ui mini spaced image" style="width:16px;height:16px;margin:0 1px" ng-src="./images/edit-bookmark.png" ng-click="editBookmark(bookmark.id)" title="编辑书签">
</span>
<img class="ui mini spaced image" style="width:16px;height:16px;margin:0 1px" ng-src="./images/detail.png" ng-click="detailBookmark(bookmark)" title="书签详情">
<img class="ui mini spaced image" style="width:16px;height:16px;margin:0 1px" ng-src="./images/copy.png" ng-click="copyBookmark(bookmark.url)" title="复制链接">
</td>

View File

@ -72,7 +72,7 @@
</div>
</td>
<td>
<img class="ui mini spaced image" style="width:16px;height:16px;margin:0 1px" ng-src="./images/delete.png" ng-click="delBookmark(bookmark.id)" title="删除书签">
<img class="ui mini spaced image" style="width:16px;height:16px;margin:0 1px" ng-src="./images/delete.png" ng-click="delBookmark(bookmark)" title="删除书签">
<img class="ui mini spaced image" style="width:16px;height:16px;margin:0 1px" ng-src="./images/edit-bookmark.png" ng-click="editBookmark(bookmark.id)" title="编辑书签">
<img class="ui mini spaced image" style="width:16px;height:16px;margin:0 1px" ng-src="./images/detail.png" ng-click="detailBookmark(bookmark)" title="书签详情">
<img class="ui mini spaced image" style="width:16px;height:16px;margin:0 1px" ng-src="./images/copy.png" ng-click="copyBookmark(bookmark.url)" title="复制书签">

View File

@ -384,7 +384,7 @@ api.get('/searchBookmarks', function(req, res) {
params.userId = req.session.user.id;
var bookmarks = [];
var tagsBookmarks = [];
var userId = '1';
var userId = req.session.user.id;
var totalItems = 0;
var sendData = {
totalItems: totalItems,
@ -395,7 +395,13 @@ api.get('/searchBookmarks', function(req, res) {
totalItems = searchData.totalItems;
bookmarks = searchData.bookmarks;
if (bookmarks.length > 0) {
var bookmarkIds = bookmarks.map((bookmark) => bookmark.id);
var bookmarkIds = bookmarks.map((bookmark) => {
bookmark.own = bookmark.user_id == userId ? true : false;
if (!bookmark.own) {
bookmark.description = "其他用户的描述信息不允许查看";
}
return bookmark.id;
});
return db.getTagsBookmarks(bookmarkIds);
} else {
res.json(sendData);
@ -431,6 +437,7 @@ api.get('/searchBookmarks', function(req, res) {
})
sendData.totalItems = totalItems;
sendData.bookmarks = data;
console.log(JSON.stringify(sendData))
res.json(sendData);
})
.catch((err) => console.log('bookmarks table or card err', err))