Revert "Revert "Merge branch 'master' of github.com:c9/newclient""

This reverts commit 223b4dfcc4.
pull/282/head
nightwing 2016-03-29 20:31:45 +04:00
rodzic 84c81a9f30
commit cb9466ae62
16 zmienionych plików z 280 dodań i 35 usunięć

Wyświetl plik

@ -806,15 +806,28 @@ module.exports = function(options) {
"plugins/c9.ide.test.mocha/mocha",
// git integration v1
"plugins/c9.ide.scm/v1/scm",
"plugins/c9.ide.scm/v1/scmpanel",
"plugins/c9.ide.scm/v1/detail",
"plugins/c9.ide.scm/v1/log",
"plugins/c9.ide.scm/v1/git",
"plugins/c9.ide.scm/v1/editor",
// git integration v2
"plugins/c9.ide.scm/mergetool"
// git integration
"plugins/c9.ide.scm/scm",
"plugins/c9.ide.scm/scm.button",
// "plugins/c9.ide.scm/scm.commit",
"plugins/c9.ide.scm/scm.branches",
"plugins/c9.ide.scm/dialog.localchanges",
"plugins/c9.ide.scm/dialog.commit",
"plugins/c9.ide.scm/scm.log",
"plugins/c9.ide.scm/scmpanel",
"plugins/c9.ide.scm/detail",
// "plugins/c9.ide.scm/log",
"plugins/c9.ide.scm/git",
"plugins/c9.ide.scm/editor",
"plugins/c9.ide.scm/mergetool",
// // git integration v1
// "plugins/c9.ide.scm/v1/scm",
// "plugins/c9.ide.scm/v1/scmpanel",
// "plugins/c9.ide.scm/v1/detail",
// "plugins/c9.ide.scm/v1/log",
// "plugins/c9.ide.scm/v1/git",
// "plugins/c9.ide.scm/v1/editor",
];

Wyświetl plik

@ -417,7 +417,7 @@ DataProvider.variableHeightRowMixin = function() {
var items = this.visibleItems;
var top = 0, index = 0, l = items.length;
while (index < l) {
var height = this.getItemHeight(items[index].height, index);
var height = this.getItemHeight(items[index], index);
top += height;
index++;
if (top >= offset) {
@ -445,7 +445,7 @@ DataProvider.variableHeightRowMixin = function() {
var items = this.visibleItems;
var startH = 0, index = 0, l = items.length;
while (index < l) {
var height = this.getItemHeight(items[index].height, index);
var height = this.getItemHeight(items[index], index);
startH += height;
index++;
if (startH >= top) {

Wyświetl plik

@ -68,6 +68,7 @@ function ColumnHeader(parentEl, renderer) {
}
col.pixelWidth = 0;
}, this);
columns.fixedWidth = fixedWidth;
columns.$fixedWidth = fixedWidth + "px";
columns.width = null;
provider.columns = columns;

4
node_modules/vfs-local/localfs.js wygenerowano vendored
Wyświetl plik

@ -200,7 +200,9 @@ module.exports = function setup(fsOptions) {
// Extending the API
extend: extend,
unextend: unextend,
use: use
use: use,
workspaceDir: fsOptions.projectDir
});
function wrapDomain(api) {

Wyświetl plik

@ -67,12 +67,12 @@
"c9.ide.language.javascript.infer": "#18acb93a3a",
"c9.ide.language.jsonalyzer": "#4b329741b1",
"c9.ide.language.codeintel": "#871d8e5e5d",
"c9.ide.collab": "#7d3d49fa8e",
"c9.ide.collab": "#968713f5c8",
"c9.ide.local": "#10eb45842a",
"c9.ide.find": "#e33fbaed2f",
"c9.ide.find.infiles": "#c0a13737ef",
"c9.ide.find.replace": "#8cbce45290",
"c9.ide.run.debug": "#7d6da73fc7",
"c9.ide.run.debug": "#32cf8977c6",
"c9.automate": "#47e2c429c9",
"c9.ide.ace.emmet": "#6dc4585e02",
"c9.ide.ace.gotoline": "#a8ff07c8f4",
@ -94,10 +94,10 @@
"c9.ide.language.python": "#330b80e3b2",
"c9.ide.language.go": "#6ce1c7a7ef",
"c9.ide.mount": "#4c39359b87",
"c9.ide.navigate": "#1fbb7cd53b",
"c9.ide.navigate": "#bc87b56fc5",
"c9.ide.newresource": "#981a408a7b",
"c9.ide.openfiles": "#2ae85a9e33",
"c9.ide.preview": "#70bd68740c",
"c9.ide.preview": "#5f5fff0185",
"c9.ide.preview.browser": "#897177be7f",
"c9.ide.preview.markdown": "#c3174d86e0",
"c9.ide.pubsub": "#a85fb27eca",
@ -109,9 +109,9 @@
"c9.ide.run.build": "#0598fff697",
"c9.ide.run.debug.xdebug": "#9956689819",
"c9.ide.save": "#4cda35bfdb",
"c9.ide.scm": "#934b35ae2f",
"c9.ide.scm": "#c60694b87e",
"c9.ide.terminal.monitor": "#1a4092ede2",
"c9.ide.test": "#a282ec1619",
"c9.ide.test": "#8905405655",
"c9.ide.test.mocha": "#fc053b23d2",
"c9.ide.theme.flat": "#81dadeee55",
"c9.ide.threewaymerge": "#229382aa0b",

Wyświetl plik

@ -8,7 +8,7 @@ define(function(require, exports, module) {
var c9 = imports.c9;
var ext = imports.ext;
var JSONStream = require("./json-stream");
var JSONStream = require("json-stream");
/***** Initialization *****/

Wyświetl plik

@ -0,0 +1,51 @@
.btn-switcher {
.user-select(none);
cursor: default;
line-height: 19px;
font-size: @preview-chooser-font-size;
font-weight: @preview-chooser-font-weight;
color: ;
font-family: @preview-chooser-font-family;
-webkit-font-smoothing: auto;
-moz-osx-font-smoothing: auto;
background: @preview-chooser-background;
border-radius: 0 2px 2px 0;
box-shadow: @preview-chooser-box-shadow;
cursor: pointer;
border: 1px solid @textbox-border-color;
border-left : 0;
border-radius: 0 3px 3px 0;
position : relative;
padding: 4px 17px 4px 8px;
box-sizing: border-box;
}
.btn-switcherOver{
background: @preview-chooser-over-background;
}
.btn-switcherDown{
background: @preview-chooser-active-background;
}
.btn-switcher svg{
vertical-align: middle;
margin: -2px 4px 0 0;
}
.btn-switcher span{
display : block;
position : absolute;
right : 6px;
top : 11px;
width : 5px;
height : 5px;
background: url("@{image-path}/@{preview-chooser-arrow}") no-repeat;
opacity: 0.6;
}
.btn-switcherIcon {
background-repeat: no-repeat;
padding-left: 25px;
padding-top: 5px;
background-position: 5px 6px;
}

Wyświetl plik

@ -47,6 +47,7 @@ BODY.noInput *{
@import "less/button.less";
@import "less/btn_console.less";
@import "less/btn_console_open.less";
@import "less/btn-switcher.less";
@import "less/c9-divider-double.less";
@import "less/c9-divider-hor.less";
@import "less/c9-divider.less";

Wyświetl plik

@ -859,4 +859,16 @@
</a:main>
</a:presentation>
</a:button>
<a:button name="btn-switcher">
<a:presentation>
<a:main
caption = "text()"
background = "."
icon = ".">
<div class="btn-switcher">
-<span> </span>
</div>
</a:main>
</a:presentation>
</a:button>
</a:skin>

Wyświetl plik

@ -1711,7 +1711,7 @@
@form-bar-border-bottom: 1px solid black;
@form-bar-box-shadow: 0 1px @border-highlight;
@panel-settings-changes-top: 46px;
@panel-settings-changes-top: 53px;
/*******/

Wyświetl plik

@ -1706,9 +1706,9 @@
@diff-toolbar-buttons-background: #F9F9F9;
@diff-toolbar-buttons-border: 1px solid @border-highlight-dark;
@form-bar-padding: 10px 50px 10px 10px;
@form-bar-padding: 10px 10px 10px 10px;
@form-bar-background: @menu-button-active-background;
@form-bar-border-bottom: 1px solid black;
@form-bar-border-bottom: 1px solid #DEDEDE;
@form-bar-box-shadow: 0 1px @border-highlight;
@panel-settings-changes-top: 46px;
@panel-settings-changes-top: 53px;

Wyświetl plik

@ -967,7 +967,7 @@ define(function(require, exports, module) {
checkItems.call(this, e);
},
"onitemclick" : function(e) {
emit("itemclick", { value : e.value });
emit("itemclick", { value : e.value, item: e.relatedNode });
}
});
aml.cloud9menu = plugin;

Wyświetl plik

@ -124,7 +124,7 @@ define(function(require, module, exports) {
"list", "tab", "textbox", "textarea", "radiobutton", "checkbox", "page",
"splitter", "hsplitbox", "vsplitbox", "group", "img", "label", "spinner",
"dropdown", "BindingColumnRule", "datagrid", "hbox", "vbox", "colorbox",
"frame", "password", "modalwindow", "filler", "splitbutton"].forEach(function(tag) {
"frame", "password", "modalwindow", "filler", "splitbutton", "codebox"].forEach(function(tag) {
plugin[tag] = function(struct) {
return new apf[tag](struct);
};

Wyświetl plik

@ -34,7 +34,7 @@ define(function(require, exports, module) {
var acetree;
var model;
var redirectEvents;
var filterRoot;
var fRoot;
var meta = {};
var dataType = options.model ? "object" : options.dataType;
var excludedEvents = {
@ -251,6 +251,16 @@ define(function(require, exports, module) {
*/
get enableDragdrop(){ return acetree.getOption("enableDragDrop"); },
set enableDragdrop(value){ acetree.setOption("enableDragDrop", value); },
/**
*
*/
get enableVariableHeight(){ return model.getItemHeight; },
set enableVariableHeight(value){
if (!value) throw new Error("Unable to remove variable height");
var variableHeightRowMixin = model.constructor.variableHeightRowMixin;
variableHeightRowMixin.apply(model);
},
/**
*
*/
@ -296,18 +306,20 @@ define(function(require, exports, module) {
set filterKeyword(value){
model.keyword = value;
if (!model.keyword) {
filterRoot = null;
fRoot = null;
model.reKeyword = null;
model.setRoot(model.cachedRoot);
}
else {
model.reKeyword = new RegExp("("
+ util.escapeRegExp(model.keyword) + ")", 'i');
filterRoot = search.treeSearch(
model.cachedRoot.items || model.cachedRoot,
fRoot = search.treeSearch(
model.filterRoot
? model.filterRoot.items || model.filterRoot
: model.cachedRoot.items || model.cachedRoot,
model.keyword, model.filterCaseInsensitive,
null, null, model.indexProperty);
model.setRoot(filterRoot);
null, null, model.filterProperty);
model.setRoot(fRoot);
}
},
/**
@ -320,6 +332,11 @@ define(function(require, exports, module) {
*/
get filterProperty(){ return model.filterProperty; },
set filterProperty(value){ model.filterProperty = value; },
/**
*
*/
get filterRoot(){ return model.filterRoot; },
set filterRoot(value){ model.filterRoot = value; },
/**
*
*/
@ -394,11 +411,21 @@ define(function(require, exports, module) {
*/
get getClassName(){ return model.getClassName; },
set getClassName(fn){ model.getClassName = fn; },
/**
*
*/
get getTooltipText(){ return model.getTooltipText; },
set getTooltipText(fn){ model.getTooltipText = fn; },
/**
*
*/
get getIndex(){ return model.getIndex; },
set getIndex(fn){ model.getIndex = fn; },
/**
*
*/
get getItemHeight(){ return model.getItemHeight; },
set getItemHeight(fn){ model.getItemHeight = fn; },
// Events
_events: [
@ -494,7 +521,10 @@ define(function(require, exports, module) {
*/
setRoot: function(root){
model.cachedRoot = root;
return model.setRoot(root);
if (model.keyword)
plugin.filterKeyword = model.keyword;
else
return model.setRoot(root);
},
/**
*
@ -538,8 +568,8 @@ define(function(require, exports, module) {
/**
*
*/
scrollIntoView: function(anchor, lead, offset){
return acetree.renderer.scrollCaretIntoView(anchor, lead, offset);
scrollIntoView: function(anchor, offset){
return acetree.renderer.scrollCaretIntoView(anchor, offset);
},
/**
*
@ -585,7 +615,10 @@ define(function(require, exports, module) {
*
*/
refresh: function(){
model.setRoot(filterRoot || plugin.root);
if (model.keyword)
plugin.filterKeyword = model.keyword;
else
model.setRoot(plugin.root);
},
/**
*

Wyświetl plik

@ -0,0 +1,132 @@
define(function(require, exports, module) {
function timeago(timestamp) {
if (timestamp instanceof Date) {
return inWords(timestamp);
} else if (typeof timestamp === "string") {
return inWords(parse(timestamp));
} else if (typeof timestamp === "number") {
return inWords(new Date(timestamp));
} else {
return timeagoElement(timestamp);
}
}
var settings = {
refreshMillis: 60000,
allowFuture: false,
strings: {
prefixAgo: null,
prefixFromNow: null,
suffixAgo: "ago",
suffixFromNow: "from now",
seconds: "less than a minute",
minute: "about a minute",
minutes: "%d minutes",
hour: "about an hour",
hours: "about %d hours",
day: "a day",
days: "%d days",
month: "about a month",
months: "%d months",
year: "about a year",
years: "%d years",
wordSeparator: " ",
numbers: []
}
};
function distanceInWords(distanceMillis) {
var $l = settings.strings;
var prefix = $l.prefixAgo;
var suffix = $l.suffixAgo;
if (settings.allowFuture) {
if (distanceMillis < 0) {
prefix = $l.prefixFromNow;
suffix = $l.suffixFromNow;
}
}
var seconds = Math.abs(distanceMillis) / 1000;
var minutes = seconds / 60;
var hours = minutes / 60;
var days = hours / 24;
var years = days / 365;
function substitute(stringOrFunction, number) {
var string = typeof stringOrFunction === "function" ? stringOrFunction(number, distanceMillis) : stringOrFunction;
var value = ($l.numbers && $l.numbers[number]) || number;
return string.replace(/%d/i, value);
}
var words = seconds < 45 && substitute($l.seconds, Math.round(seconds)) ||
seconds < 90 && substitute($l.minute, 1) ||
minutes < 45 && substitute($l.minutes, Math.round(minutes)) ||
minutes < 90 && substitute($l.hour, 1) ||
hours < 24 && substitute($l.hours, Math.round(hours)) ||
hours < 42 && substitute($l.day, 1) ||
days < 30 && substitute($l.days, Math.round(days)) ||
days < 45 && substitute($l.month, 1) ||
days < 365 && substitute($l.months, Math.round(days / 30)) ||
years < 1.5 && substitute($l.year, 1) ||
substitute($l.years, Math.round(years));
var separator = $l.wordSeparator || "";
if ($l.wordSeparator === undefined) { separator = " "; }
return [prefix, words, suffix].filter(function(s) { return s; })
.map(function(s){ return s.trim(); })
.join(separator);
}
function parse(iso8601) {
var s = iso8601.trim();
s = s.replace(/\.\d+/,""); // remove milliseconds
s = s.replace(/-/,"/").replace(/-/,"/");
s = s.replace(/T/," ").replace(/Z/," UTC");
s = s.replace(/([\+\-]\d\d)\:?(\d\d)/," $1$2"); // -04:00 -> -0400
return new Date(s);
}
function datetime(elem) {
var iso8601 = isTime(elem) ? elem.getAttribute("datetime") : elem.getAttribute("title");
return parse(iso8601);
}
function isTime(elem) {
return elem.tagName.toLowerCase() === "time";
}
function timeagoElement(elem) {
refresh(elem);
if (settings.refreshMillis > 0)
setInterval(refresh.bind(null, elem), settings.refreshMillis);
}
function refresh(elem) {
var datetime = prepareDateTime(elem);
if (!isNaN(datetime))
elem.textContent = inWords(datetime);
}
function prepareDateTime(elem) {
var timeagoAttr = elem.getAttribute("timeago");
if (timeagoAttr)
return new Date(timeagoAttr);
var data = datetime(elem);
elem.setAttribute("timeago", data);
var text = elem.textContent.trim();
if (text.length > 0 && !(isTime(elem) && elem.title))
elem.title = text;
return data;
}
function inWords(date) {
return distanceInWords(distance(date));
}
function distance(date) {
return (new Date().getTime() - date.getTime());
}
// fix for IE6 suckage
document.createElement("abbr");
document.createElement("time");
module.exports = timeago;
});