This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.3 KiB
41 lines
1.3 KiB
var Class = require('../../core/class'); |
|
var Transform = require('../../core/transform'); |
|
var Container = require('../../dom/container'); |
|
var Node = require('./node'); |
|
|
|
module.exports = Class(Node, Container, { |
|
|
|
element_initialize: Node.prototype.initialize, |
|
|
|
initialize: function(width, height){ |
|
this.element_initialize('clippingrectangle'); |
|
this.width = width; |
|
this.height = height; |
|
}, |
|
|
|
_transform: function(){ |
|
var element = this.element; |
|
element.clip = true; |
|
element.coordorigin = -this.x + ',' + (-1 * this.y); |
|
element.coordsize = this.width + ',' + this.height; |
|
// IE8 doesn't like clipBottom. Don't ask me why. |
|
// element.style.clipBottom = this.height + this.y; |
|
element.style.clipLeft = this.x; |
|
element.style.clipRight = this.width + this.x; |
|
element.style.clipTop = this.y; |
|
element.style.left = -this.x; |
|
element.style.top = -this.y; |
|
element.style.width = this.width + this.x; |
|
element.style.height = this.height + this.y; |
|
element.style.rotation = 0; |
|
|
|
var container = this.parentNode; |
|
this._activeTransform = container ? new Transform(container._activeTransform).transform(this) : this; |
|
var node = this.firstChild; |
|
while (node){ |
|
node._transform(); |
|
node = node.nextSibling; |
|
} |
|
} |
|
|
|
});
|
|
|