Enhancements for wikidata imports.
[redakcja.git] / src / redakcja / static / js / wiki / base.js
index ad2ee3a..5262ab7 100644 (file)
@@ -47,7 +47,7 @@
 
 
        $.wiki.activePerspective = function() {
-               return this.perspectives[$("#tabs li.active").attr('id')];
+           return this.perspectives[$("#tabs li a.active").parent().attr('id')];
        };
 
        $.wiki.exitContext = function() {
@@ -68,8 +68,8 @@
        $.wiki.newTab = function(doc, title, klass) {
                var base_id = 'id' + Math.floor(Math.random()* 5000000000);
                var id = (''+klass)+'_' + base_id;
-               var $tab = $('<li id="'+id+'" data-ui-related="'+base_id+'" data-ui-jsclass="'+klass+'" >'
-                               + title + '<img src="'+STATIC_URL+'icons/close.png" class="tabclose"></li>');
+               var $tab = $('<li class="nav-item" id="'+id+'" data-ui-related="'+base_id+'" data-ui-jsclass="'+klass+'" ><a href="#" class="nav-link">'
+                               + title + ' <span class="badge badge-danger tabclose">x</span></a></li>');
                var $view = $('<div class="editor '+klass+'" id="'+base_id+'"> </div>');
 
                this.perspectives[id] = new $.wiki[klass]({
                return this.perspectives[ $(tab).attr('id')];
        }
 
-       $.wiki.switchToTab = function(tab){
-               var self = this;
-               var $tab = $(tab);
+    $.wiki.switchToTab = function(tab){
+       var self = this;
+       var $tab = $(tab);
 
-               if($tab.length != 1)
-                       $tab = $(DEFAULT_PERSPECTIVE);
+       if($tab.length != 1)
+           $tab = $(DEFAULT_PERSPECTIVE);
 
-               var $old = $tab.closest('.tabs').find('.active');
+       var $old_a = $tab.closest('.tabs').find('.active');
 
-               $old.each(function(){
-                       $(this).removeClass('active');
-                       self.perspectives[$(this).attr('id')].onExit();
-                       $('#' + $(this).attr('data-ui-related')).hide();
-               });
+       $old_a.each(function(){
+            var tab = $(this).parent()
+           $(this).removeClass('active');
+           self.perspectives[tab.attr('id')].onExit();
+           $('#' + tab.attr('data-ui-related')).hide();
+       });
 
-               /* show new */
-               $tab.addClass('active');
-               $('#' + $tab.attr('data-ui-related')).show();
+       /* show new */
+       $('a', tab).addClass('active');
+       $('#' + $tab.attr('data-ui-related')).show();
 
-               console.log($tab);
-               console.log($.wiki.perspectives);
+       console.log($tab);
+       console.log($.wiki.perspectives);
 
-               $.wiki.perspectives[$tab.attr('id')].onEnter();
-       };
+       $.wiki.perspectives[$tab.attr('id')].onEnter();
+    };
 
        /*
         * Basic perspective.
                        $.blockUI({
                                message: this.$elem,
                                css: {
-                                       'top': '25%',
-                                       'left': '25%',
-                                       'width': '50%'
+                                    'top': '25%',
+                                    'left': '25%',
+                                    'width': '50%',
+                                    'max-height': '75%',
+                                    'overflow-y': 'scroll'
                                }
                        });
                },
                }
        };
 
+
+    window.addEventListener("message", (event) => {
+        event.source.close()
+
+        $.ajax("/editor/editor-user-area/", {
+            success: function(d) {
+                $("#user-area")[0].innerHTML = d;
+            }
+        });
+    }, false);
+    
+    $("#login").click(function (e) {
+        e.preventDefault();
+        let h = 600;
+        let w = 500;
+        let x = window.screenX + (window.innerWidth - w) / 2;
+        let y = window.screenY + (window.innerHeight - h) / 2;
+        window.open(
+            "/accounts/login/?next=/editor/back",
+            "login-window",
+            "width=" + w + " height=" + h + " top=" + y + " left=" + x
+        );
+    });
+    
 })(jQuery);