restore backup and add opencode support
This commit is contained in:
1 parent
b99d2ff835
commit
c295660631
72 files changed
+7035
-7198
No files matched your search
@@ -0,0 +1,269 @@
|
||||
/**
|
||||
* @fileoverview added by tsickle
|
||||
* @suppress {checkTypes} checked by tsc
|
||||
*/
|
||||
/**
|
||||
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the Free
|
||||
* Software Foundation; version 2.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, write to the Free Software Foundation, Inc., 51
|
||||
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
import * as tslib_1 from "tslib";
|
||||
import { ElementRef, Input, Directive } from '@angular/core';
|
||||
import * as Selection from 'd3-selection';
|
||||
import * as Shape from 'd3-shape';
|
||||
import { NlsCanvasService } from './../services/canvas.service';
|
||||
import { NlsMathService } from './../services/math.service';
|
||||
import { NlsGraphService } from '../services/graph.service';
|
||||
var NlsGuillocheDirective = /** @class */ (function () {
|
||||
function NlsGuillocheDirective(canvasService, el, math, graphService) {
|
||||
this.canvasService = canvasService;
|
||||
this.el = el;
|
||||
this.math = math;
|
||||
this.graphService = graphService;
|
||||
}
|
||||
/**
|
||||
* @return {?}
|
||||
*/
|
||||
NlsGuillocheDirective.prototype.ngOnDestroy = /**
|
||||
* @return {?}
|
||||
*/
|
||||
function () {
|
||||
this.group.selectAll('*').remove();
|
||||
};
|
||||
/**
|
||||
* @param {?} changes
|
||||
* @return {?}
|
||||
*/
|
||||
NlsGuillocheDirective.prototype.ngOnChanges = /**
|
||||
* @param {?} changes
|
||||
* @return {?}
|
||||
*/
|
||||
function (changes) {
|
||||
var _this = this;
|
||||
this.group = Selection.select(this.el.nativeElement);
|
||||
this.canvas = Selection.select(this.canvasService.get);
|
||||
// @todo modify graph here instead of in graphs.component.ts
|
||||
this.initialNodes = this.graph.nodes.slice();
|
||||
this.initialCurve = tslib_1.__spread([
|
||||
this.graph.start.point,
|
||||
this.graph.start.direction
|
||||
], this.graph.nodes.slice(), [
|
||||
this.graph.end.direction,
|
||||
this.graph.end.point
|
||||
]);
|
||||
this.medianPoint = this.math.medianOfCurve(this.initialCurve);
|
||||
this.medianIndex = this.math.medianIndex(this.initialCurve);
|
||||
if (this.animation) {
|
||||
this.graph.nodes = this.graph.nodes.slice().map(function (node, i) {
|
||||
return {
|
||||
x: node.x,
|
||||
y: node.y,
|
||||
// ascent: Math.round(Math.random() * 100) / 100
|
||||
ascent: _this.medianPoint.ascent + i * 0.5
|
||||
};
|
||||
});
|
||||
this.bounces = this.initialNodes.map(function (node) {
|
||||
/** @type {?} */
|
||||
var bounceAmplitude = Math.round(Math.random() * 150);
|
||||
return _this.math.bounce(bounceAmplitude, 3);
|
||||
});
|
||||
/** @type {?} */
|
||||
var i_1 = 0;
|
||||
this.animationInterval = setInterval(function () {
|
||||
_this.animateGraph(i_1++ % 1000 / 10000);
|
||||
}, this.graph.interval);
|
||||
}
|
||||
else {
|
||||
if (this.animationInterval) {
|
||||
this.bounce = null;
|
||||
clearInterval(this.animationInterval);
|
||||
}
|
||||
}
|
||||
this.group.selectAll('*').remove();
|
||||
this.pathElements = [];
|
||||
/** @type {?} */
|
||||
var graphs = this.spreadLines(tslib_1.__spread([
|
||||
this.graph.start.point,
|
||||
this.graph.start.direction
|
||||
], this.graph.nodes, [
|
||||
this.graph.end.direction,
|
||||
this.graph.end.point,
|
||||
])).forEach(function (points, index) { return _this.drawGraph(points); });
|
||||
};
|
||||
/**
|
||||
* @param {?} x
|
||||
* @return {?}
|
||||
*/
|
||||
NlsGuillocheDirective.prototype.animateGraph = /**
|
||||
* @param {?} x
|
||||
* @return {?}
|
||||
*/
|
||||
function (x) {
|
||||
var _this = this;
|
||||
/** @type {?} */
|
||||
var graphs = this.spreadLines(tslib_1.__spread([
|
||||
this.graph.start.point,
|
||||
this.graph.start.direction
|
||||
], this.graph.nodes.map(function (point, i) {
|
||||
/** @type {?} */
|
||||
var ascent = point.ascent * Math.sin(Math.PI * x);
|
||||
return _this.graphService.shiftPoint(point, ascent, _this.bounces[i].next().value);
|
||||
}), [
|
||||
this.graph.end.direction,
|
||||
this.graph.end.point,
|
||||
]));
|
||||
graphs.forEach(function (points, i) { return _this.updateGraph(points, i); });
|
||||
};
|
||||
/**
|
||||
* @param {?} points
|
||||
* @return {?}
|
||||
*/
|
||||
NlsGuillocheDirective.prototype.spreadLines = /**
|
||||
* @param {?} points
|
||||
* @return {?}
|
||||
*/
|
||||
function (points) {
|
||||
var _this = this;
|
||||
/** @type {?} */
|
||||
var shiftedMedians = [];
|
||||
/** @type {?} */
|
||||
var genshiftedMedians = this.graphService.spreadOrthogonal(this.medianPoint, this.graph.spread.spacing);
|
||||
for (var i = 0; i < this.graph.spread.amount; i++) {
|
||||
shiftedMedians.push(genshiftedMedians.next().value);
|
||||
}
|
||||
return shiftedMedians.map(function (median) {
|
||||
/** @type {?} */
|
||||
var shiftedPoints = points.slice();
|
||||
shiftedPoints.splice(_this.medianIndex, 1, median);
|
||||
return shiftedPoints;
|
||||
});
|
||||
};
|
||||
/**
|
||||
* @param {?} points
|
||||
* @param {?} index
|
||||
* @return {?}
|
||||
*/
|
||||
NlsGuillocheDirective.prototype.updateGraph = /**
|
||||
* @param {?} points
|
||||
* @param {?} index
|
||||
* @return {?}
|
||||
*/
|
||||
function (points, index) {
|
||||
this.pathElements[index]
|
||||
.attr('d', Shape.line()
|
||||
.x(function (p) { return p.x; })
|
||||
.y(function (p) { return p.y; })
|
||||
.curve(Shape.curveBasis)(points));
|
||||
};
|
||||
/**
|
||||
* @param {?} points
|
||||
* @return {?}
|
||||
*/
|
||||
NlsGuillocheDirective.prototype.drawGraph = /**
|
||||
* @param {?} points
|
||||
* @return {?}
|
||||
*/
|
||||
function (points) {
|
||||
this.group
|
||||
.attr('stroke', this.graph.color)
|
||||
.attr('stroke-width', this.graph.stroke)
|
||||
.attr('fill', 'none');
|
||||
this.pathElements.push(this.group.append('path')
|
||||
.attr('d', Shape.line()
|
||||
.x(function (p) { return p.x; })
|
||||
.y(function (p) { return p.y; })
|
||||
.curve(Shape.curveBasis)(points)));
|
||||
};
|
||||
/**
|
||||
* @param {?} points
|
||||
* @return {?}
|
||||
*/
|
||||
NlsGuillocheDirective.prototype.debugGraph = /**
|
||||
* @param {?} points
|
||||
* @return {?}
|
||||
*/
|
||||
function (points) {
|
||||
var _this = this;
|
||||
points.forEach(function (point, index) {
|
||||
/** @type {?} */
|
||||
var circle = _this.group.append('g');
|
||||
circle.append('circle')
|
||||
.attr('cx', point.x)
|
||||
.attr('cy', point.y)
|
||||
.attr('r', 3)
|
||||
.attr('fill-opacity', 0.6)
|
||||
.attr('fill', _this.graph.color);
|
||||
circle.append('text')
|
||||
.attr('x', point.x)
|
||||
.attr('y', point.y)
|
||||
.attr('dx', 8)
|
||||
.attr('dy', 15)
|
||||
.attr('fill', _this.graph.color)
|
||||
.text(index);
|
||||
});
|
||||
};
|
||||
NlsGuillocheDirective.decorators = [
|
||||
{ type: Directive, args: [{
|
||||
selector: '[nlsGuilloche]'
|
||||
},] },
|
||||
];
|
||||
/** @nocollapse */
|
||||
NlsGuillocheDirective.ctorParameters = function () { return [
|
||||
{ type: NlsCanvasService },
|
||||
{ type: ElementRef },
|
||||
{ type: NlsMathService },
|
||||
{ type: NlsGraphService }
|
||||
]; };
|
||||
NlsGuillocheDirective.propDecorators = {
|
||||
graph: [{ type: Input }],
|
||||
animation: [{ type: Input }]
|
||||
};
|
||||
return NlsGuillocheDirective;
|
||||
}());
|
||||
export { NlsGuillocheDirective };
|
||||
function NlsGuillocheDirective_tsickle_Closure_declarations() {
|
||||
/** @type {?} */
|
||||
NlsGuillocheDirective.prototype.canvas;
|
||||
/** @type {?} */
|
||||
NlsGuillocheDirective.prototype.group;
|
||||
/** @type {?} */
|
||||
NlsGuillocheDirective.prototype.bounce;
|
||||
/** @type {?} */
|
||||
NlsGuillocheDirective.prototype.bounces;
|
||||
/** @type {?} */
|
||||
NlsGuillocheDirective.prototype.initialNodes;
|
||||
/** @type {?} */
|
||||
NlsGuillocheDirective.prototype.initialCurve;
|
||||
/** @type {?} */
|
||||
NlsGuillocheDirective.prototype.animationInterval;
|
||||
/** @type {?} */
|
||||
NlsGuillocheDirective.prototype.medianPoint;
|
||||
/** @type {?} */
|
||||
NlsGuillocheDirective.prototype.medianIndex;
|
||||
/** @type {?} */
|
||||
NlsGuillocheDirective.prototype.pathElements;
|
||||
/** @type {?} */
|
||||
NlsGuillocheDirective.prototype.graph;
|
||||
/** @type {?} */
|
||||
NlsGuillocheDirective.prototype.animation;
|
||||
/** @type {?} */
|
||||
NlsGuillocheDirective.prototype.canvasService;
|
||||
/** @type {?} */
|
||||
NlsGuillocheDirective.prototype.el;
|
||||
/** @type {?} */
|
||||
NlsGuillocheDirective.prototype.math;
|
||||
/** @type {?} */
|
||||
NlsGuillocheDirective.prototype.graphService;
|
||||
}
|
||||
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpbGxvY2hlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25scy1ndWlsbG9jaGUvIiwic291cmNlcyI6WyJubHMvZGlyZWN0aXZlcy9ndWlsbG9jaGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JBLE9BQU8sRUFBRSxVQUFVLEVBQWdCLEtBQUssRUFBRSxTQUFTLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sS0FBSyxTQUFTLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sS0FBSyxLQUFLLE1BQU0sVUFBVSxDQUFDO0FBUWxDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0lBcUIxRCwrQkFDVSxlQUNBLElBQ0EsTUFDQTtRQUhBLGtCQUFhLEdBQWIsYUFBYTtRQUNiLE9BQUUsR0FBRixFQUFFO1FBQ0YsU0FBSSxHQUFKLElBQUk7UUFDSixpQkFBWSxHQUFaLFlBQVk7S0FFckI7Ozs7SUFFRCwyQ0FBVzs7O0lBQVg7UUFDRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztLQUNwQzs7Ozs7SUFFRCwyQ0FBVzs7OztJQUFYLFVBQVksT0FBc0I7UUFBbEMsaUJBaURDO1FBaERDLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDOztRQUV2RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFL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
Line truncated
|
||||
Reference in new issue
Block a user