mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-05-10 08:55:00 -04:00
Merge 8ac49477f9
into e02054d6fe
This commit is contained in:
commit
8ee7eed14a
10 changed files with 32 additions and 15 deletions
|
@ -3,7 +3,7 @@ This load tester is extremely useful for testing how many dormant clients can co
|
|||
TODO:
|
||||
Emulate characters being typed into a pad
|
||||
|
||||
HOW TO USE (from @mjd75) proper formatting at: https://github.com/Pita/etherpad-lite/issues/360
|
||||
HOW TO USE (from @mjd75) proper formatting at: https://github.com/ether/etherpad-lite/issues/360
|
||||
|
||||
Server 1:
|
||||
Installed Node.js (etc), EtherPad Lite and MySQL
|
||||
|
|
|
@ -9,7 +9,7 @@ The API gives another web application control of the pads. The basic functions a
|
|||
|
||||
The API is designed in a way, so you can reuse your existing user system with their permissions, and map it to etherpad lite. Means: Your web application still has to do authentication, but you can tell etherpad lite via the api, which visitors should get which permissions. This allows etherpad lite to fit into any web application and extend it with real-time functionality. You can embed the pads via an iframe into your website.
|
||||
|
||||
Take a look at [HTTP API client libraries](https://github.com/Pita/etherpad-lite/wiki/HTTP-API-client-libraries) to see if a library in your favorite language.
|
||||
Take a look at [HTTP API client libraries](https://github.com/ether/etherpad-lite/wiki/HTTP-API-client-libraries) to see if a library in your favorite language.
|
||||
|
||||
## Examples
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ exports.createServer = function () {
|
|||
{
|
||||
console.warn("Can't get git version for server header\n" + e.message)
|
||||
}
|
||||
console.log("Report bugs at https://github.com/Pita/etherpad-lite/issues")
|
||||
console.log("Report bugs at https://github.com/ether/etherpad-lite/issues")
|
||||
|
||||
serverName = "Etherpad-Lite " + version + " (http://j.mp/ep-lite)";
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name" : "ep_etherpad-lite",
|
||||
"description" : "A Etherpad based on node.js",
|
||||
"homepage" : "https://github.com/Pita/etherpad-lite",
|
||||
"homepage" : "https://github.com/ether/etherpad-lite",
|
||||
"keywords" : ["etherpad", "realtime", "collaborative", "editor"],
|
||||
"author" : "Peter 'Pita' Martischka <petermartischka@googlemail.com> - Primary Technology Ltd",
|
||||
"contributors" : [
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* 90% of the code is still like in the original Etherpad
|
||||
* Look at https://github.com/ether/pad/blob/master/infrastructure/ace/www/easysync2.js
|
||||
* You can find a explanation what a attribute pool is here:
|
||||
* https://github.com/Pita/etherpad-lite/blob/master/doc/easysync/easysync-notes.txt
|
||||
* https://github.com/ether/etherpad-lite/blob/master/doc/easysync/easysync-notes.txt
|
||||
*/
|
||||
|
||||
/*
|
||||
|
|
|
@ -3266,7 +3266,7 @@ function Ace2Inner(){
|
|||
}
|
||||
}
|
||||
//hide the dropdownso
|
||||
if(window.parent.parent.padeditbar){ // required in case its in an iframe should probably use parent.. See Issue 327 https://github.com/Pita/etherpad-lite/issues/327
|
||||
if(window.parent.parent.padeditbar){ // required in case its in an iframe should probably use parent.. See Issue 327 https://github.com/ether/etherpad-lite/issues/327
|
||||
window.parent.parent.padeditbar.toggleDropDown("none");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -310,7 +310,7 @@ function handshake()
|
|||
}
|
||||
else if(obj.accessStatus == "wrongPassword")
|
||||
{
|
||||
$("#editorloadingbox").html("<b>You're password was wrong</b><br>" +
|
||||
$("#editorloadingbox").html("<b>Your password was wrong</b><br>" +
|
||||
"<input id='passwordinput' type='password' name='password'>"+
|
||||
"<button type='button' onclick=\"" + padutils.escapeHtml('require('+JSON.stringify(module.id)+").savePassword()") + "\">ok</button>");
|
||||
}
|
||||
|
|
|
@ -21,10 +21,10 @@
|
|||
|
||||
<h2>Installed hooks</h2>
|
||||
<h3>Server side hooks</h3>
|
||||
<div><%= plugins.formatHooks() %></div>
|
||||
<div><%- plugins.formatHooks() %></div>
|
||||
|
||||
<h3>Client side hooks</h3>
|
||||
<div><%= plugins.formatHooks("client_hooks") %></div>
|
||||
<div><%- plugins.formatHooks("client_hooks") %></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -15,12 +15,15 @@ body {
|
|||
#iframe-container {
|
||||
width: 50%;
|
||||
height: 100%;
|
||||
float:right;
|
||||
}
|
||||
|
||||
#iframe-container iframe {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position:absolute;
|
||||
min-width:500px;
|
||||
max-width:800px;
|
||||
left:50%;
|
||||
width:100%;
|
||||
}
|
||||
|
||||
#mocha {
|
||||
|
|
|
@ -1,10 +1,19 @@
|
|||
function deletecookie(name) {
|
||||
document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
|
||||
}
|
||||
|
||||
describe("Language select and change", function(){
|
||||
// Destroy language cookies
|
||||
deletecookie("language", null);
|
||||
|
||||
//create a new pad before each test run
|
||||
beforeEach(function(cb){
|
||||
helper.newPad(cb);
|
||||
this.timeout(60000);
|
||||
});
|
||||
|
||||
// Destroy language cookies
|
||||
|
||||
it("makes text german", function(done) {
|
||||
var inner$ = helper.padInner$;
|
||||
var chrome$ = helper.padChrome$;
|
||||
|
@ -21,14 +30,16 @@ describe("Language select and change", function(){
|
|||
$languageoption.attr('selected','selected');
|
||||
$language.change();
|
||||
|
||||
helper.waitFor(function() { return $language.val() == "de"})
|
||||
helper.waitFor(function() {
|
||||
return chrome$(".buttonicon-bold").parent()[0]["title"] = "Fett (Strg-B)";
|
||||
})
|
||||
.done(function(){
|
||||
//get the value of the bold button
|
||||
var $boldButton = chrome$(".buttonicon-bold").parent();
|
||||
|
||||
//get the title of the bold button
|
||||
var boldButtonTitle = $boldButton[0]["title"];
|
||||
|
||||
|
||||
//check if the language is now german
|
||||
expect(boldButtonTitle).to.be("Fett (Strg-B)");
|
||||
done();
|
||||
|
@ -51,7 +62,10 @@ describe("Language select and change", function(){
|
|||
$languageoption.attr('selected','selected');
|
||||
$language.change();
|
||||
|
||||
helper.waitFor(function() { return $language.val() == "en";})
|
||||
//get the value of the bold button
|
||||
var $boldButton = chrome$(".buttonicon-bold").parent();
|
||||
|
||||
helper.waitFor(function() { return $boldButton[0]["title"] != "Fett (Strg-B)";})
|
||||
.done(function(){
|
||||
|
||||
//get the value of the bold button
|
||||
|
@ -67,4 +81,4 @@ describe("Language select and change", function(){
|
|||
});
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue