kopia lustrzana https://github.com/c9/core
Simplify the panel api by having the panel object create the bar element
rodzic
364000ba78
commit
bc2af84013
|
@ -49,7 +49,7 @@
|
|||
},
|
||||
"licenses": [],
|
||||
"c9plugins": {
|
||||
"c9.ide.language": "#a6b859c38e",
|
||||
"c9.ide.language": "#1ec8e1fa35",
|
||||
"c9.ide.language.css": "#afda1f867c",
|
||||
"c9.ide.language.generic": "#87a4a44671",
|
||||
"c9.ide.language.html": "#fa4833e117",
|
||||
|
@ -65,7 +65,7 @@
|
|||
"c9.ide.find": "#989c06e6a7",
|
||||
"c9.ide.find.infiles": "#f98dfef554",
|
||||
"c9.ide.find.replace": "#e4daf722b8",
|
||||
"c9.ide.run.debug": "#df6615768a",
|
||||
"c9.ide.run.debug": "#cb3d2e8a44",
|
||||
"c9.ide.ace.emmet": "#e5f1a92ac3",
|
||||
"c9.ide.ace.gotoline": "#4d1a93172c",
|
||||
"c9.ide.ace.keymaps": "#6c4bb65b1f",
|
||||
|
@ -84,7 +84,7 @@
|
|||
"c9.ide.immediate": "#e9ba147cc2",
|
||||
"c9.ide.installer": "#24e7d6f399",
|
||||
"c9.ide.mount": "#32e79866ee",
|
||||
"c9.ide.navigate": "#eab638cc2f",
|
||||
"c9.ide.navigate": "#c2b2a7ba7b",
|
||||
"c9.ide.newresource": "#9a7464cc47",
|
||||
"c9.ide.openfiles": "#28a4f5af16",
|
||||
"c9.ide.preview": "#3c4dded23f",
|
||||
|
|
|
@ -24,7 +24,6 @@ define(function(require, exports, module) {
|
|||
var plugin = new Panel("Ajax.org", main.consumes, {
|
||||
index: options.index || 300,
|
||||
caption: "Commands",
|
||||
elementName: "winCommands",
|
||||
minWidth: 150,
|
||||
autohide: true,
|
||||
where: options.where || "left"
|
||||
|
@ -69,7 +68,7 @@ define(function(require, exports, module) {
|
|||
|
||||
var treeParent = plugin.getElement("commandsList");
|
||||
txtFilter = plugin.getElement("txtFilter");
|
||||
winCommands = plugin.getElement("winCommands");
|
||||
winCommands = options.aml;
|
||||
|
||||
// Create the Ace Tree
|
||||
tree = new Tree(treeParent.$int);
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
<a:application xmlns:a="http://ajax.org/2005/aml">
|
||||
<a:bar id="winCommands" skin="panel-bar" visible="false">
|
||||
<a:codebox id="txtFilter" realtime="true" skin="codebox" clearbutton="true"
|
||||
focusselect="true" height="27" left="10" top="10" right="10" singleline="true" />
|
||||
<a:bar id="commandsList" style="position:absolute;top:47px;right:10px;left:10px;bottom:0" class="searchresults" />
|
||||
</a:bar>
|
||||
<a:codebox id="txtFilter" realtime="true" skin="codebox" clearbutton="true"
|
||||
focusselect="true" height="27" left="10" top="10" right="10" singleline="true" />
|
||||
<a:bar id="commandsList" style="position:absolute;top:47px;right:10px;left:10px;bottom:0" class="searchresults" />
|
||||
</a:application>
|
|
@ -17,19 +17,18 @@ define(function(require, module, exports) {
|
|||
var uCaseFirst = require("c9/string").uCaseFirst;
|
||||
|
||||
function Panel(developer, deps, options) {
|
||||
// Panel extends ext.Plugin
|
||||
var plugin = new Plugin(developer, deps);
|
||||
var emit = plugin.getEmitter();
|
||||
|
||||
var autohide = options.autohide || false;
|
||||
var index = options.index || 100;
|
||||
var className = options.className;
|
||||
var buttonCSSClass = options.buttonCSSClass;
|
||||
var panelCSSClass = options.panelCSSClass;
|
||||
var caption = options.caption;
|
||||
var elementName = options.elementName;
|
||||
var width = options.width;
|
||||
var minWidth = options.minWidth;
|
||||
|
||||
var mnuItem, button, area, lastPanel, xpath, where;
|
||||
var mnuItem, button, area, lastPanel, xpath, where, aml;
|
||||
|
||||
plugin.on("load", function(){
|
||||
xpath = "state/panels/" + plugin.name;
|
||||
|
@ -153,23 +152,27 @@ define(function(require, module, exports) {
|
|||
if (drawn) return false;
|
||||
drawn = true;
|
||||
|
||||
aml = area.aml.appendChild(new ui.bar({
|
||||
"skin": "panel-bar",
|
||||
"class" : panelCSSClass || "",
|
||||
"visible": false
|
||||
}));
|
||||
plugin.addElement(aml);
|
||||
|
||||
emit.sticky("draw", {
|
||||
html: area.container,
|
||||
aml: area.aml
|
||||
html: aml.$int,
|
||||
aml: aml
|
||||
});
|
||||
|
||||
var aml = plugin.getElement(elementName);
|
||||
if (aml) {
|
||||
aml.$ext.style.zIndex = 100;
|
||||
aml.$ext.style.minWidth = ""; //Needed for the anims
|
||||
aml.$ext.style.position = "absolute";
|
||||
aml.$ext.style.left = where == "left" ? area.width + "px" : 0;
|
||||
aml.$ext.style.top = 0;
|
||||
aml.$ext.style.right = where == "right" ? area.width + "px" : 0;
|
||||
aml.$ext.style.bottom = 0;
|
||||
|
||||
aml.$display = apf.CSSPREFIX + "Flex";
|
||||
}
|
||||
aml.$ext.style.zIndex = 100;
|
||||
aml.$ext.style.minWidth = ""; //Needed for the anims
|
||||
aml.$ext.style.position = "absolute";
|
||||
aml.$ext.style.left = where == "left" ? area.width + "px" : 0;
|
||||
aml.$ext.style.top = 0;
|
||||
aml.$ext.style.right = where == "right" ? area.width + "px" : 0;
|
||||
aml.$ext.style.bottom = 0;
|
||||
|
||||
aml.$display = apf.CSSPREFIX + "Flex";
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -178,7 +181,6 @@ define(function(require, module, exports) {
|
|||
area = toArea;
|
||||
|
||||
try {
|
||||
var aml = plugin.getElement(elementName);
|
||||
if (aml)
|
||||
area.aml.appendChild(aml);
|
||||
} catch (e) {}
|
||||
|
@ -203,7 +205,7 @@ define(function(require, module, exports) {
|
|||
state: true,
|
||||
caption: caption,
|
||||
auto: false,
|
||||
"class" : className || "",
|
||||
"class" : buttonCSSClass || "",
|
||||
onmousedown: function(){
|
||||
panels.areas[where].toggle(plugin.name, autohide, true);
|
||||
},
|
||||
|
@ -312,8 +314,8 @@ define(function(require, module, exports) {
|
|||
* autohiding panel. The developer is responsible for hiding
|
||||
* the panel. This behavior will animate the panel during
|
||||
* @param hide and show over other panels, if there are any.
|
||||
* @param {String} [options.elementName] Specifies the name of the aml element that renders the panel
|
||||
* @param {String} [options.className] Specifies the name of the css class that is applied to the panel
|
||||
* @param {String} [options.buttonCSSClass] Specifies the name of the css class that is applied to the button
|
||||
* @param {String} [options.panelCSSClass] Specifies the name of the css class that is applied to the panel
|
||||
* @param {Number} [options.width] Specifies the default width of the panel
|
||||
* @param {Number} [options.minWidth] Specifies the minimal width of the panel
|
||||
* @param {String} [options.where] Accepts "left" or "right" to determine where the panel is added
|
||||
|
@ -350,7 +352,7 @@ define(function(require, module, exports) {
|
|||
* @private
|
||||
* @readonly
|
||||
*/
|
||||
get aml(){ return plugin.getElement(elementName); },
|
||||
get aml(){ return aml; },
|
||||
|
||||
/**
|
||||
* The area that this panel is a part of.
|
||||
|
|
|
@ -43,7 +43,7 @@ define(function(require, exports, module) {
|
|||
var plugin = new Panel("Ajax.org", main.consumes, {
|
||||
index: options.index || 100,
|
||||
caption: "Workspace",
|
||||
elementName: "winFilesViewer",
|
||||
panelCSSClass: "workspace_files",
|
||||
minWidth: 130,
|
||||
where: options.where || "left"
|
||||
});
|
||||
|
@ -217,7 +217,7 @@ define(function(require, exports, module) {
|
|||
|
||||
// Fetch UI elements
|
||||
container = plugin.getElement("container");
|
||||
winFilesViewer = plugin.getElement("winFilesViewer");
|
||||
winFilesViewer = options.aml
|
||||
|
||||
// Create the Ace Tree
|
||||
tree = new Tree(container.$int);
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
<a:application xmlns:a="http://ajax.org/2005/aml">
|
||||
<a:bar id="winFilesViewer" skin="panel-bar" class="workspace_files">
|
||||
<a:button id="btnTreeSettings"
|
||||
skin="header-btn"
|
||||
class="panel-settings" />
|
||||
<a:menu id="mnuFilesSettings" />
|
||||
<a:menu id="mnuCtxTree" />
|
||||
|
||||
<a:bar id="winOpenfiles" class="openfiles" height="10" visible="false" />
|
||||
<a:bar id="container" class="filetree real" focussable="true" contextmenu="mnuCtxTree" />
|
||||
</a:bar>
|
||||
<a:button id="btnTreeSettings"
|
||||
skin="header-btn"
|
||||
class="panel-settings" />
|
||||
<a:menu id="mnuFilesSettings" />
|
||||
<a:menu id="mnuCtxTree" />
|
||||
|
||||
<a:bar id="winOpenfiles" class="openfiles" height="10" visible="false" />
|
||||
<a:bar id="container" class="filetree real" focussable="true" contextmenu="mnuCtxTree" />
|
||||
</a:application>
|
Ładowanie…
Reference in New Issue