Added example

This commit is contained in:
Kevin Jahns 2014-08-05 05:00:22 +02:00
parent 6c34d97432
commit 7f6ea1e291
55 changed files with 1185 additions and 229 deletions

View File

@ -30,8 +30,9 @@ module.exports = (grunt) ->
files: [
"<%= coffee.lib.src %>"
"<%= coffee.test.src %>"
"examples/*"
]
tasks: ["coffeelint", "coffee", "browserify", "test", "codo"]
tasks: ["coffeelint", "literate", "browserify", "test", "codo"]
simplemocha:
all:
@ -77,15 +78,15 @@ module.exports = (grunt) ->
'dest/browser/Frameworks/JsonIwcYatta.js': ['./lib/Frameworks/JsonYatta.coffee', './lib/Connectors/IwcConnector.coffee']
options:
transform: ['coffeeify']
debug: true
bundleOptions: {debug: true}
debug: false
bundleOptions: {debug: false}
# Serve files via http-server
connect:
server:
options:
hostname: '*'
port: 1337
base: './dest/browser/'
base: './'
keepalive: true
middleware: (connect, options, middlewares)->
middlewares.push (req, res, next)->
@ -97,16 +98,21 @@ module.exports = (grunt) ->
res.header('Cache-Control', 'no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0')
return next()
return middlewares
literate:
"examples/IwcJson.md": "examples/IwcJson.js"
options:
code: true
# These plugins provide necessary tasks.
grunt.loadNpmTasks "grunt-browserify"
grunt.loadNpmTasks "grunt-contrib-coffee"
grunt.loadNpmTasks 'grunt-contrib-connect'
grunt.loadNpmTasks "grunt-contrib-watch"
grunt.loadNpmTasks "grunt-literate"
grunt.loadNpmTasks "grunt-simple-mocha"
grunt.loadNpmTasks "grunt-coffeelint"
grunt.loadNpmTasks "grunt-codo"
grunt.registerTask "default", ["coffee","coffeelint", "browserify", "simplemocha", "watch"]
grunt.registerTask "default", ["coffee","coffeelint", "literate", "browserify", "simplemocha", "watch"]
grunt.registerTask "production", ["coffee"]
grunt.registerTask "test", ["simplemocha"]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -6,12 +6,12 @@
</ModulePrefs>
<Content type="html"><![CDATA[
<script type="application/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="http://open-app.googlecode.com/files/openapp.js"></script>
<script src="http://dbis.rwth-aachen.de/gadgets/lib/las/storage.js"></script>
<script src="http://dbis.rwth-aachen.de/gadgets/iwc/lib/iwc.js"></script>
<script src="http://dbis.rwth-aachen.de/gadgets/lib/las/lasAjaxClient.js"></script>
<script src="../Widgets/libs/DUIClient.js"></script>
<script src="http://dbis.rwth-aachen.de/~jahns/role-widgets/widgetbundles/libraries/DUIClient.js"></script>
<script src="../dest/browser/Frameworks/JsonIwcYatta.js"></script>
<script src="../Frameworks/JsonIwcYatta.js"></script>
<script>
function init(){

File diff suppressed because one or more lines are too long

View File

@ -7,8 +7,6 @@ createIwcConnector = function(callback) {
duiClient.connect((function(_this) {
return function(intent) {
var _ref;
console.log("intent received iwc: " + (JSON.stringify(intent)));
console.log("" + (JSON.stringify(_this.iwcHandler)));
return (_ref = iwcHandler[intent.action]) != null ? _ref.map(function(f) {
return setTimeout(function() {
return f(intent);
@ -83,7 +81,7 @@ createIwcConnector = function(callback) {
dataType: "",
extras: content
};
return this.duiClient.publishToUser(intent);
return this.duiClient.sendIntent(intent);
};
IwcConnector.prototype.sync = function() {
@ -102,20 +100,22 @@ createIwcConnector = function(callback) {
};
init = function() {
var is_initialized, receiveRootElement;
duiClient.publishToUser(get_root_intent);
duiClient.sendIntent(get_root_intent);
is_initialized = false;
receiveRootElement = function(json) {
var proposed_user_id;
proposed_user_id = duiClient.getIwcClient()._componentName;
root_element = json != null ? json.extras.root_element : void 0;
received_HB = json != null ? json.extras.HB : void 0;
if (!is_initialized) {
is_initialized = true;
return callback(IwcConnector);
return callback(IwcConnector, proposed_user_id);
}
};
iwcHandler["Yatta_push_root_element"] = [receiveRootElement];
return setTimeout(receiveRootElement, 3000);
return setTimeout(receiveRootElement, 800);
};
setTimeout(init, 10);
setTimeout(init, Math.random() * 4000);
return void 0;
};

View File

@ -6,5 +6,5 @@
"IwcConnector.coffee"
],
"names": [],
"mappings": "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"
"mappings": "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"
}

View File

@ -52,9 +52,24 @@ JsonYatta = (function() {
return this.root_element.val(name, content, mutable);
};
JsonYatta.prototype.value = function() {
return this.root_element.value;
};
Object.defineProperty(JsonYatta.prototype, 'value', {
get: function() {
return this.root_element.value;
},
set: function(o) {
var o_name, o_obj, _results;
if (o.constructor === {}.constructor) {
_results = [];
for (o_name in o) {
o_obj = o[o_name];
_results.push(this.val(o_name, o_obj, 'immutable'));
}
return _results;
} else {
throw new Error("You must only set Object values!");
}
}
});
return JsonYatta;

View File

@ -6,5 +6,5 @@
"JsonYatta.coffee"
],
"names": [],
"mappings": "AACA,IAAA,0DAAA;;AAAA,wBAAA,GAA2B,OAAA,CAAQ,2BAAR,CAA3B,CAAA;;AAAA,aACA,GAAgB,OAAA,CAAQ,yBAAR,CADhB,CAAA;;AAAA,MAEA,GAAS,OAAA,CAAQ,kBAAR,CAFT,CAAA;;AAAA;AAYe,EAAA,mBAAC,OAAD,EAAU,SAAV,GAAA;AACX,QAAA,iCAAA;AAAA,IAAA,IAAC,CAAA,EAAD,GAAU,IAAA,aAAA,CAAc,OAAd,CAAV,CAAA;AAAA,IACA,UAAA,GAAa,wBAAA,CAAyB,IAAC,CAAA,EAA1B,CADb,CAAA;AAAA,IAEA,IAAC,CAAA,MAAD,GAAc,IAAA,MAAA,CAAO,IAAC,CAAA,EAAR,EAAY,UAAU,CAAC,MAAvB,CAFd,CAAA;AAAA,IAGA,IAAC,CAAA,SAAD,GAAiB,IAAA,SAAA,CAAU,IAAC,CAAA,MAAX,EAAmB,IAAC,CAAA,EAApB,EAAwB,UAAU,CAAC,kBAAnC,EAAuD,IAAvD,CAHjB,CAAA;AAAA,IAIA,SAAA,GAAY,IAAC,CAAA,SAAS,CAAC,cAAX,CAAA,CAJZ,CAAA;AAKA,IAAA,IAAO,iBAAP;AACE,MAAA,UAAA,GAAiB,IAAA,UAAU,CAAC,KAAK,CAAC,QAAjB,CAA0B,IAAC,CAAA,EAAE,CAAC,0BAAJ,CAAA,CAA1B,CAAjB,CAAA;AAAA,MACA,IAAC,CAAA,EAAE,CAAC,YAAJ,CAAiB,UAAjB,CADA,CAAA;AAAA,MAEA,UAAU,CAAC,OAAX,CAAA,CAFA,CAAA;AAAA,MAGA,IAAC,CAAA,YAAD,GAAgB,UAHhB,CADF;KAAA,MAAA;AAME,MAAA,IAAC,CAAA,YAAD,GAAgB,IAAC,CAAA,EAAE,CAAC,YAAJ,CAAiB,SAAjB,CAAhB,CANF;KANW;EAAA,CAAb;;AAAA,sBAiBA,cAAA,GAAgB,SAAA,GAAA;WACd,IAAC,CAAA,aADa;EAAA,CAjBhB,CAAA;;AAAA,sBAuBA,SAAA,GAAW,SAAA,GAAA;WACT,IAAC,CAAA,OADQ;EAAA,CAvBX,CAAA;;AAAA,sBA6BA,YAAA,GAAc,SAAA,GAAA;WACZ,IAAC,CAAA,UADW;EAAA,CA7Bd,CAAA;;AAAA,sBAmCA,gBAAA,GAAkB,SAAA,GAAA;WAChB,IAAC,CAAA,GADe;EAAA,CAnClB,CAAA;;AAAA,sBAyCA,iBAAA,GAAmB,SAAC,OAAD,GAAA;WAChB,IAAC,CAAA,YAAY,CAAC,iBAAd,CAAgC,OAAhC,EADgB;EAAA,CAzCnB,CAAA;;AAAA,sBAiDA,SAAA,GAAW,SAAA,GAAA;WACT,IAAC,CAAA,EAAE,CAAC,SAAJ,CAAA,EADS;EAAA,CAjDX,CAAA;;AAAA,sBAuDA,GAAA,GAAM,SAAC,IAAD,EAAO,OAAP,EAAgB,OAAhB,GAAA;WACJ,IAAC,CAAA,YAAY,CAAC,GAAd,CAAkB,IAAlB,EAAwB,OAAxB,EAAiC,OAAjC,EADI;EAAA,CAvDN,CAAA;;AAAA,sBA6DA,KAAA,GAAQ,SAAA,GAAA;WACN,IAAC,CAAA,YAAY,CAAC,MADR;EAAA,CA7DR,CAAA;;mBAAA;;IAZF,CAAA;;;EA4EA,MAAM,CAAE,SAAR,GAAoB;CA5EpB;;AAAA,MA6EM,CAAC,OAAP,GAAiB,SA7EjB,CAAA"
"mappings": "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"
}

View File

@ -332,7 +332,7 @@
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -142,7 +142,7 @@ only one will AddName operation will be executed.</p>
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -157,7 +157,7 @@ This result can be sent to other clients.</p>
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -118,7 +118,7 @@ of the Engine is empty.</p>
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -139,7 +139,7 @@
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -228,7 +228,7 @@ other operations (it wont executed)</p>
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -0,0 +1,230 @@
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>Yatta! Documentation</title>
<script src='../javascript/application.js'></script>
<script src='../javascript/search.js'></script>
<link rel='stylesheet' href='../stylesheets/application.css' type='text/css'>
</head>
<body>
<div id='base' data-path='../'></div>
<div id='header'>
<div id='menu'>
<a href='../extra/README.md.html' title='Yatta!'>
Yatta!
</a>
&raquo;
<a href='../alphabetical_index.html' title='Index'>
Index
</a>
&raquo;
<span class='title'>ImmutableObject</span>
</div>
</div>
<div id='content'>
<h1>
Class:
ImmutableObject
</h1>
<table class='box'>
<tr>
<td>Defined in:</td>
<td>lib&#47;Types&#47;BasicTypes.coffee</td>
</tr>
<tr>
<td>Inherits:</td>
<td>
<a href='../class/Insert.html'>Insert</a>
</td>
</tr>
</table>
<h2>Overview</h2>
<div class='docstring'>
<p>Defines an object that is cannot be changed. You can use this to set an immutable string, or a number.</p>
</div>
<div class='tags'>
</div>
<h2>Instance Method Summary</h2>
<ul class='summary'>
<li>
<span class='signature'>
<a href='#val-dynamic'>
#
(String)
<b>val</b><span>()</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#_encode-dynamic'>
#
(void)
<b>_encode</b><span>()</span>
</a>
</span>
<span class='desc'>
</span>
</li>
</ul>
<h2>
<small>Inherited Method Summary</small>
<h3 class='inherited'>
Methods inherited from
<a href='../class/Insert.html'>Insert</a>
</h3>
<p class='inherited'>
<a href='../class/Insert.html#applyDelete-dynamic'>#applyDelete</a>
<a href='../class/Insert.html#isDeleted-dynamic'>#isDeleted</a>
<a href='../class/Insert.html#getDistanceToOrigin-dynamic'>#getDistanceToOrigin</a>
<a href='../class/Insert.html#update_sl-dynamic'>#update_sl</a>
<a href='../class/Insert.html#execute-dynamic'>#execute</a>
<a href='../class/Operation.html#getUid-dynamic'>#getUid</a>
<a href='../class/Operation.html#saveOperation-dynamic'>#saveOperation</a>
<a href='../class/Operation.html#validateSavedOperations-dynamic'>#validateSavedOperations</a>
</p>
</h2>
<h2>Constructor Details</h2>
<div class='methods'>
<div class='method_details'>
<p class='signature' id='constructor-dynamic'>
#
(void)
<b>constructor</b><span>(uid, content = &quot;&quot;, prev, next, origin)</span>
<br>
</p>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>uid</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
&mdash;
<span class='desc'>A unique identifier. If uid is undefined, a new uid will be created. </span>
</li>
<li>
<span class='name'>content</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
</li>
</ul>
</div>
</div>
</div>
<h2>Instance Method Details</h2>
<div class='methods'>
<div class='method_details'>
<p class='signature' id='val-dynamic'>
#
(String)
<b>val</b><span>()</span>
<br>
</p>
<div class='tags'>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>String</tt>
)
&mdash;
<span class='desc'>The content of this operation. </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='_encode-dynamic'>
#
(void)
<b>_encode</b><span>()</span>
<br>
</p>
</div>
</div>
</div>
<div id='footer'>
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>
2.0.9
&#10034;
Press H to see the keyboard shortcuts
&#10034;
<a href='http://twitter.com/netzpirat' target='_parent'>@netzpirat</a>
&#10034;
<a href='http://twitter.com/_inossidabile' target='_parent'>@_inossidabile</a>
</div>
<iframe id='search_frame'></iframe>
<div id='fuzzySearch'>
<input type='text'>
<ol></ol>
</div>
<div id='help'>
<p>
Quickly fuzzy find classes, mixins, methods, file:
</p>
<ul>
<li>
<span>T</span>
Open fuzzy finder dialog
</li>
</ul>
<p>
Control the navigation frame:
</p>
<ul>
<li>
<span>L</span>
Toggle list view
</li>
<li>
<span>C</span>
Show class list
</li>
<li>
<span>I</span>
Show mixin list
</li>
<li>
<span>F</span>
Show file list
</li>
<li>
<span>M</span>
Show method list
</li>
<li>
<span>E</span>
Show extras list
</li>
</ul>
<p>
You can focus and blur the search input:
</p>
<ul>
<li>
<span>S</span>
Focus search input
</li>
<li>
<span>Esc</span>
Blur search input
</li>
</ul>
</div>
</body>
</html>

View File

@ -256,7 +256,7 @@ TODO (Unused)</p>
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -168,7 +168,7 @@
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -286,7 +286,7 @@
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

195
doc/class/JsonWrapper.html Normal file
View File

@ -0,0 +1,195 @@
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>Yatta! Documentation</title>
<script src='../javascript/application.js'></script>
<script src='../javascript/search.js'></script>
<link rel='stylesheet' href='../stylesheets/application.css' type='text/css'>
</head>
<body>
<div id='base' data-path='../'></div>
<div id='header'>
<div id='menu'>
<a href='../extra/README.md.html' title='Yatta!'>
Yatta!
</a>
&raquo;
<a href='../alphabetical_index.html' title='Index'>
Index
</a>
&raquo;
<span class='title'>JsonWrapper</span>
</div>
</div>
<div id='content'>
<h1>
Class:
JsonWrapper
</h1>
<table class='box'>
<tr>
<td>Defined in:</td>
<td>lib&#47;Types&#47;JsonTypes.coffee</td>
</tr>
</table>
<h2>Overview</h2>
<div class='docstring'>
<div class='note'>
<strong>Note:</strong>
You can only overwrite existing values! Setting a new property won&#39;t have any effect!
</div>
<p>A JsonWrapper was intended to be a convenient wrapper for the JsonType.
But it can make things more difficult than they are.</p><p>It creates Javascripts -getter and -setter methods for each property that JsonType maintains.</p><p>In order to set a new property you have to overwrite an existing property.
Therefore the JsonWrapper supports a special feature that should make things more convenient
(we can argue about that, use the JsonType if you don&#39;t like it ;).
If you overwrite an object property of the JsonWrapper with a new object, it will result in a merged version of the objects.
Let w.p the property that is to be overwritten and o the new value. E.g. w.p = o</p><ul>
<li>The result has all properties of o</li>
<li>The result has all properties of w.p if they don&#39;t occur under the same property-name in o.</li>
</ul>
<div class='examples'>
<h3>Examples:</h3>
<h4>
create a JsonWrapper
</h4>
<pre><code class='coffeescript'># You get a JsonWrapper from a JsonType by calling
w = yatta.value</code></pre>
<h4>
Getter Example
</h4>
<pre><code class='coffeescript'># you can access the x property of yatta by calling
w.x
# instead of
yatta.val(&#39;x&#39;)</code></pre>
<h4>
Setter Example
</h4>
<pre><code class='coffeescript'># you can set an existing x property of yatta by calling
w.x = &quot;text&quot;
# instead of
yatta.val(&#39;x&#39;, &quot;text&quot;)</code></pre>
<h4>
Conflict Example
</h4>
<pre><code class='coffeescript'>yatta.value = {a : &quot;string&quot;}
w = yatta.value
console.log(w) # {a : &quot;string&quot;}
w.a = {a : {b : &quot;string&quot;}}
console.log(w) # {a : {b : &quot;String&quot;}}
w.a = {a : {c : 4}}
console.log(w) # {a : {b : &quot;String&quot;, c : 4}}</code></pre>
<h4>
Common Pitfalls
</h4>
<pre><code class='coffeescript'>w = yatta.value
# Setting a new property
w.newProperty = &quot;Awesome&quot;
console.log(w.newProperty == &quot;Awesome&quot;) # false, w.newProperty is undefined
# overwrite the w object
w = {newProperty : &quot;Awesome&quot;}
console.log(w.newProperty == &quot;Awesome&quot;) # true!, but ..
console.log(yatta.value.newProperty == &quot;Awesome&quot;) # false, you are only allowed to set properties!
# The solution
yatta.value = {newProperty : &quot;Awesome&quot;}
console.log(w.newProperty == &quot;Awesome&quot;) # true!</code></pre>
</div>
</div>
<div class='tags'>
<h3>See also:</h3>
<ul class='see'>
<li>
<a href='../class/JsonType.html'>JsonType</a>
</li>
<li>
<a href='getter'>https:&#47;&#47;developer.mozilla.org&#47;en-US&#47;docs&#47;Web&#47;JavaScript&#47;Reference&#47;Global_Objects&#47;Object&#47;defineProperty</a>
</li>
</ul>
</div>
<h2>Constructor Details</h2>
<div class='methods'>
<div class='method_details'>
<p class='signature' id='constructor-dynamic'>
#
(void)
<b>constructor</b><span>(jsonType)</span>
<br>
</p>
</div>
</div>
</div>
<div id='footer'>
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>
2.0.9
&#10034;
Press H to see the keyboard shortcuts
&#10034;
<a href='http://twitter.com/netzpirat' target='_parent'>@netzpirat</a>
&#10034;
<a href='http://twitter.com/_inossidabile' target='_parent'>@_inossidabile</a>
</div>
<iframe id='search_frame'></iframe>
<div id='fuzzySearch'>
<input type='text'>
<ol></ol>
</div>
<div id='help'>
<p>
Quickly fuzzy find classes, mixins, methods, file:
</p>
<ul>
<li>
<span>T</span>
Open fuzzy finder dialog
</li>
</ul>
<p>
Control the navigation frame:
</p>
<ul>
<li>
<span>L</span>
Toggle list view
</li>
<li>
<span>C</span>
Show class list
</li>
<li>
<span>I</span>
Show mixin list
</li>
<li>
<span>F</span>
Show file list
</li>
<li>
<span>M</span>
Show method list
</li>
<li>
<span>E</span>
Show extras list
</li>
</ul>
<p>
You can focus and blur the search input:
</p>
<ul>
<li>
<span>S</span>
Focus search input
</li>
<li>
<span>Esc</span>
Blur search input
</li>
</ul>
</div>
</body>
</html>

View File

@ -127,17 +127,6 @@ Known values that are supported:</p><ul>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#value-dynamic'>
#
(void)
<b>value</b><span>()</span>
</a>
</span>
<span class='desc'>
</span>
</li>
</ul>
<h2>Constructor Details</h2>
<div class='methods'>
@ -256,28 +245,12 @@ JsonYatta was initialized (Depending on the HistoryBuffer implementation).</p>
<a href='JsonType.val'>JsonType.val</a>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='value-dynamic'>
#
(void)
<b>value</b><span>()</span>
<br>
</p>
<div class='tags'>
<h3>See also:</h3>
<ul class='see'>
<li>
<a href='JsonType.value'>JsonType.value</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -208,7 +208,7 @@ Doesn&#39;t return left-right delimiter.</p>
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -99,7 +99,7 @@
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -284,7 +284,7 @@ an easy way to refer to these operations via an uid or object reference.</p><p>F
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -189,7 +189,7 @@ Each Replaceable holds a value that is now replaceable.</p><p>The Word-type has
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -191,7 +191,7 @@ This result can be send to other clients.</p>
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -219,7 +219,7 @@
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -53,7 +53,7 @@
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -173,7 +173,7 @@ This result can be send to other clients.</p>
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -239,7 +239,7 @@
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -241,7 +241,7 @@ to provide replace functionality.</p>
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -0,0 +1,207 @@
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>Yatta! Documentation</title>
<script src='../javascript/application.js'></script>
<script src='../javascript/search.js'></script>
<link rel='stylesheet' href='../stylesheets/application.css' type='text/css'>
</head>
<body>
<div id='base' data-path='../'></div>
<div id='header'>
<div id='menu'>
<a href='../extra/README.md.html' title='Yatta!'>
Yatta!
</a>
&raquo;
<a href='../alphabetical_index.html' title='Index'>
Index
</a>
&raquo;
<span class='title'>WordImmutable</span>
</div>
</div>
<div id='content'>
<h1>
Class:
WordImmutable
</h1>
<table class='box'>
<tr>
<td>Defined in:</td>
<td>lib&#47;Types&#47;TextTypes.coffee</td>
</tr>
<tr>
<td>Inherits:</td>
<td>
types.Insert
</td>
</tr>
</table>
<h2>Instance Method Summary</h2>
<ul class='summary'>
<li>
<span class='signature'>
<a href='#val-dynamic'>
#
(String)
<b>val</b><span>()</span>
</a>
</span>
<span class='desc'>
</span>
</li>
<li>
<span class='signature'>
<a href='#toJson-dynamic'>
#
(void)
<b>toJson</b><span>()</span>
</a>
</span>
<span class='desc'>
</span>
</li>
</ul>
<h2>Constructor Details</h2>
<div class='methods'>
<div class='method_details'>
<p class='signature' id='constructor-dynamic'>
#
(void)
<b>constructor</b><span>(uid, content = &quot;&quot;, prev, next, origin)</span>
<br>
</p>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>uid</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
&mdash;
<span class='desc'>A unique identifier. If uid is undefined, a new uid will be created. </span>
</li>
<li>
<span class='name'>content</span>
<span class='type'>
(
<tt>String</tt>
)
</span>
</li>
</ul>
</div>
</div>
</div>
<h2>Instance Method Details</h2>
<div class='methods'>
<div class='method_details'>
<p class='signature' id='val-dynamic'>
#
(String)
<b>val</b><span>()</span>
<br>
</p>
<div class='tags'>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>String</tt>
)
&mdash;
<span class='desc'>The content of this operation. </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='toJson-dynamic'>
#
(void)
<b>toJson</b><span>()</span>
<br>
</p>
</div>
</div>
</div>
<div id='footer'>
August 04, 14 16:39:02 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>
2.0.9
&#10034;
Press H to see the keyboard shortcuts
&#10034;
<a href='http://twitter.com/netzpirat' target='_parent'>@netzpirat</a>
&#10034;
<a href='http://twitter.com/_inossidabile' target='_parent'>@_inossidabile</a>
</div>
<iframe id='search_frame'></iframe>
<div id='fuzzySearch'>
<input type='text'>
<ol></ol>
</div>
<div id='help'>
<p>
Quickly fuzzy find classes, mixins, methods, file:
</p>
<ul>
<li>
<span>T</span>
Open fuzzy finder dialog
</li>
</ul>
<p>
Control the navigation frame:
</p>
<ul>
<li>
<span>L</span>
Toggle list view
</li>
<li>
<span>C</span>
Show class list
</li>
<li>
<span>I</span>
Show mixin list
</li>
<li>
<span>F</span>
Show file list
</li>
<li>
<span>M</span>
Show method list
</li>
<li>
<span>E</span>
Show extras list
</li>
</ul>
<p>
You can focus and blur the search input:
</p>
<ul>
<li>
<span>S</span>
Focus search input
</li>
<li>
<span>Esc</span>
Blur search input
</li>
</ul>
</div>
</body>
</html>

View File

@ -38,7 +38,7 @@
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -38,7 +38,7 @@
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -47,8 +47,8 @@
<pre><code class='coffeescript'>createIwcConnector</code></pre>
</dd>
<dt id='window.createIwcConnector-variable'>
window.createIwcConnector
<dt id='window.createConnector-variable'>
window.createConnector
=
</dt>
<dd>
@ -84,7 +84,7 @@
</div>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -39,7 +39,7 @@
</table>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -58,7 +58,7 @@
</dl>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -68,7 +68,7 @@
</dl>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -60,7 +60,7 @@
</dl>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -58,7 +58,7 @@
</dl>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -39,7 +39,7 @@
</table>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -39,7 +39,7 @@
</table>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -39,7 +39,7 @@
</table>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -39,7 +39,7 @@
</table>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

View File

@ -39,7 +39,7 @@
</table>
</div>
<div id='footer'>
August 04, 14 23:05:04 by
August 05, 14 05:00:00 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>

File diff suppressed because one or more lines are too long

View File

@ -253,14 +253,6 @@
(IwcConnector)
</small>
</li>
<li>
<a href='class/Operation.html#constructor-dynamic' target='main' title='constructor'>
#constructor
</a>
<small>
(Operation)
</small>
</li>
<li>
<a href='class/TextYatta.html#constructor-dynamic' target='main' title='constructor'>
#constructor
@ -269,6 +261,14 @@
(TextYatta)
</small>
</li>
<li>
<a href='class/Operation.html#constructor-dynamic' target='main' title='constructor'>
#constructor
</a>
<small>
(Operation)
</small>
</li>
<li>
<a href='class/MapManager.html#constructor-dynamic' target='main' title='constructor'>
#constructor
@ -301,14 +301,6 @@
(lib&#47;Connectors&#47;IwcConnector.coffee)
</small>
</li>
<li>
<a href='class/TextYatta.html#deleteText-dynamic' target='main' title='deleteText'>
#deleteText
</a>
<small>
(TextYatta)
</small>
</li>
<li>
<a href='class/Word.html#deleteText-dynamic' target='main' title='deleteText'>
#deleteText
@ -318,11 +310,11 @@
</small>
</li>
<li>
<a href='class/Delimiter.html#execute-dynamic' target='main' title='execute'>
#execute
<a href='class/TextYatta.html#deleteText-dynamic' target='main' title='deleteText'>
#deleteText
</a>
<small>
(Delimiter)
(TextYatta)
</small>
</li>
<li>
@ -334,19 +326,11 @@
</small>
</li>
<li>
<a href='class/Insert.html#execute-dynamic' target='main' title='execute'>
<a href='class/Delimiter.html#execute-dynamic' target='main' title='execute'>
#execute
</a>
<small>
(Insert)
</small>
</li>
<li>
<a href='class/Delete.html#execute-dynamic' target='main' title='execute'>
#execute
</a>
<small>
(Delete)
(Delimiter)
</small>
</li>
<li>
@ -357,6 +341,14 @@
(Replaceable)
</small>
</li>
<li>
<a href='class/Delete.html#execute-dynamic' target='main' title='execute'>
#execute
</a>
<small>
(Delete)
</small>
</li>
<li>
<a href='class/AddName.html#execute-dynamic' target='main' title='execute'>
#execute
@ -365,6 +357,14 @@
(AddName)
</small>
</li>
<li>
<a href='class/Insert.html#execute-dynamic' target='main' title='execute'>
#execute
</a>
<small>
(Insert)
</small>
</li>
<li>
<a href='class/TestConnector.html#flushAll-dynamic' target='main' title='flushAll'>
#flushAll
@ -549,14 +549,6 @@
(Operation)
</small>
</li>
<li>
<a href='class/JsonYatta.html#getUserId-dynamic' target='main' title='getUserId'>
#getUserId
</a>
<small>
(JsonYatta)
</small>
</li>
<li>
<a href='class/TextYatta.html#getUserId-dynamic' target='main' title='getUserId'>
#getUserId
@ -573,6 +565,14 @@
(HistoryBuffer)
</small>
</li>
<li>
<a href='class/JsonYatta.html#getUserId-dynamic' target='main' title='getUserId'>
#getUserId
</a>
<small>
(JsonYatta)
</small>
</li>
<li>
<a href='class/TextYatta.html#insertText-dynamic' target='main' title='insertText'>
#insertText
@ -605,14 +605,6 @@
(Engine)
</small>
</li>
<li>
<a href='class/TestConnector.html#receive-dynamic' target='main' title='receive'>
#receive
</a>
<small>
(TestConnector)
</small>
</li>
<li>
<a href='class/IwcConnector.html#receive-dynamic' target='main' title='receive'>
#receive
@ -622,11 +614,11 @@
</small>
</li>
<li>
<a href='class/ReplaceManager.html#replace-dynamic' target='main' title='replace'>
#replace
<a href='class/TestConnector.html#receive-dynamic' target='main' title='receive'>
#receive
</a>
<small>
(ReplaceManager)
(TestConnector)
</small>
</li>
<li>
@ -638,11 +630,11 @@
</small>
</li>
<li>
<a href='class/TextYatta.html#replaceText-dynamic' target='main' title='replaceText'>
#replaceText
<a href='class/ReplaceManager.html#replace-dynamic' target='main' title='replace'>
#replace
</a>
<small>
(TextYatta)
(ReplaceManager)
</small>
</li>
<li>
@ -653,6 +645,14 @@
(Word)
</small>
</li>
<li>
<a href='class/TextYatta.html#replaceText-dynamic' target='main' title='replaceText'>
#replaceText
</a>
<small>
(TextYatta)
</small>
</li>
<li>
<a href='class/Operation.html#saveOperation-dynamic' target='main' title='saveOperation'>
#saveOperation
@ -661,14 +661,6 @@
(Operation)
</small>
</li>
<li>
<a href='class/IwcConnector.html#send-dynamic' target='main' title='send'>
#send
</a>
<small>
(IwcConnector)
</small>
</li>
<li>
<a href='class/TestConnector.html#send-dynamic' target='main' title='send'>
#send
@ -677,6 +669,14 @@
(TestConnector)
</small>
</li>
<li>
<a href='class/IwcConnector.html#send-dynamic' target='main' title='send'>
#send
</a>
<small>
(IwcConnector)
</small>
</li>
<li>
<a href='class/IwcConnector.html#sendIwcIntent-dynamic' target='main' title='sendIwcIntent'>
#sendIwcIntent
@ -750,19 +750,11 @@
</small>
</li>
<li>
<a href='class/Replaceable.html#val-dynamic' target='main' title='val'>
<a href='class/ImmutableObject.html#val-dynamic' target='main' title='val'>
#val
</a>
<small>
(Replaceable)
</small>
</li>
<li>
<a href='class/ReplaceManager.html#val-dynamic' target='main' title='val'>
#val
</a>
<small>
(ReplaceManager)
(ImmutableObject)
</small>
</li>
<li>
@ -774,27 +766,11 @@
</small>
</li>
<li>
<a href='class/JsonType.html#val-dynamic' target='main' title='val'>
<a href='class/Replaceable.html#val-dynamic' target='main' title='val'>
#val
</a>
<small>
(JsonType)
</small>
</li>
<li>
<a href='class/ImmutableObject.html#val-dynamic' target='main' title='val'>
#val
</a>
<small>
(ImmutableObject)
</small>
</li>
<li>
<a href='class/JsonYatta.html#val-dynamic' target='main' title='val'>
#val
</a>
<small>
(JsonYatta)
(Replaceable)
</small>
</li>
<li>
@ -813,6 +789,22 @@
(TextYatta)
</small>
</li>
<li>
<a href='class/JsonType.html#val-dynamic' target='main' title='val'>
#val
</a>
<small>
(JsonType)
</small>
</li>
<li>
<a href='class/JsonYatta.html#val-dynamic' target='main' title='val'>
#val
</a>
<small>
(JsonYatta)
</small>
</li>
<li>
<a href='class/Word.html#val-dynamic' target='main' title='val'>
#val
@ -821,6 +813,14 @@
(Word)
</small>
</li>
<li>
<a href='class/ReplaceManager.html#val-dynamic' target='main' title='val'>
#val
</a>
<small>
(ReplaceManager)
</small>
</li>
<li>
<a href='class/Operation.html#validateSavedOperations-dynamic' target='main' title='validateSavedOperations'>
#validateSavedOperations
@ -829,14 +829,6 @@
(Operation)
</small>
</li>
<li>
<a href='class/JsonYatta.html#value-dynamic' target='main' title='value'>
#value
</a>
<small>
(JsonYatta)
</small>
</li>
</ul>
</div>
</body>

126
examples/IwcJson.js Normal file
View File

@ -0,0 +1,126 @@
/**
## IWC + JSON Example
Here, I will give a short overview on how to use the IwcJsanYatta Framework in Role-SDK widgets.
First you have to include the following libraries in your widget file:
```
<script src="http://open-app.googlecode.com/files/openapp.js"></script>
<script src="http://dbis.rwth-aachen.de/gadgets/lib/las/storage.js"></script>
<script src="http://dbis.rwth-aachen.de/gadgets/iwc/lib/iwc.js"></script>
<script src="http://dbis.rwth-aachen.de/gadgets/lib/las/lasAjaxClient.js"></script>
<script src="http://dbis.rwth-aachen.de/~jahns/role-widgets/widgetbundles/libraries/DUIClient.js"></script>
<script src="../dest/browser/Frameworks/JsonIwcYatta.js"></script>
```
*/
function init(){
window.createConnector(function(Connector, user_id){
/**
yatta is the shared json object
*/
yatta = new window.JsonYatta(user_id, Connector);
/**
Add a integer-property like this
*/
yatta.val('x', 7);
/**
Get the value of property x like this
*/
console.log(yatta.val('x') === 7); // true
/**
A string property can be either mutable or immutable.
*/
yatta.val('mutable_string', "text", "mutable");
yatta.val('immutable_string', "text", "immutable");
console.log(yatta.val('immutable_string') === "text"); // true
yatta.val('mutable_string').insertText(2,"XXX"); // position, string
yatta.val('mutable_string').deleteText(0,1); // position, deletion length
console.log(yatta.val('mutable_string').val() === "eXXXxt"); // true
/**
You can omit the is_mutable - parameter. In that case the default will be used.
Initially the default is 'mutable'. You can set it like this:
*/
yatta.setMutableDefault('mutable');
// or
yatta.setMutableDefault('immutable');
yatta.val('new_string', "string");
console.log(yatta.val('new_string') === "string"); // true
/**
yatta is chainable:
*/
yatta.val('a', 4).val('b',5);
console.log(yatta.val('a') === 4); // true
console.log(yatta.val('b') === 5); // true
/**
You can alse set objects.
*/
yatta.val('object', {a : {b : "b"}, c : { d : 5 }});
console.log(yatta.val('object').val('c').val('d') === 5); // true
/**
Lists are always immutable.
*/
yatta.val('list', [1,2,3]);
console.log(yatta.val('list')[2] === 3); // true
/**
But there is a much more convenient way!
*/
console.log(yatta.value.list[2] === 3) // true
yatta.value.list = [3,4,5]
console.log(yatta.val('list')[2] === 5)
yatta.value.object = {c : 4}
console.log(yatta.value.object.c === 4)
/**
The downside is that you are only allowed to overwrite existing properties.
*/
yatta.value.newProperty = "Awesome"
console.log(yatta.value.newProperty !== "Awesome") // true, yatta.value.newProperty is undefined.
/**
So, how do we create new properties?
*/
yatta.value = {newProperty : "Awesome"}
console.log(yatta.value.newProperty === "Awesome") // true, it's awesome ;)
/**
This is stupid! I don't want to overwrite all my existing properties!
Very well.. The solution is that we merge yatta.value with the new assignment.
For example: assuming we want to overwrite yatta.value with some object o.
Then these two rules apply:
* The result has all properties of o
* The result has all properties of yatta.value if they don't occur under the same property-name in o
*/
yatta.value = {newProperty : {Awesome : true }}
console.log(yatta.value.list[2] === 5) // true, old value list still exists.
console.log(yatta.value.newProperty.Awesome === true) // true, newProperty is overwritten.
/**
Consider this case.
*/
yatta.value = {newProperty : { x : 4} }
console.log(yatta.value.newProperty.Awesome == null) // true, Awesome was replaced, therefore it is now undefined
/**
One last thing. You are only allowed to set properties like this `yatta.value = o`.
I can't observe if you overwrite object references `yatta = "Awesome"`.
*/
w = yatta.value.newProperty
w = "Awesome"
console.log(yatta.value.newProperty !== "Awesome") // true, still not awesome..
/**
Please also read [https://rawgit.com/DadaMonad/Yatta/master/doc/class/JsonWrapper.html](JsonWrapper).
*/
})
}
window.onload = init

172
examples/IwcJson.md Normal file
View File

@ -0,0 +1,172 @@
## IWC + JSON Example
Here, I will give a short overview on how to use the IwcJsanYatta Framework in Role-SDK widgets.
First you have to include the following libraries in your widget file:
```
<script src="http://open-app.googlecode.com/files/openapp.js"></script>
<script src="http://dbis.rwth-aachen.de/gadgets/lib/las/storage.js"></script>
<script src="http://dbis.rwth-aachen.de/gadgets/iwc/lib/iwc.js"></script>
<script src="http://dbis.rwth-aachen.de/gadgets/lib/las/lasAjaxClient.js"></script>
<script src="http://dbis.rwth-aachen.de/~jahns/role-widgets/widgetbundles/libraries/DUIClient.js"></script>
<script src="../dest/browser/Frameworks/JsonIwcYatta.js"></script>
```
```js
function init(){
window.createConnector(function(Connector, user_id){
```
yatta is the shared json object
```js
yatta = new window.JsonYatta(user_id, Connector);
```
Add a integer-property like this
```js
yatta.val('x', 7);
```
Get the value of property x like this
```js
console.log(yatta.val('x') === 7); // true
```
A string property can be either mutable or immutable.
```js
yatta.val('mutable_string', "text", "mutable");
yatta.val('immutable_string', "text", "immutable");
console.log(yatta.val('immutable_string') === "text"); // true
yatta.val('mutable_string').insertText(2,"XXX"); // position, string
yatta.val('mutable_string').deleteText(0,1); // position, deletion length
console.log(yatta.val('mutable_string').val() === "eXXXxt"); // true
```
You can omit the is_mutable - parameter. In that case the default will be used.
Initially the default is 'mutable'. You can set it like this:
```js
yatta.setMutableDefault('mutable');
// or
yatta.setMutableDefault('immutable');
yatta.val('new_string', "string");
console.log(yatta.val('new_string') === "string"); // true
```
yatta is chainable:
```js
yatta.val('a', 4).val('b',5);
console.log(yatta.val('a') === 4); // true
console.log(yatta.val('b') === 5); // true
```
You can alse set objects.
```js
yatta.val('object', {a : {b : "b"}, c : { d : 5 }});
console.log(yatta.val('object').val('c').val('d') === 5); // true
```
Lists are always immutable.
```js
yatta.val('list', [1,2,3]);
console.log(yatta.val('list')[2] === 3); // true
```
But there is a much more convenient way!
```js
console.log(yatta.value.list[2] === 3) // true
yatta.value.list = [3,4,5]
console.log(yatta.val('list')[2] === 5)
yatta.value.object = {c : 4}
console.log(yatta.value.object.c === 4)
```
The downside is that you are only allowed to overwrite existing properties.
```js
yatta.value.newProperty = "Awesome"
console.log(yatta.value.newProperty !== "Awesome") // true, yatta.value.newProperty is undefined.
```
So, how do we create new properties?
```js
yatta.value = {newProperty : "Awesome"}
console.log(yatta.value.newProperty === "Awesome") // true, it's awesome ;)
```
This is stupid! I don't want to overwrite all my existing properties!
Very well.. The solution is that we merge yatta.value with the new assignment.
For example: assuming we want to overwrite yatta.value with some object o.
Then these two rules apply:
* The result has all properties of o
* The result has all properties of yatta.value if they don't occur under the same property-name in o
```js
yatta.value = {newProperty : {Awesome : true }}
console.log(yatta.value.list[2] === 5) // true, old value list still exists.
console.log(yatta.value.newProperty.Awesome === true) // true, newProperty is overwritten.
```
Consider this case.
```js
yatta.value = {newProperty : { x : 4} }
console.log(yatta.value.newProperty.Awesome == null) // true, Awesome was replaced, therefore it is now undefined
```
One last thing. You are only allowed to set properties like this `yatta.value = o`.
I can't observe if you overwrite object references `yatta = "Awesome"`.
```js
w = yatta.value.newProperty
w = "Awesome"
console.log(yatta.value.newProperty !== "Awesome") // true, still not awesome..
```
Please also read [https://rawgit.com/DadaMonad/Yatta/master/doc/class/JsonWrapper.html](JsonWrapper).
```js
})
}
window.onload = init
```

16
examples/IwcJson.xml Normal file
View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<Module>
<ModulePrefs title="Video upload" description="Upload videos in Sevianno" author="Kevin Jahns, Chair of Computer Science 5, RWTH Aachen University, Germany" author_email="jahns@dbis.rwth-aachen.de" scrolling="true">
<Require feature="dynamic-height"/>
</ModulePrefs>
<Content type="html"><![CDATA[
<script src="http://open-app.googlecode.com/files/openapp.js"></script>
<script src="http://dbis.rwth-aachen.de/gadgets/iwc/lib/iwc.js"></script>
<script src="http://dbis.rwth-aachen.de/~jahns/role-widgets/widgetbundles/libraries/DUIClient.js"></script>
<script src="../dest/browser/Frameworks/JsonIwcYatta.js"></script>
<script src="./IwcJson.js"></script>
<h1> Collaborative Json Widget </h1>
]]></Content>
</Module>

View File

@ -1,16 +0,0 @@
Here, I will give a short overview on how to use the IwcYatta Framework.
function init(){
window.createIwcConnector(function(Connector){
console.log("initializing..");
yatta = new window.JsonYatta(1, Connector);
var dui = yatta.getConnector().duiClient
dui.getAppState()
console.log("initialized!");
})
}
$(document).ready(init)

6
examples/README.md Normal file
View File

@ -0,0 +1,6 @@
# Examples
Here you find some (hopefully) usefull examples on how to use Yatta!
* [./IwcJson.md](IWC + Json)

View File

@ -4,8 +4,8 @@ createIwcConnector = (callback)->
duiClient = new DUIClient()
#@duiClient = new iwc.Client()
duiClient.connect (intent)=>
console.log "intent received iwc: #{JSON.stringify(intent)}"
console.log "#{JSON.stringify(@iwcHandler)}"
#console.log "intent received iwc: #{JSON.stringify(intent)}"
#console.log "#{JSON.stringify(@iwcHandler)}"
iwcHandler[intent.action]?.map (f)->
setTimeout ()->
f intent
@ -65,7 +65,7 @@ createIwcConnector = (callback)->
dataType: ""
extras: content
@duiClient.publishToUser(intent)
@duiClient.sendIntent(intent)
sync: ()->
throw new Error "Can't use this a.t.m."
@ -78,19 +78,20 @@ createIwcConnector = (callback)->
extras: {}
init = ()->
duiClient.publishToUser(get_root_intent)
duiClient.sendIntent(get_root_intent)
is_initialized = false
receiveRootElement = (json)->
proposed_user_id = duiClient.getIwcClient()._componentName
root_element = json?.extras.root_element
received_HB = json?.extras.HB
if not is_initialized
is_initialized = true
callback IwcConnector
callback IwcConnector, proposed_user_id
iwcHandler["Yatta_push_root_element"] = [receiveRootElement]
setTimeout receiveRootElement, 3000
setTimeout receiveRootElement, 800
setTimeout init, 10
setTimeout init, (Math.random()*4000)
undefined
module.exports = createIwcConnector

View File

@ -72,8 +72,13 @@ class JsonYatta
#
# @see JsonType.value
#
value : ()->
@root_element.value
Object.defineProperty JsonYatta.prototype, 'value',
get : -> @root_element.value
set : (o)->
if o.constructor is {}.constructor
for o_name,o_obj of o
@val(o_name, o_obj, 'immutable')
else
throw new Error "You must only set Object values!"
window?.JsonYatta = JsonYatta
module.exports = JsonYatta

View File

@ -24,6 +24,7 @@
},
"homepage": "https://github.com/DadaMonad/Yatta",
"dependencies": {
"grunt-literate": "^0.2.0"
},
"devDependencies": {
"grunt-contrib-coffee": "^0.10.1",