12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- (function ($) {
- Drupal.behaviors.chadoNodeApiChangeNotify = {
- attach: function (context) {
- ChadoNodeApi_notifyChanges({
- machineName: {
- plural: 'properties',
- singular:'property'
- },
- readableName: {
- plural: 'properties',
- singular:'property'
- }
- });
- ChadoNodeApi_notifyChanges({
- machineName: {
- plural: 'dbxrefs',
- singular:'dbxref'
- },
- readableName: {
- plural: 'references',
- singular:'reference'
- }
- });
- ChadoNodeApi_notifyChanges({
- machineName: {
- plural: 'relationships',
- singular:'relationship'
- },
- readableName: {
- plural: 'relationships',
- singular:'relationship'
- }
- });
-
- function ChadoNodeApi_notifyChanges(api) {
- var numCurrent = $('tr.' + api.machineName.singular).length;
- var numOriginal = $('input.num-' + api.machineName.plural, context).val();
- var numSaved = $('tr.saved.' + api.machineName.singular).length;
- var numUnsaved = $('tr.unsaved.' + api.machineName.singular).length;
- var numRemoved = numOriginal - numSaved;
- // If changes have been made then notify the user.
- if (numUnsaved > 0 || numRemoved > 0) {
- // Make the warning visible.
- $('#' + api.machineName.singular + '-save-warning').css("display","inherit");
- // Determine singular versus plural.
- var unsavedReadable = api.readableName.plural;
- if (numUnsaved == 1) {
- unsavedReadable = api.readableName.singular;
- }
- var removedReadable = api.readableName.plural;
- if (numRemoved == 1) {
- removedReadable = api.readableName.singular;
- }
-
- // Specify the changes made in the warning.
- var note = '';
- if (numUnsaved > 0 && numRemoved > 0) {
- note = 'NOTE: Changes include the addition of ' + numUnsaved + ' ' + unsavedReadable + ' and the removal of ' + numRemoved + ' saved ' + removedReadable + '.';
- }
- else if (numUnsaved > 0) {
- note = 'NOTE: Changes include the addition of ' + numUnsaved + ' ' + unsavedReadable + '.';
- }
- else if (numRemoved > 0) {
- note = 'NOTE: Changes include the removal of ' + numRemoved + ' saved ' + removedReadable + '.';
- }
- $('#' + api.machineName.singular + '-save-warning span.specific-changes').html(note);
-
- // Add a * to any new records to make the warning more accessible.
- $('tr.unsaved.' + api.machineName.singular + ' span.row-unsaved-warning').html('*');
- }
- }
- }};
- })(jQuery);
|