NIHVIVO-741 Refactor addAuthorForm javascript to use data attached to objects rather than DOM elements and spans to store authorship data.
This commit is contained in:
parent
3f4f00b1e2
commit
227bdb81d4
1 changed files with 10 additions and 12 deletions
|
@ -225,7 +225,6 @@ var addAuthorForm = {
|
|||
},
|
||||
|
||||
setAcFilter: function() {
|
||||
//var existingAuthors = $('#authorships .authorName');
|
||||
this.acFilter = [];
|
||||
|
||||
$('.authorship').each(function() {
|
||||
|
@ -372,31 +371,32 @@ var addAuthorForm = {
|
|||
$.each(authorships, function(index, obj) {
|
||||
// find the authorship with this uri
|
||||
var authorship = addAuthorForm.findAuthorship('authorshipUri', obj.uri),
|
||||
//var el = $('li[id=' + obj.uri + ']'),
|
||||
// because all ranks have been reordered without gaps,
|
||||
// we can get the position from the rank
|
||||
rank = addAuthorForm.getRankIntValFromRankVal(obj.rankVal);
|
||||
pos = addAuthorForm.getRankIntValFromRankVal(obj.rankVal);
|
||||
// set the new rank and position for this element
|
||||
addAuthorForm.setRank(authorship, obj.rankVal);
|
||||
addAuthorForm.setPosition(authorship, rank);
|
||||
maxRank = rank;
|
||||
addAuthorForm.setPosition(authorship, pos);
|
||||
maxRank = pos;
|
||||
// console.log(authorship.data('authorshipUri') + ' is at rank ' + authorship.data('rankVal'));
|
||||
});
|
||||
|
||||
// Set the form rank field value.
|
||||
$('#rank').val(maxRank + 1);
|
||||
$('#rank').val(maxRank + 1);
|
||||
// console.log("value of rank field = " + $('#rank').val());
|
||||
},
|
||||
error: function(request, status, error) {
|
||||
// This is performed only after drag-and-drop.
|
||||
// ui is undefined on page load and after an authorship removal.
|
||||
if (ui) {
|
||||
// Put the moved item back to its original position.
|
||||
// Seems we need to do this by hand. Can't see any way to do it with jQuery UI. ??
|
||||
var pos = addAuthorForm.getPosition(ui.item),
|
||||
nextpos = pos + 1, authorships = $('#authorships'),
|
||||
nextpos = pos + 1,
|
||||
authorships = $('#authorships'),
|
||||
next = addAuthorForm.findAuthorship('position', nextpos);
|
||||
//authorships.find('.position[id=' + nextpos + ']').parent();
|
||||
|
||||
if (next.length) {
|
||||
if (next) {
|
||||
ui.item.insertBefore(next);
|
||||
}
|
||||
else {
|
||||
|
@ -439,7 +439,7 @@ var addAuthorForm = {
|
|||
|
||||
// Get the authorship numeric rank
|
||||
getRankIntVal: function(authorship) {
|
||||
var rankVal = getRankStrVal(authorship);
|
||||
var rankVal = this.getRankStrVal(authorship);
|
||||
return this.getRankIntValFromRankVal(rankVal);
|
||||
},
|
||||
|
||||
|
@ -621,8 +621,6 @@ var addAuthorForm = {
|
|||
numAuthors = $('.authorship').length;
|
||||
if (numAuthors > 0) {
|
||||
// Reorder to remove any gaps
|
||||
// RY if we do this based on js objects rather than rank stored in the DOM,
|
||||
// this wouldn't depend on removing the author from the DOM.
|
||||
addAuthorForm.reorderAuthors();
|
||||
|
||||
// If less than two authors remaining, disable drag-drop
|
||||
|
|
Loading…
Add table
Reference in a new issue