diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b6421c..39d4741 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.5.0 +* Add support for atom 1.18.0 + + ## 0.2.3 * Show modified status diff --git a/LICENSE.md b/LICENSE.md index eaeeafe..01d3a76 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,3 +1,5 @@ +Updated version: Copyright (c) 2016 Gordienco Sergiu + Copyright (c) 2014 Dominic Adelaar Permission is hereby granted, free of charge, to any person obtaining diff --git a/lib/tree-view-open-files-pane-view.coffee b/lib/tree-view-open-files-pane-view.coffee index 39d0dda..ce55d87 100644 --- a/lib/tree-view-open-files-pane-view.coffee +++ b/lib/tree-view-open-files-pane-view.coffee @@ -40,6 +40,9 @@ class TreeViewOpenFilesPaneView @pane = pane @paneSub.add pane.observeItems (item) => + if !item.getPath?() + return + @container.parentElement.parentElement.setAttribute("data-is-pane-active", "true") listItem = document.createElement('li') listItem.classList.add('file', 'list-item') listItem.setAttribute('is', 'tree-view-file') diff --git a/lib/tree-view-open-files-view.coffee b/lib/tree-view-open-files-view.coffee index 22414ab..e665507 100644 --- a/lib/tree-view-open-files-view.coffee +++ b/lib/tree-view-open-files-view.coffee @@ -9,7 +9,26 @@ class TreeViewOpenFilesView constructor: (serializeState) -> # Create root element @element = document.createElement('div') + @elementHolder = document.createElement('div') @element.classList.add('tree-view-open-files') + @element.classList.add('tree-view') + @elementHolder.classList.add('tree-view-open-files-holder') + element = @element + elementHolder = @elementHolder + + f = -> + if !elementHolder.parentElement and element.parentElement + element.parentElement.insertBefore elementHolder, element + elementHolder.style.height = element.innerHeight + "px" + s = elementHolder.getBoundingClientRect() + if s + element.style.width = s.width + 'px' + if elementHolder.parentElement + element.style.top = elementHolder.parentElement.getBoundingClientRect().top + 'px' + element.style.left = s.left + 'px' + return + + setInterval f, 100 @groups = [] @paneSub = new CompositeDisposable @paneSub.add atom.workspace.observePanes (pane) => @@ -19,8 +38,13 @@ class TreeViewOpenFilesView @removeTabGroup pane @paneSub.add destroySub - @configSub = atom.config.observe 'tree-view-open-files.maxHeight', (maxHeight) => + @configSub = atom.config.observe 'tree-view-open-files-updated.maxHeight', (maxHeight) => @element.style.maxHeight = if maxHeight > 0 then "#{maxHeight}px" else 'none' + @elementHolder.style.maxHeight = if maxHeight > 0 then "#{maxHeight}px" else 'none' + + @configSub = atom.config.observe 'tree-view-open-files-updated.minHeight', (minHeight) => + @element.style.minHeight = if minHeight > 0 then "#{minHeight}px" else 'none' + @elementHolder.style.minHeight = if minHeight > 0 then "#{minHeight}px" else 'none' addTabGroup: (pane) -> group = new TreeViewOpenFilesPaneView @@ -50,9 +74,11 @@ class TreeViewOpenFilesView @show() hide: -> - @element.remove() - + # @element.remove() + Array::slice.call(treeView.treeView.list.parentElement.querySelector('.tree-view-open-files')).forEach (node) -> + node.parentElement.removeChild node + return show: -> requirePackages('tree-view').then ([treeView]) => - treeView.treeView.find('.tree-view-scroller').css 'background', treeView.treeView.find('.tree-view').css 'background' - treeView.treeView.prepend @element + # treeView.treeView.find('.tree-view-scroller').css 'background', treeView.treeView.find('.tree-view').css 'background' + treeView.treeView.list.parentElement.insertBefore @element , treeView.treeView.list diff --git a/lib/tree-view-open-files.coffee b/lib/tree-view-open-files.coffee index c31f2cb..6543f83 100644 --- a/lib/tree-view-open-files.coffee +++ b/lib/tree-view-open-files.coffee @@ -10,6 +10,11 @@ module.exports = default: 250 min: 0 description: 'Maximum height of the list before scrolling is required. Set to 0 to disable scrolling.' + minHeight: + type: 'integer' + default: 0 + min: 0 + description: 'Minimum height of the list. Set to 0 to disable scrolling.' activate: (state) -> requirePackages('tree-view').then ([treeView]) => diff --git a/package.json b/package.json index e758d72..1019c29 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,9 @@ { - "name": "tree-view-open-files", + "name": "tree-view-open-files-updated", "main": "./lib/tree-view-open-files", - "version": "0.3.0", - "description": "Show open files in a list above the tree view.", - "repository": "https://github.com/postcasio/tree-view-open-files", + "version": "1.1.0", + "description": "Show open files in a list above the tree view. Added additional functions.", + "repository": "https://github.com/sergiu-gordienco/tree-view-open-files", "license": "MIT", "engines": { "atom": ">=1.1.0" diff --git a/styles/tree-view-open-files.less b/styles/tree-view-open-files.less index 1dc9199..5183f88 100644 --- a/styles/tree-view-open-files.less +++ b/styles/tree-view-open-files.less @@ -1,6 +1,20 @@ @import "ui-variables"; .tree-view-open-files { + border-bottom: 1px solid rgba(128, 128, 128, 0.25); +} +.tree-view-open-files > ul { + display: none; +} + +.tree-view-open-files > ul[data-is-pane-active="true"] { + display: block; +} + +.tree-view-open-files { + position: fixed; + top: 20px; + > .list-tree { width: 100%; overflow: auto; @@ -11,8 +25,8 @@ overflow: auto; flex: 0 0 1; - position: relative; order: 0; + z-index: 2; .close-open-file { background: none;