Skip to content

Instantly share code, notes, and snippets.

@jstoppa
jstoppa / machine.js
Created April 5, 2020 08:57
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
@jstoppa
jstoppa / machine.js
Last active April 1, 2020 22:09
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
@jstoppa
jstoppa / machine.js
Created December 23, 2019 01:12
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
@jstoppa
jstoppa / app.module.js
Last active May 27, 2019 20:34
formql-article1-app.module.js
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormQLModule } from '@formql/core';
import { FormQLEditorModule } from '@formql/editor';
import { FormQLMaterialModule } from '@formql/material'
import { HttpClientModule } from '@angular/common/http';
import { TextMaskModule } from 'angular2-text-mask';
import { DummyService } from './app-service';
import { Component, Input, forwardRef, OnInit, ChangeDetectionStrategy } from '@angular/core';
import { ControlValueAccessor, NG_VALUE_ACCESSOR, NG_VALIDATORS, Validators, FormControl } from '@angular/forms';
import { FormValidator, FormComponent } from '@formql/core';
@Component({
selector: 'app-mortgage-schedule',
template: `<div id="chart-container" style="margin: 0px auto; width: 500px">
<canvas *ngIf="chartData && !noData" baseChart
[datasets]="lineChartData"
[labels]="lineChartLabels"
import { Component, Input, forwardRef, OnInit } from '@angular/core';
import { ControlValueAccessor, NG_VALUE_ACCESSOR, NG_VALIDATORS, Validators, FormControl } from '@angular/forms';
import { FormValidator, FormComponent } from '@formql/core';
@Component({
selector: 'app-formql-chart',
template: `<div id="chart-container" style="margin: 0px auto; width: 500px">
<canvas *ngIf="chartData && chartLabels && !noData" baseChart
[chartType]="'doughnut'"
[data]="chartData"
// Monthly Payment - schema = contact.mortgageMonthlyPayments
contact.mortgageAmount * (contact.mortgageInterestRate/100/12) *
(Math.pow(1 + (contact.mortgageInterestRate/100/12), (contact.mortgagePeriod*12)))
/
(Math.pow(1 + (contact.mortgageInterestRate/100/12), (contact.mortgagePeriod*12)) - 1)
// Total cost of mortgage - schema = contact.mortgageTotalCost
contact.mortgagePeriod * 12 * contact.mortgageMonthlyPayments
// Total payments - schema = contact.mortgageTotalPayments
{
"prefix": "£",
"suffix": "",
"includeThousandsSeparator": true,
"thousandsSeparatorSymbol": ",",
"allowDecimal": true,
"decimalSymbol": ".",
"decimalLimit": 2,
"integerLimit": null,
"requireDecimal": false,
{
"contact": {
"mortgageAmount": 0,
"mortgageInterestRate": 0,
"mortgagePeriod": 0,
"mortgageMonthlyPayments": 0,
"mortgageTotalCost": 0,
"mortgageTotalPayments": 0
}
}
<!doctype html>
<html>
<head>
<title>Lag Radar</title>
<style>
BODY {
color: white;
background: white;
font-family: Futura, "Trebuchet MS", sans-serif;
margin: 3em auto;