 (object/object* ::tab-label
                 :tags #{:tab-label}
                 :init (fn [this multi e pos]
-                        (object/merge! this {::tab-object e})
+                        (object/merge! this {::tab-object e
+                                             :tabset multi})
                         (item this multi e pos)))
 
 

          aidx (->index active)]
      (remove-watch obj :tabs)
      (object/merge! obj {::tabset nil})
      (object/merge! cur-tabset {:objs (vec (remove #(= obj %) (@cur-tabset :objs)))
                                 :no-redraw false})
      (if (= obj active)
        (object/raise cur-tabset :tab idx)
        (when (not= aidx (->index active))

    (active! obj)))

(defn objs-list [multi objs]
  (let [prev-tabs (filter #(= (:tabset @%) multi) (object/by-tag :tab-label))
        item (crate/html
              [:ul
               (for [[idx o] (map vector (range) objs)
                     :when @o]
                 (object/->content (object/create ::tab-label multi o idx)))])]
    ;;Remove old tabs
    (doseq [tab prev-tabs]
      (object/destroy! tab))
    (js/sortable item (js-obj "axis" "x" "distance" 10  "scroll" false "opacity" 0.9 "connectWith" ".list"))
    (dom/on item "contextmenu" (fn [e]
                                 (object/raise multi :menu! e)))
    (dom/on item "moved" (fn [e] (move-tab multi (.-opts e)) ))
