add is_significant attribute to relationships. Closes #33
[scpubgit/stemmaweb.git] / root / js / relationship.js
index 341c105..0e253d8 100644 (file)
@@ -58,14 +58,6 @@ function node_dblclick_listener( evt ) {
        }
        $('#reading_normal_form').attr( 'size', nfboxsize )
        $('#reading_normal_form').val( normal_form );
-       if( editable ) {
-               // Fill in the witnesses for the de-collation box.
-               $('#reading_decollate_witnesses').empty();
-               $.each( reading_info['witnesses'], function( idx, wit ) {
-                       $('#reading_decollate_witnesses').append( $('<option/>').attr(
-                               'value', wit ).text( wit ) );
-               });
-       }
        // Now do the morphological properties.
        morphology_form( reading_info['lexemes'] );
        // and then open the dialog.
@@ -608,6 +600,14 @@ function relation_factory() {
        $('#delete_relation_type').text( relation.data('type') );
        $('#delete_relation_scope').text( relation.data('scope') );
        $('#delete_relation_attributes').empty();
+       var significance = ' is not ';
+       if( relation.data( 'is_significant' ) === 'yes') {
+               significance = ' is ';
+       } else if ( relation.data( 'is_significant' ) === 'maybe' ) {
+               significance = ' might be ';
+       }
+               $('#delete_relation_attributes').append( 
+                       "This relationship" + significance + "stemmatically significant<br/>");
        if( relation.data( 'a_derivable_from_b' ) ) {
                $('#delete_relation_attributes').append( 
                        "'" + relation.data('source_text') + "' derivable from '" + relation.data('target_text') + "'<br/>");
@@ -970,8 +970,9 @@ function readings_equivalent( source, target ) {
                return true;
        }
        // Lowercase and strip punctuation from both and compare again
-       var stlc = sourcetext.toLowerCase().replace(/[^\w\s]|_/g, "");
-       var ttlc = targettext.toLowerCase().replace(/[^\w\s]|_/g, "");
+       var nonwc = XRegExp('[^\\p{L}\\s]|_');
+       var stlc = XRegExp.replace( sourcetext.toLocaleLowerCase(), nonwc, "", 'all' );
+       var ttlc = XRegExp.replace( targettext.toLocaleLowerCase(), nonwc, "", 'all' );
        if( stlc === ttlc ) {
                return true;
        }       
@@ -1057,7 +1058,7 @@ $(document).ready(function () {
   if( editable ) {
        $( '#dialog-form' ).dialog( {
        autoOpen: false,
-       height: 270,
+       height: 350,
        width: 330,
        modal: true,
        buttons: {
@@ -1107,11 +1108,15 @@ $(document).ready(function () {
                $.each( relationship_scopes, function(index, value) {   
                         $('#scope').append( $('<option />').attr( "value", value ).text(value) ); 
                });
-               // Handler to clear the annotation field, the first time the relationship is
-               // changed after opening the form.
+               $.each( ternary_values, function( index, value ) {
+                       $('#is_significant').append( $('<option />').attr( "value", value ).text(value) );
+               });
+               // Handler to reset fields to default, the first time the relationship 
+               // is changed after opening the form.
                $('#rel_type').change( function () {
                        if( !$(this).data( 'changed_after_open' ) ) {
                                $('#note').val('');
+                               $(this).find(':checked').removeAttr('checked');
                        }
                        $(this).data( 'changed_after_open', true );
                });
@@ -1139,7 +1144,8 @@ $(document).ready(function () {
                $("#dialog_overlay").hide();
        }
        }).ajaxError( function(event, jqXHR, ajaxSettings, thrownError) {
-               if( ajaxSettings.url == getTextURL('relationships') 
+               if( ( ajaxSettings.url == getTextURL('relationships')
+                         || ajaxSettings.url == getTextURL('merge') )
                        && ajaxSettings.type == 'POST' && jqXHR.status == 403 ) {
                        var error;
                        if( jqXHR.responseText.indexOf('do not have permission to modify') > -1 ) {
@@ -1291,11 +1297,6 @@ $(document).ready(function () {
   // function for reading form dialog should go here; 
   // just hide the element for now if we don't have morphology
   if( can_morphologize ) {
-         if( editable ) {
-                 $('#reading_decollate_witnesses').multiselect();
-         } else {
-                 $('#decollation').hide();
-         }
          $('#reading-form').dialog({
                autoOpen: false,
                // height: 400,
@@ -1351,8 +1352,6 @@ $(document).ready(function () {
                },
                open: function() {
                        $(".ui-widget-overlay").css("background", "none");
-                       $('#reading_decollate_witnesses').multiselect("refresh");
-                       $('#reading_decollate_witnesses').multiselect("uncheckAll");
                        $("#dialog_overlay").show();
                        $('#reading_status').empty();
                        $("#dialog_overlay").height( $("#enlargement_container").height() );