增加删除书签确认框
This commit is contained in:
parent
1157af3105
commit
eb4ad76333
|
|
@ -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);
|
console.log("Hello bookmarksCtr...", $stateParams);
|
||||||
$scope.bookmarks = []; // 书签数据
|
$scope.bookmarks = []; // 书签数据
|
||||||
$scope.showSearch = false; // 搜索对话框
|
$scope.showSearch = false; // 搜索对话框
|
||||||
|
|
@ -8,10 +8,13 @@ app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '
|
||||||
$('.js-radio-' + $scope.showStyle).checkbox('set checked');
|
$('.js-radio-' + $scope.showStyle).checkbox('set checked');
|
||||||
$scope.edit = false;
|
$scope.edit = false;
|
||||||
const perPageItems = 20;
|
const perPageItems = 20;
|
||||||
|
var dialog = null;
|
||||||
$scope.totalPages = 0;
|
$scope.totalPages = 0;
|
||||||
$scope.currentPage = 1;
|
$scope.currentPage = 1;
|
||||||
$scope.inputPage = '';
|
$scope.inputPage = '';
|
||||||
$scope.loadBusy = false;
|
$scope.loadBusy = false;
|
||||||
|
$scope.waitDelBookmark = {};
|
||||||
|
|
||||||
$scope.changeCurrentPage = function(currentPage) {
|
$scope.changeCurrentPage = function(currentPage) {
|
||||||
currentPage = parseInt(currentPage) || 0;
|
currentPage = parseInt(currentPage) || 0;
|
||||||
console.log('currentPage = ', currentPage);
|
console.log('currentPage = ', currentPage);
|
||||||
|
|
@ -51,16 +54,31 @@ app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '
|
||||||
$scope.edit = !$scope.edit
|
$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 = {
|
var params = {
|
||||||
id: bookmarkId
|
id: bookmarkId
|
||||||
}
|
}
|
||||||
|
ngDialog.close(dialog);
|
||||||
bookmarkService.delBookmark(params)
|
bookmarkService.delBookmark(params)
|
||||||
.then((data) => $("#" + bookmarkId).remove())
|
.then((data) => {
|
||||||
|
$("#" + bookmarkId).remove();
|
||||||
|
toastr.success($scope.waitDelBookmark.title + ' 书签删除成功!', "提示");
|
||||||
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log('delBookmark err ', err)
|
toastr.error($scope.waitDelBookmark.title + ' 书签删除失败!错误提示:' + JSON.stringify(err), "提示");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
$scope.editBookmark = function(bookmarkId) {
|
$scope.editBookmark = function(bookmarkId) {
|
||||||
pubSubService.publish('bookmarksCtr.editBookmark', {
|
pubSubService.publish('bookmarksCtr.editBookmark', {
|
||||||
'bookmarkId': bookmarkId
|
'bookmarkId': bookmarkId
|
||||||
|
|
|
||||||
|
|
@ -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);
|
console.log("Hello searchCtr...", $stateParams);
|
||||||
const perPageItems = 20;
|
const perPageItems = 20;
|
||||||
|
var dialog = null;
|
||||||
$scope.bookmarks = []; // 书签数据
|
$scope.bookmarks = []; // 书签数据
|
||||||
$scope.showSearch = false; //
|
$scope.showSearch = false; //
|
||||||
$scope.showTags = false; //
|
$scope.showTags = false; //
|
||||||
|
|
@ -18,6 +19,8 @@ app.controller('searchCtr', ['$scope', '$state', '$stateParams', '$filter', '$wi
|
||||||
$scope.currentPage = 1;
|
$scope.currentPage = 1;
|
||||||
$scope.inputPage = '';
|
$scope.inputPage = '';
|
||||||
$scope.loading = false;
|
$scope.loading = false;
|
||||||
|
$scope.waitDelBookmark = {};
|
||||||
|
|
||||||
$scope.changeCurrentPage = function(currentPage) {
|
$scope.changeCurrentPage = function(currentPage) {
|
||||||
currentPage = parseInt(currentPage) || 0;
|
currentPage = parseInt(currentPage) || 0;
|
||||||
console.log(currentPage);
|
console.log(currentPage);
|
||||||
|
|
@ -61,21 +64,31 @@ app.controller('searchCtr', ['$scope', '$state', '$stateParams', '$filter', '$wi
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$scope.delBookmark = function(bookmarkId) {
|
$scope.delBookmark = function(bookmark) {
|
||||||
toastr.warning('暂时不允许搜索的书签进行删除操作', "警告");
|
$scope.waitDelBookmark = $.extend(true, {}, bookmark); // 利用jQuery执行深度拷贝
|
||||||
return;
|
dialog = ngDialog.open({
|
||||||
|
template: './views/dialog-del-bookmark.html',
|
||||||
|
className: 'ngdialog-theme-default',
|
||||||
|
scope: $scope
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.confirmDelBookmark = function(bookmarkId) {
|
||||||
var params = {
|
var params = {
|
||||||
id: bookmarkId
|
id: bookmarkId
|
||||||
}
|
}
|
||||||
|
ngDialog.close(dialog);
|
||||||
bookmarkService.delBookmark(params)
|
bookmarkService.delBookmark(params)
|
||||||
.then((data) => $("#" + bookmarkId).remove())
|
.then((data) => {
|
||||||
|
$("#" + bookmarkId).remove();
|
||||||
|
toastr.success($scope.waitDelBookmark.title + ' 书签删除成功!', "提示");
|
||||||
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log('delBookmark err ', err)
|
toastr.error($scope.waitDelBookmark.title + ' 书签删除失败!错误提示:' + JSON.stringify(err), "提示");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
$scope.editBookmark = function(bookmarkId) {
|
$scope.editBookmark = function(bookmarkId) {
|
||||||
toastr.warning('暂时不允许搜索的书签进行编辑操作', "警告");
|
|
||||||
return;
|
|
||||||
pubSubService.publish('bookmarksCtr.editBookmark', {
|
pubSubService.publish('bookmarksCtr.editBookmark', {
|
||||||
'bookmarkId': bookmarkId
|
'bookmarkId': bookmarkId
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ app.controller('tagsCtr', ['$scope', '$filter', '$window', '$stateParams', '$tim
|
||||||
$scope.currentTagId = ($stateParams && $stateParams.tagId) || '';
|
$scope.currentTagId = ($stateParams && $stateParams.tagId) || '';
|
||||||
$scope.edit = false;
|
$scope.edit = false;
|
||||||
$scope.waitDelTag = {};
|
$scope.waitDelTag = {};
|
||||||
|
$scope.waitDelBookmark = {};
|
||||||
|
|
||||||
pubSubService.subscribe('MenuCtr.tags', $scope, function(event, data) {
|
pubSubService.subscribe('MenuCtr.tags', $scope, function(event, data) {
|
||||||
console.log('subscribe MenuCtr.tags', 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 = {
|
var params = {
|
||||||
id: bookmarkId
|
id: bookmarkId
|
||||||
}
|
}
|
||||||
|
ngDialog.close(dialog);
|
||||||
bookmarkService.delBookmark(params)
|
bookmarkService.delBookmark(params)
|
||||||
.then((data) => $("#" + bookmarkId).remove())
|
.then((data) => {
|
||||||
|
$("#" + bookmarkId).remove();
|
||||||
|
toastr.success($scope.waitDelBookmark.title + ' 书签删除成功!', "提示");
|
||||||
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log('delBookmark err ', err)
|
toastr.error($scope.waitDelBookmark.title + ' 书签删除失败!错误提示:' + JSON.stringify(err), "提示");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
$scope.editBookmark = function(bookmarkId) {
|
$scope.editBookmark = function(bookmarkId) {
|
||||||
pubSubService.publish('bookmarksCtr.editBookmark', {
|
pubSubService.publish('bookmarksCtr.editBookmark', {
|
||||||
'bookmarkId': bookmarkId
|
'bookmarkId': bookmarkId
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
ng-click="jumpToUrl(bookmark.url, bookmark.id)"
|
ng-click="jumpToUrl(bookmark.url, bookmark.id)"
|
||||||
title="{{ bookmark.title }}"
|
title="{{ bookmark.title }}"
|
||||||
id="{{bookmark.id}}">
|
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 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">
|
<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>
|
<span>{{ bookmark.title}}</span>
|
||||||
|
|
@ -73,7 +73,7 @@
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<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/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/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="复制书签">
|
<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="复制书签">
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -147,8 +147,12 @@
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<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="删除书签">
|
<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="编辑书签">
|
<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/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="复制链接">
|
<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>
|
</td>
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<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/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/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="复制书签">
|
<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="复制书签">
|
||||||
|
|
|
||||||
|
|
@ -384,7 +384,7 @@ api.get('/searchBookmarks', function(req, res) {
|
||||||
params.userId = req.session.user.id;
|
params.userId = req.session.user.id;
|
||||||
var bookmarks = [];
|
var bookmarks = [];
|
||||||
var tagsBookmarks = [];
|
var tagsBookmarks = [];
|
||||||
var userId = '1';
|
var userId = req.session.user.id;
|
||||||
var totalItems = 0;
|
var totalItems = 0;
|
||||||
var sendData = {
|
var sendData = {
|
||||||
totalItems: totalItems,
|
totalItems: totalItems,
|
||||||
|
|
@ -395,7 +395,13 @@ api.get('/searchBookmarks', function(req, res) {
|
||||||
totalItems = searchData.totalItems;
|
totalItems = searchData.totalItems;
|
||||||
bookmarks = searchData.bookmarks;
|
bookmarks = searchData.bookmarks;
|
||||||
if (bookmarks.length > 0) {
|
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);
|
return db.getTagsBookmarks(bookmarkIds);
|
||||||
} else {
|
} else {
|
||||||
res.json(sendData);
|
res.json(sendData);
|
||||||
|
|
@ -431,6 +437,7 @@ api.get('/searchBookmarks', function(req, res) {
|
||||||
})
|
})
|
||||||
sendData.totalItems = totalItems;
|
sendData.totalItems = totalItems;
|
||||||
sendData.bookmarks = data;
|
sendData.bookmarks = data;
|
||||||
|
console.log(JSON.stringify(sendData))
|
||||||
res.json(sendData);
|
res.json(sendData);
|
||||||
})
|
})
|
||||||
.catch((err) => console.log('bookmarks table or card err', err))
|
.catch((err) => console.log('bookmarks table or card err', err))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue