Atoms/molecules/organisms/templates/pages composing the NL Design System (Utrecht) CSS themed Rijkshuisstijl via @rijkshuisstijl-community tokens. Login -> dashboard -> registration detail, mock JSON over HttpClient, Storybook organized by atomic layer. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2110 lines
106 KiB
JSON
2110 lines
106 KiB
JSON
{
|
|
"pipes": [],
|
|
"interfaces": [
|
|
{
|
|
"name": "Aantekening",
|
|
"id": "interface-Aantekening-ad224cc8184441fa9923164457d2a4916359232fbcc5bc89a42031573682d3c39f25d7596de394302d8d9e7a7c2157118f79ba2c6dc80ebbf36b836a6d7db8df",
|
|
"file": "src/app/core/models.ts",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "interface",
|
|
"sourceCode": "export type RegistrationStatus = 'Geregistreerd' | 'Doorgehaald' | 'Geschorst';\n\nexport interface Registration {\n bigNummer: string;\n naam: string;\n beroep: string; // arts, verpleegkundige, apotheker, ...\n status: RegistrationStatus;\n registratiedatum: string; // ISO date\n herregistratieDatum: string;\n geboortedatum: string;\n}\n\nexport interface Aantekening {\n type: string; // specialisme of aantekening\n omschrijving: string;\n datum: string;\n}\n",
|
|
"properties": [
|
|
{
|
|
"name": "datum",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 16
|
|
},
|
|
{
|
|
"name": "omschrijving",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 15
|
|
},
|
|
{
|
|
"name": "type",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 14
|
|
}
|
|
],
|
|
"indexSignatures": [],
|
|
"kind": 172,
|
|
"methods": [],
|
|
"extends": []
|
|
},
|
|
{
|
|
"name": "Registration",
|
|
"id": "interface-Registration-ad224cc8184441fa9923164457d2a4916359232fbcc5bc89a42031573682d3c39f25d7596de394302d8d9e7a7c2157118f79ba2c6dc80ebbf36b836a6d7db8df",
|
|
"file": "src/app/core/models.ts",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "interface",
|
|
"sourceCode": "export type RegistrationStatus = 'Geregistreerd' | 'Doorgehaald' | 'Geschorst';\n\nexport interface Registration {\n bigNummer: string;\n naam: string;\n beroep: string; // arts, verpleegkundige, apotheker, ...\n status: RegistrationStatus;\n registratiedatum: string; // ISO date\n herregistratieDatum: string;\n geboortedatum: string;\n}\n\nexport interface Aantekening {\n type: string; // specialisme of aantekening\n omschrijving: string;\n datum: string;\n}\n",
|
|
"properties": [
|
|
{
|
|
"name": "beroep",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 6
|
|
},
|
|
{
|
|
"name": "bigNummer",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 4
|
|
},
|
|
{
|
|
"name": "geboortedatum",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 10
|
|
},
|
|
{
|
|
"name": "herregistratieDatum",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 9
|
|
},
|
|
{
|
|
"name": "naam",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 5
|
|
},
|
|
{
|
|
"name": "registratiedatum",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 8
|
|
},
|
|
{
|
|
"name": "status",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "RegistrationStatus",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 7
|
|
}
|
|
],
|
|
"indexSignatures": [],
|
|
"kind": 172,
|
|
"methods": [],
|
|
"extends": []
|
|
}
|
|
],
|
|
"injectables": [
|
|
{
|
|
"name": "RegistrationService",
|
|
"id": "injectable-RegistrationService-5839a5301ce57f9632e3d5d7716d2c847c4d606b9d9fe4c66c60accb5b5f8558c192b30eacda70cdce4fe1519baab9db11cdcc2d05f9fef144c727798da8d53a",
|
|
"file": "src/app/core/registration.service.ts",
|
|
"properties": [
|
|
{
|
|
"name": "http",
|
|
"defaultValue": "inject(HttpClient)",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "unknown",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 8,
|
|
"modifierKind": [
|
|
123
|
|
]
|
|
}
|
|
],
|
|
"methods": [
|
|
{
|
|
"name": "getAantekeningen",
|
|
"args": [],
|
|
"optional": false,
|
|
"returnType": "Observable<Aantekening[]>",
|
|
"typeParameters": [],
|
|
"line": 14,
|
|
"deprecated": false,
|
|
"deprecationMessage": ""
|
|
},
|
|
{
|
|
"name": "getRegistration",
|
|
"args": [],
|
|
"optional": false,
|
|
"returnType": "Observable<Registration>",
|
|
"typeParameters": [],
|
|
"line": 10,
|
|
"deprecated": false,
|
|
"deprecationMessage": ""
|
|
}
|
|
],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"description": "",
|
|
"rawdescription": "\n",
|
|
"sourceCode": "import { Injectable, inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Registration, Aantekening } from './models';\n\n@Injectable({ providedIn: 'root' })\nexport class RegistrationService {\n private http = inject(HttpClient);\n\n getRegistration(): Observable<Registration> {\n return this.http.get<Registration>('mock/registration.json');\n }\n\n getAantekeningen(): Observable<Aantekening[]> {\n return this.http.get<Aantekening[]>('mock/notes.json');\n }\n}\n",
|
|
"extends": [],
|
|
"type": "injectable"
|
|
}
|
|
],
|
|
"guards": [],
|
|
"interceptors": [],
|
|
"classes": [],
|
|
"directives": [],
|
|
"components": [
|
|
{
|
|
"name": "AlertComponent",
|
|
"id": "component-AlertComponent-7d03ee2c0179c2f8d44795112c823951406810027571b5471bc765873f1aeaee550dcb89c6ebd8514ee36f2d96c8c6ba118293bf44a4a1316f61e91fa3c06f4e",
|
|
"file": "src/app/atoms/alert/alert.component.ts",
|
|
"encapsulation": [],
|
|
"entryComponents": [],
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"providers": [],
|
|
"selector": "app-alert",
|
|
"styleUrls": [],
|
|
"styles": [],
|
|
"template": "<div\n class=\"utrecht-alert rhc-alert\"\n [class.utrecht-alert--info]=\"type() === 'info'\"\n [class.utrecht-alert--ok]=\"type() === 'ok'\"\n [class.utrecht-alert--warning]=\"type() === 'warning'\"\n [class.utrecht-alert--error]=\"type() === 'error'\"\n role=\"status\">\n <ng-content />\n</div>\n",
|
|
"templateUrl": [],
|
|
"viewProviders": [],
|
|
"hostDirectives": [],
|
|
"inputsClass": [
|
|
{
|
|
"name": "type",
|
|
"defaultValue": "'info'",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "AlertType",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 21,
|
|
"required": false
|
|
}
|
|
],
|
|
"outputsClass": [],
|
|
"propertiesClass": [],
|
|
"methodsClass": [],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"hostBindings": [],
|
|
"hostListeners": [],
|
|
"standalone": false,
|
|
"imports": [],
|
|
"description": "<p>Atom: alert/message banner.</p>\n",
|
|
"rawdescription": "\nAtom: alert/message banner.",
|
|
"type": "component",
|
|
"sourceCode": "import { Component, input } from '@angular/core';\n\ntype AlertType = 'info' | 'ok' | 'warning' | 'error';\n\n/** Atom: alert/message banner. */\n@Component({\n selector: 'app-alert',\n template: `\n <div\n class=\"utrecht-alert rhc-alert\"\n [class.utrecht-alert--info]=\"type() === 'info'\"\n [class.utrecht-alert--ok]=\"type() === 'ok'\"\n [class.utrecht-alert--warning]=\"type() === 'warning'\"\n [class.utrecht-alert--error]=\"type() === 'error'\"\n role=\"status\">\n <ng-content />\n </div>\n `,\n})\nexport class AlertComponent {\n type = input<AlertType>('info');\n}\n",
|
|
"assetsDirs": [],
|
|
"styleUrlsData": "",
|
|
"stylesData": "",
|
|
"extends": []
|
|
},
|
|
{
|
|
"name": "App",
|
|
"id": "component-App-a5889755e6aaa6ebd2f471f1253c27e411d38a42361e18619621ef0e6c5a91de3cf6ba4ace13bbe1756691f1f5e80728717fd18aab2cef50180bd579fa218a6d",
|
|
"file": "src/app/app.ts",
|
|
"encapsulation": [],
|
|
"entryComponents": [],
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"providers": [],
|
|
"selector": "app-root",
|
|
"styleUrls": [],
|
|
"styles": [],
|
|
"template": "<router-outlet />",
|
|
"templateUrl": [],
|
|
"viewProviders": [],
|
|
"hostDirectives": [],
|
|
"inputsClass": [],
|
|
"outputsClass": [],
|
|
"propertiesClass": [],
|
|
"methodsClass": [],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"hostBindings": [],
|
|
"hostListeners": [],
|
|
"standalone": false,
|
|
"imports": [
|
|
{
|
|
"name": "RouterOutlet"
|
|
}
|
|
],
|
|
"description": "",
|
|
"rawdescription": "\n",
|
|
"type": "component",
|
|
"sourceCode": "import { Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'app-root',\n imports: [RouterOutlet],\n template: '<router-outlet />',\n})\nexport class App {}\n",
|
|
"assetsDirs": [],
|
|
"styleUrlsData": "",
|
|
"stylesData": "",
|
|
"extends": []
|
|
},
|
|
{
|
|
"name": "ButtonComponent",
|
|
"id": "component-ButtonComponent-6eb936521438d91cc3a2276d1b8e366496e907e8a01d7b84b327c3cc31fa1dfadbb9502c6646472736722cf7ced9950fcaa4d8435ddf28224b3e7c9b7bd29505",
|
|
"file": "src/app/atoms/button/button.component.ts",
|
|
"encapsulation": [],
|
|
"entryComponents": [],
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"providers": [],
|
|
"selector": "app-button",
|
|
"styleUrls": [],
|
|
"styles": [],
|
|
"template": "<button\n [type]=\"type()\"\n [disabled]=\"disabled()\"\n class=\"utrecht-button rhc-button\"\n [class.utrecht-button--primary-action]=\"variant() === 'primary'\"\n [class.utrecht-button--secondary-action]=\"variant() === 'secondary'\"\n [class.utrecht-button--subtle]=\"variant() === 'subtle'\"\n [class.utrecht-button--danger]=\"variant() === 'danger'\"\n [class.utrecht-button--disabled]=\"disabled()\">\n <ng-content />\n</button>\n",
|
|
"templateUrl": [],
|
|
"viewProviders": [],
|
|
"hostDirectives": [],
|
|
"inputsClass": [
|
|
{
|
|
"name": "disabled",
|
|
"defaultValue": "false",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 25,
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "type",
|
|
"defaultValue": "'button'",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "\"button\" | \"submit\"",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 24,
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "variant",
|
|
"defaultValue": "'primary'",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "Variant",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 23,
|
|
"required": false
|
|
}
|
|
],
|
|
"outputsClass": [],
|
|
"propertiesClass": [],
|
|
"methodsClass": [],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"hostBindings": [],
|
|
"hostListeners": [],
|
|
"standalone": false,
|
|
"imports": [],
|
|
"description": "<p>Atom: button. Thin wrapper over the Utrecht/RHC button CSS.</p>\n",
|
|
"rawdescription": "\nAtom: button. Thin wrapper over the Utrecht/RHC button CSS.",
|
|
"type": "component",
|
|
"sourceCode": "import { Component, input } from '@angular/core';\n\ntype Variant = 'primary' | 'secondary' | 'subtle' | 'danger';\n\n/** Atom: button. Thin wrapper over the Utrecht/RHC button CSS. */\n@Component({\n selector: 'app-button',\n template: `\n <button\n [type]=\"type()\"\n [disabled]=\"disabled()\"\n class=\"utrecht-button rhc-button\"\n [class.utrecht-button--primary-action]=\"variant() === 'primary'\"\n [class.utrecht-button--secondary-action]=\"variant() === 'secondary'\"\n [class.utrecht-button--subtle]=\"variant() === 'subtle'\"\n [class.utrecht-button--danger]=\"variant() === 'danger'\"\n [class.utrecht-button--disabled]=\"disabled()\">\n <ng-content />\n </button>\n `,\n})\nexport class ButtonComponent {\n variant = input<Variant>('primary');\n type = input<'button' | 'submit'>('button');\n disabled = input(false);\n}\n",
|
|
"assetsDirs": [],
|
|
"styleUrlsData": "",
|
|
"stylesData": "",
|
|
"extends": []
|
|
},
|
|
{
|
|
"name": "ChangeRequestFormComponent",
|
|
"id": "component-ChangeRequestFormComponent-81277b5d39f6d8389da0d8313e3b14f50df8058e30513eca8776b01c490aed300ca483ab7ea00363d41e0a98360a792cc030698f4bf3918e14719ce4b08f64fa",
|
|
"file": "src/app/organisms/change-request-form/change-request-form.component.ts",
|
|
"encapsulation": [],
|
|
"entryComponents": [],
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"providers": [],
|
|
"selector": "app-change-request-form",
|
|
"styleUrls": [],
|
|
"styles": [],
|
|
"template": "<app-heading [level]=\"2\">Adreswijziging doorgeven</app-heading>\n<form (ngSubmit)=\"onSubmit()\" style=\"max-width:28rem\">\n <app-form-field label=\"Straat en huisnummer\" fieldId=\"street\" [error]=\"streetError()\">\n <app-text-input inputId=\"street\" [(ngModel)]=\"street\" name=\"street\" [invalid]=\"!!streetError()\" />\n </app-form-field>\n <app-form-field label=\"Postcode\" fieldId=\"zip\">\n <app-text-input inputId=\"zip\" [(ngModel)]=\"zip\" name=\"zip\" placeholder=\"1234 AB\" />\n </app-form-field>\n <app-form-field label=\"Woonplaats\" fieldId=\"city\">\n <app-text-input inputId=\"city\" [(ngModel)]=\"city\" name=\"city\" />\n </app-form-field>\n <div style=\"margin-top:1rem\">\n <app-button type=\"submit\" variant=\"primary\">Wijziging indienen</app-button>\n </div>\n</form>\n",
|
|
"templateUrl": [],
|
|
"viewProviders": [],
|
|
"hostDirectives": [],
|
|
"inputsClass": [],
|
|
"outputsClass": [
|
|
{
|
|
"name": "submitted",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "void",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 36,
|
|
"required": false
|
|
}
|
|
],
|
|
"propertiesClass": [
|
|
{
|
|
"name": "city",
|
|
"defaultValue": "''",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 34
|
|
},
|
|
{
|
|
"name": "street",
|
|
"defaultValue": "''",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 32
|
|
},
|
|
{
|
|
"name": "streetError",
|
|
"defaultValue": "signal('')",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "unknown",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 35
|
|
},
|
|
{
|
|
"name": "zip",
|
|
"defaultValue": "''",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 33
|
|
}
|
|
],
|
|
"methodsClass": [
|
|
{
|
|
"name": "onSubmit",
|
|
"args": [],
|
|
"optional": false,
|
|
"returnType": "void",
|
|
"typeParameters": [],
|
|
"line": 38,
|
|
"deprecated": false,
|
|
"deprecationMessage": ""
|
|
}
|
|
],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"hostBindings": [],
|
|
"hostListeners": [],
|
|
"standalone": false,
|
|
"imports": [
|
|
{
|
|
"name": "FormsModule",
|
|
"type": "module"
|
|
},
|
|
{
|
|
"name": "FormFieldComponent",
|
|
"type": "component"
|
|
},
|
|
{
|
|
"name": "TextInputComponent",
|
|
"type": "component"
|
|
},
|
|
{
|
|
"name": "ButtonComponent",
|
|
"type": "component"
|
|
},
|
|
{
|
|
"name": "HeadingComponent",
|
|
"type": "component"
|
|
}
|
|
],
|
|
"description": "<p>Organism: change-request (adreswijziging) form. Reuses the same form-field\nmolecule + text-input/button atoms as the login form.</p>\n",
|
|
"rawdescription": "\nOrganism: change-request (adreswijziging) form. Reuses the same form-field\nmolecule + text-input/button atoms as the login form.",
|
|
"type": "component",
|
|
"sourceCode": "import { Component, output, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { FormFieldComponent } from '../../molecules/form-field/form-field.component';\nimport { TextInputComponent } from '../../atoms/text-input/text-input.component';\nimport { ButtonComponent } from '../../atoms/button/button.component';\nimport { HeadingComponent } from '../../atoms/heading/heading.component';\n\n/** Organism: change-request (adreswijziging) form. Reuses the same form-field\n molecule + text-input/button atoms as the login form. */\n@Component({\n selector: 'app-change-request-form',\n imports: [FormsModule, FormFieldComponent, TextInputComponent, ButtonComponent, HeadingComponent],\n template: `\n <app-heading [level]=\"2\">Adreswijziging doorgeven</app-heading>\n <form (ngSubmit)=\"onSubmit()\" style=\"max-width:28rem\">\n <app-form-field label=\"Straat en huisnummer\" fieldId=\"street\" [error]=\"streetError()\">\n <app-text-input inputId=\"street\" [(ngModel)]=\"street\" name=\"street\" [invalid]=\"!!streetError()\" />\n </app-form-field>\n <app-form-field label=\"Postcode\" fieldId=\"zip\">\n <app-text-input inputId=\"zip\" [(ngModel)]=\"zip\" name=\"zip\" placeholder=\"1234 AB\" />\n </app-form-field>\n <app-form-field label=\"Woonplaats\" fieldId=\"city\">\n <app-text-input inputId=\"city\" [(ngModel)]=\"city\" name=\"city\" />\n </app-form-field>\n <div style=\"margin-top:1rem\">\n <app-button type=\"submit\" variant=\"primary\">Wijziging indienen</app-button>\n </div>\n </form>\n `,\n})\nexport class ChangeRequestFormComponent {\n street = '';\n zip = '';\n city = '';\n streetError = signal('');\n submitted = output<void>();\n\n onSubmit() {\n if (!this.street.trim()) { this.streetError.set('Vul straat en huisnummer in.'); return; }\n this.streetError.set('');\n this.submitted.emit();\n }\n}\n",
|
|
"assetsDirs": [],
|
|
"styleUrlsData": "",
|
|
"stylesData": "",
|
|
"extends": []
|
|
},
|
|
{
|
|
"name": "DashboardPage",
|
|
"id": "component-DashboardPage-19084a8e5fb5e2539b690f3df46c4d7b9e30e6194b619a119113b3528c732259cd43608a582ad6356673a06802d7c741fcd8900d619a2641581adc22496aa404",
|
|
"file": "src/app/pages/dashboard/dashboard.page.ts",
|
|
"encapsulation": [],
|
|
"entryComponents": [],
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"providers": [],
|
|
"selector": "app-dashboard-page",
|
|
"styleUrls": [],
|
|
"styles": [],
|
|
"template": "<app-page-layout>\n <app-heading [level]=\"1\">Mijn BIG-registratie</app-heading>\n\n @if (reg$ | async; as reg) {\n <app-registration-summary [reg]=\"reg\" />\n }\n\n <div style=\"margin-top:2rem\">\n <app-heading [level]=\"2\">Specialismen en aantekeningen</app-heading>\n @if (notes$ | async; as notes) {\n <app-registration-table [rows]=\"notes\" />\n }\n </div>\n\n <p style=\"margin-top:2rem\">\n <app-link to=\"/registratie\">Gegevens bekijken of een wijziging doorgeven →</app-link>\n </p>\n</app-page-layout>\n",
|
|
"templateUrl": [],
|
|
"viewProviders": [],
|
|
"hostDirectives": [],
|
|
"inputsClass": [],
|
|
"outputsClass": [],
|
|
"propertiesClass": [
|
|
{
|
|
"name": "notes$",
|
|
"defaultValue": "this.svc.getAantekeningen()",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "unknown",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 37
|
|
},
|
|
{
|
|
"name": "reg$",
|
|
"defaultValue": "this.svc.getRegistration()",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "unknown",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 36
|
|
},
|
|
{
|
|
"name": "svc",
|
|
"defaultValue": "inject(RegistrationService)",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "unknown",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 35,
|
|
"modifierKind": [
|
|
123
|
|
]
|
|
}
|
|
],
|
|
"methodsClass": [],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"hostBindings": [],
|
|
"hostListeners": [],
|
|
"standalone": false,
|
|
"imports": [
|
|
{
|
|
"name": "AsyncPipe",
|
|
"type": "pipe"
|
|
},
|
|
{
|
|
"name": "PageLayoutComponent",
|
|
"type": "component"
|
|
},
|
|
{
|
|
"name": "HeadingComponent",
|
|
"type": "component"
|
|
},
|
|
{
|
|
"name": "LinkComponent",
|
|
"type": "component"
|
|
},
|
|
{
|
|
"name": "RegistrationSummaryComponent",
|
|
"type": "component"
|
|
},
|
|
{
|
|
"name": "RegistrationTableComponent",
|
|
"type": "component"
|
|
}
|
|
],
|
|
"description": "",
|
|
"rawdescription": "\n",
|
|
"type": "component",
|
|
"sourceCode": "import { Component, inject } from '@angular/core';\nimport { AsyncPipe } from '@angular/common';\nimport { PageLayoutComponent } from '../../templates/page-layout/page-layout.component';\nimport { HeadingComponent } from '../../atoms/heading/heading.component';\nimport { LinkComponent } from '../../atoms/link/link.component';\nimport { RegistrationSummaryComponent } from '../../organisms/registration-summary/registration-summary.component';\nimport { RegistrationTableComponent } from '../../organisms/registration-table/registration-table.component';\nimport { RegistrationService } from '../../core/registration.service';\n\n@Component({\n selector: 'app-dashboard-page',\n imports: [AsyncPipe, PageLayoutComponent, HeadingComponent, LinkComponent, RegistrationSummaryComponent, RegistrationTableComponent],\n template: `\n <app-page-layout>\n <app-heading [level]=\"1\">Mijn BIG-registratie</app-heading>\n\n @if (reg$ | async; as reg) {\n <app-registration-summary [reg]=\"reg\" />\n }\n\n <div style=\"margin-top:2rem\">\n <app-heading [level]=\"2\">Specialismen en aantekeningen</app-heading>\n @if (notes$ | async; as notes) {\n <app-registration-table [rows]=\"notes\" />\n }\n </div>\n\n <p style=\"margin-top:2rem\">\n <app-link to=\"/registratie\">Gegevens bekijken of een wijziging doorgeven →</app-link>\n </p>\n </app-page-layout>\n `,\n})\nexport class DashboardPage {\n private svc = inject(RegistrationService);\n reg$ = this.svc.getRegistration();\n notes$ = this.svc.getAantekeningen();\n}\n",
|
|
"assetsDirs": [],
|
|
"styleUrlsData": "",
|
|
"stylesData": "",
|
|
"extends": []
|
|
},
|
|
{
|
|
"name": "DataRowComponent",
|
|
"id": "component-DataRowComponent-bf012e0b5e277c5c6d53311a7649373316677ab4f6d5ba0b313f5eaeb5a061ea55cb08b0af237c487dcc3be5b15014d5c2b21b6f6903ff7689881fc8607eb1b2",
|
|
"file": "src/app/molecules/data-row/data-row.component.ts",
|
|
"encapsulation": [],
|
|
"entryComponents": [],
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"providers": [],
|
|
"selector": "app-data-row",
|
|
"styleUrls": [],
|
|
"styles": [],
|
|
"template": "<div class=\"rhc-data-summary__item\">\n <dt class=\"rhc-data-summary__item-key\">{{ key() }}</dt>\n <dd class=\"rhc-data-summary__item-value\"><ng-content>{{ value() }}</ng-content></dd>\n</div>\n",
|
|
"templateUrl": [],
|
|
"viewProviders": [],
|
|
"hostDirectives": [],
|
|
"inputsClass": [
|
|
{
|
|
"name": "key",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 15,
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "value",
|
|
"defaultValue": "''",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string | null",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 16,
|
|
"required": false
|
|
}
|
|
],
|
|
"outputsClass": [],
|
|
"propertiesClass": [],
|
|
"methodsClass": [],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"hostBindings": [],
|
|
"hostListeners": [],
|
|
"standalone": false,
|
|
"imports": [],
|
|
"description": "<p>Molecule: one key/value row inside an RHC data-summary.\nWrap several of these in .rhc-data-summary (see registration-summary).</p>\n",
|
|
"rawdescription": "\nMolecule: one key/value row inside an RHC data-summary.\nWrap several of these in .rhc-data-summary (see registration-summary).",
|
|
"type": "component",
|
|
"sourceCode": "import { Component, input } from '@angular/core';\n\n/** Molecule: one key/value row inside an RHC data-summary.\n Wrap several of these in .rhc-data-summary (see registration-summary). */\n@Component({\n selector: 'app-data-row',\n template: `\n <div class=\"rhc-data-summary__item\">\n <dt class=\"rhc-data-summary__item-key\">{{ key() }}</dt>\n <dd class=\"rhc-data-summary__item-value\"><ng-content>{{ value() }}</ng-content></dd>\n </div>\n `,\n})\nexport class DataRowComponent {\n key = input.required<string>();\n value = input<string | null>('');\n}\n",
|
|
"assetsDirs": [],
|
|
"styleUrlsData": "",
|
|
"stylesData": "",
|
|
"extends": []
|
|
},
|
|
{
|
|
"name": "FormFieldComponent",
|
|
"id": "component-FormFieldComponent-9f7fb7fac967056161f8440bccbd87825bc2897463f63a612a12ac6154cfaa4e17a2a6469fbe936deba74319ac6029c6aa024abfc07095b226f5980e654cb12c",
|
|
"file": "src/app/molecules/form-field/form-field.component.ts",
|
|
"encapsulation": [],
|
|
"entryComponents": [],
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"providers": [],
|
|
"selector": "app-form-field",
|
|
"styleUrls": [],
|
|
"styles": [],
|
|
"template": "<div class=\"rhc-form-field utrecht-form-field\" [class.utrecht-form-field--invalid]=\"!!error()\">\n <label class=\"utrecht-form-label\" [for]=\"fieldId()\">{{ label() }}</label>\n @if (description()) {\n <div class=\"utrecht-form-field-description\">{{ description() }}</div>\n }\n <ng-content />\n @if (error()) {\n <div class=\"utrecht-form-field-error-message\" role=\"alert\">{{ error() }}</div>\n }\n</div>\n",
|
|
"templateUrl": [],
|
|
"viewProviders": [],
|
|
"hostDirectives": [],
|
|
"inputsClass": [
|
|
{
|
|
"name": "description",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 23,
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "error",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 24,
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "fieldId",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 22,
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "label",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 21,
|
|
"required": true
|
|
}
|
|
],
|
|
"outputsClass": [],
|
|
"propertiesClass": [],
|
|
"methodsClass": [],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"hostBindings": [],
|
|
"hostListeners": [],
|
|
"standalone": false,
|
|
"imports": [],
|
|
"description": "<p>Molecule: form field = label + projected control + optional error/description.\nReused by both the login form and the change-request form.</p>\n",
|
|
"rawdescription": "\nMolecule: form field = label + projected control + optional error/description.\nReused by both the login form and the change-request form.",
|
|
"type": "component",
|
|
"sourceCode": "import { Component, input } from '@angular/core';\n\n/** Molecule: form field = label + projected control + optional error/description.\n Reused by both the login form and the change-request form. */\n@Component({\n selector: 'app-form-field',\n template: `\n <div class=\"rhc-form-field utrecht-form-field\" [class.utrecht-form-field--invalid]=\"!!error()\">\n <label class=\"utrecht-form-label\" [for]=\"fieldId()\">{{ label() }}</label>\n @if (description()) {\n <div class=\"utrecht-form-field-description\">{{ description() }}</div>\n }\n <ng-content />\n @if (error()) {\n <div class=\"utrecht-form-field-error-message\" role=\"alert\">{{ error() }}</div>\n }\n </div>\n `,\n})\nexport class FormFieldComponent {\n label = input.required<string>();\n fieldId = input.required<string>();\n description = input<string>();\n error = input<string>();\n}\n",
|
|
"assetsDirs": [],
|
|
"styleUrlsData": "",
|
|
"stylesData": "",
|
|
"extends": []
|
|
},
|
|
{
|
|
"name": "HeadingComponent",
|
|
"id": "component-HeadingComponent-dd6481ed78575bd2b94402bca9393970625d00c82519874b750b121317b776eeffba477c24eff95dc07a1fb77990ad12eee11c678dfe83611f6d658a01b66a10",
|
|
"file": "src/app/atoms/heading/heading.component.ts",
|
|
"encapsulation": [],
|
|
"entryComponents": [],
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"providers": [],
|
|
"selector": "app-heading",
|
|
"styleUrls": [],
|
|
"styles": [],
|
|
"template": "@switch (level()) {\n @case (1) { <h1 class=\"rhc-heading nl-heading--level-1\"><ng-content /></h1> }\n @case (2) { <h2 class=\"rhc-heading nl-heading--level-2\"><ng-content /></h2> }\n @case (3) { <h3 class=\"rhc-heading nl-heading--level-3\"><ng-content /></h3> }\n @case (4) { <h4 class=\"rhc-heading nl-heading--level-4\"><ng-content /></h4> }\n @default { <h5 class=\"rhc-heading nl-heading--level-5\"><ng-content /></h5> }\n}\n",
|
|
"templateUrl": [],
|
|
"viewProviders": [],
|
|
"hostDirectives": [],
|
|
"inputsClass": [
|
|
{
|
|
"name": "level",
|
|
"defaultValue": "2",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "1 | 2 | 3 | 4 | 5",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 17,
|
|
"required": false
|
|
}
|
|
],
|
|
"outputsClass": [],
|
|
"propertiesClass": [],
|
|
"methodsClass": [],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"hostBindings": [],
|
|
"hostListeners": [],
|
|
"standalone": false,
|
|
"imports": [],
|
|
"description": "<p>Atom: heading. Renders the right h1..h5 with RHC heading styling.</p>\n",
|
|
"rawdescription": "\nAtom: heading. Renders the right h1..h5 with RHC heading styling.",
|
|
"type": "component",
|
|
"sourceCode": "import { Component, input } from '@angular/core';\n\n/** Atom: heading. Renders the right h1..h5 with RHC heading styling. */\n@Component({\n selector: 'app-heading',\n template: `\n @switch (level()) {\n @case (1) { <h1 class=\"rhc-heading nl-heading--level-1\"><ng-content /></h1> }\n @case (2) { <h2 class=\"rhc-heading nl-heading--level-2\"><ng-content /></h2> }\n @case (3) { <h3 class=\"rhc-heading nl-heading--level-3\"><ng-content /></h3> }\n @case (4) { <h4 class=\"rhc-heading nl-heading--level-4\"><ng-content /></h4> }\n @default { <h5 class=\"rhc-heading nl-heading--level-5\"><ng-content /></h5> }\n }\n `,\n})\nexport class HeadingComponent {\n level = input<1 | 2 | 3 | 4 | 5>(2);\n}\n",
|
|
"assetsDirs": [],
|
|
"styleUrlsData": "",
|
|
"stylesData": "",
|
|
"extends": []
|
|
},
|
|
{
|
|
"name": "LinkComponent",
|
|
"id": "component-LinkComponent-81d97782386b884f56c43d583cbf6d1005dda96974f169366a9af853aeb8b8f4e99f9cce2f9a7ef0fdafce32f51e6049483a44ab35614c486f82535b65ce2818",
|
|
"file": "src/app/atoms/link/link.component.ts",
|
|
"encapsulation": [],
|
|
"entryComponents": [],
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"providers": [],
|
|
"selector": "app-link",
|
|
"styleUrls": [],
|
|
"styles": [],
|
|
"template": "<a [routerLink]=\"to()\" class=\"rhc-link nl-link utrecht-link\"><ng-content /></a>",
|
|
"templateUrl": [],
|
|
"viewProviders": [],
|
|
"hostDirectives": [],
|
|
"inputsClass": [
|
|
{
|
|
"name": "to",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 11,
|
|
"required": true
|
|
}
|
|
],
|
|
"outputsClass": [],
|
|
"propertiesClass": [],
|
|
"methodsClass": [],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"hostBindings": [],
|
|
"hostListeners": [],
|
|
"standalone": false,
|
|
"imports": [
|
|
{
|
|
"name": "RouterLink"
|
|
}
|
|
],
|
|
"description": "<p>Atom: link. Internal router link styled as an RHC/Utrecht link.</p>\n",
|
|
"rawdescription": "\nAtom: link. Internal router link styled as an RHC/Utrecht link.",
|
|
"type": "component",
|
|
"sourceCode": "import { Component, input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\n\n/** Atom: link. Internal router link styled as an RHC/Utrecht link. */\n@Component({\n selector: 'app-link',\n imports: [RouterLink],\n template: `<a [routerLink]=\"to()\" class=\"rhc-link nl-link utrecht-link\"><ng-content /></a>`,\n})\nexport class LinkComponent {\n to = input.required<string>();\n}\n",
|
|
"assetsDirs": [],
|
|
"styleUrlsData": "",
|
|
"stylesData": "",
|
|
"extends": []
|
|
},
|
|
{
|
|
"name": "LoginFormComponent",
|
|
"id": "component-LoginFormComponent-da74a7fb3744fc3f15a9ce619398901ae87d71828357d6ac859efc66fac2a719775242f52a74b18094846c25f96708d539b2f0e42f50443076c041469e1b40c9",
|
|
"file": "src/app/organisms/login-form/login-form.component.ts",
|
|
"encapsulation": [],
|
|
"entryComponents": [],
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"providers": [],
|
|
"selector": "app-login-form",
|
|
"styleUrls": [],
|
|
"styles": [],
|
|
"template": "<form (ngSubmit)=\"submit.emit()\" style=\"max-width:24rem\">\n <app-heading [level]=\"1\">Inloggen</app-heading>\n <p class=\"rhc-paragraph\">Log in op uw persoonlijke BIG-register omgeving.</p>\n\n <app-form-field label=\"BSN\" fieldId=\"bsn\" description=\"9 cijfers (demo: vul iets in)\">\n <app-text-input inputId=\"bsn\" [(ngModel)]=\"bsn\" name=\"bsn\" placeholder=\"123456789\" />\n </app-form-field>\n\n <app-form-field label=\"Wachtwoord\" fieldId=\"pw\">\n <app-text-input inputId=\"pw\" type=\"password\" [(ngModel)]=\"password\" name=\"pw\" />\n </app-form-field>\n\n <div style=\"margin-top:1rem\">\n <app-button type=\"submit\" variant=\"primary\">Inloggen met DigiD</app-button>\n </div>\n</form>\n",
|
|
"templateUrl": [],
|
|
"viewProviders": [],
|
|
"hostDirectives": [],
|
|
"inputsClass": [],
|
|
"outputsClass": [
|
|
{
|
|
"name": "submit",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "void",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 34,
|
|
"required": false
|
|
}
|
|
],
|
|
"propertiesClass": [
|
|
{
|
|
"name": "bsn",
|
|
"defaultValue": "''",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 32
|
|
},
|
|
{
|
|
"name": "password",
|
|
"defaultValue": "''",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 33
|
|
}
|
|
],
|
|
"methodsClass": [],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"hostBindings": [],
|
|
"hostListeners": [],
|
|
"standalone": false,
|
|
"imports": [
|
|
{
|
|
"name": "FormsModule",
|
|
"type": "module"
|
|
},
|
|
{
|
|
"name": "FormFieldComponent",
|
|
"type": "component"
|
|
},
|
|
{
|
|
"name": "TextInputComponent",
|
|
"type": "component"
|
|
},
|
|
{
|
|
"name": "ButtonComponent",
|
|
"type": "component"
|
|
},
|
|
{
|
|
"name": "HeadingComponent",
|
|
"type": "component"
|
|
}
|
|
],
|
|
"description": "<p>Organism: DigiD-style mock login. No real auth — just composes atoms/molecules.</p>\n",
|
|
"rawdescription": "\nOrganism: DigiD-style mock login. No real auth — just composes atoms/molecules.",
|
|
"type": "component",
|
|
"sourceCode": "import { Component, output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { FormFieldComponent } from '../../molecules/form-field/form-field.component';\nimport { TextInputComponent } from '../../atoms/text-input/text-input.component';\nimport { ButtonComponent } from '../../atoms/button/button.component';\nimport { HeadingComponent } from '../../atoms/heading/heading.component';\n\n/** Organism: DigiD-style mock login. No real auth — just composes atoms/molecules. */\n@Component({\n selector: 'app-login-form',\n imports: [FormsModule, FormFieldComponent, TextInputComponent, ButtonComponent, HeadingComponent],\n template: `\n <form (ngSubmit)=\"submit.emit()\" style=\"max-width:24rem\">\n <app-heading [level]=\"1\">Inloggen</app-heading>\n <p class=\"rhc-paragraph\">Log in op uw persoonlijke BIG-register omgeving.</p>\n\n <app-form-field label=\"BSN\" fieldId=\"bsn\" description=\"9 cijfers (demo: vul iets in)\">\n <app-text-input inputId=\"bsn\" [(ngModel)]=\"bsn\" name=\"bsn\" placeholder=\"123456789\" />\n </app-form-field>\n\n <app-form-field label=\"Wachtwoord\" fieldId=\"pw\">\n <app-text-input inputId=\"pw\" type=\"password\" [(ngModel)]=\"password\" name=\"pw\" />\n </app-form-field>\n\n <div style=\"margin-top:1rem\">\n <app-button type=\"submit\" variant=\"primary\">Inloggen met DigiD</app-button>\n </div>\n </form>\n `,\n})\nexport class LoginFormComponent {\n bsn = '';\n password = '';\n submit = output<void>();\n}\n",
|
|
"assetsDirs": [],
|
|
"styleUrlsData": "",
|
|
"stylesData": "",
|
|
"extends": []
|
|
},
|
|
{
|
|
"name": "LoginPage",
|
|
"id": "component-LoginPage-5a16ef82d7e89717373df4c887dd02a573fb48c2529540e1a60b2205f7a971c4180f68fb069750bb9f704d1b50f04024f6ae5121e0dfff74fb7ccb5085a714c7",
|
|
"file": "src/app/pages/login/login.page.ts",
|
|
"encapsulation": [],
|
|
"entryComponents": [],
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"providers": [],
|
|
"selector": "app-login-page",
|
|
"styleUrls": [],
|
|
"styles": [],
|
|
"template": "<app-page-layout>\n <app-login-form (submit)=\"login()\" />\n</app-page-layout>\n",
|
|
"templateUrl": [],
|
|
"viewProviders": [],
|
|
"hostDirectives": [],
|
|
"inputsClass": [],
|
|
"outputsClass": [],
|
|
"propertiesClass": [
|
|
{
|
|
"name": "router",
|
|
"defaultValue": "inject(Router)",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "unknown",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 16,
|
|
"modifierKind": [
|
|
123
|
|
]
|
|
}
|
|
],
|
|
"methodsClass": [
|
|
{
|
|
"name": "login",
|
|
"args": [],
|
|
"optional": false,
|
|
"returnType": "void",
|
|
"typeParameters": [],
|
|
"line": 17,
|
|
"deprecated": false,
|
|
"deprecationMessage": ""
|
|
}
|
|
],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"hostBindings": [],
|
|
"hostListeners": [],
|
|
"standalone": false,
|
|
"imports": [
|
|
{
|
|
"name": "PageLayoutComponent",
|
|
"type": "component"
|
|
},
|
|
{
|
|
"name": "LoginFormComponent",
|
|
"type": "component"
|
|
}
|
|
],
|
|
"description": "",
|
|
"rawdescription": "\n",
|
|
"type": "component",
|
|
"sourceCode": "import { Component, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { PageLayoutComponent } from '../../templates/page-layout/page-layout.component';\nimport { LoginFormComponent } from '../../organisms/login-form/login-form.component';\n\n@Component({\n selector: 'app-login-page',\n imports: [PageLayoutComponent, LoginFormComponent],\n template: `\n <app-page-layout>\n <app-login-form (submit)=\"login()\" />\n </app-page-layout>\n `,\n})\nexport class LoginPage {\n private router = inject(Router);\n login() { this.router.navigate(['/dashboard']); }\n}\n",
|
|
"assetsDirs": [],
|
|
"styleUrlsData": "",
|
|
"stylesData": "",
|
|
"extends": []
|
|
},
|
|
{
|
|
"name": "PageLayoutComponent",
|
|
"id": "component-PageLayoutComponent-784f601fe164e2ffc90b8d66eb224bb86616cc1928d5ffae5e954be4144bc9c13c3995cfb5185c472a833a8ef036b380c3cc47deb85b3393c5523eadfb9fdf4c",
|
|
"file": "src/app/templates/page-layout/page-layout.component.ts",
|
|
"encapsulation": [],
|
|
"entryComponents": [],
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"providers": [],
|
|
"selector": "app-page-layout",
|
|
"styleUrls": [],
|
|
"styles": [],
|
|
"template": "<a href=\"#main\" class=\"rhc-skip-link\" style=\"position:absolute;left:-999px\">Naar de inhoud</a>\n<div class=\"utrecht-page-layout\" style=\"display:flex;flex-direction:column;min-height:100vh\">\n <app-site-header />\n <main id=\"main\" class=\"utrecht-page-content\" style=\"flex:1;max-width:64rem;width:100%;margin:0 auto;padding:2rem 1.5rem;box-sizing:border-box\">\n <ng-content />\n </main>\n <app-site-footer />\n</div>\n",
|
|
"templateUrl": [],
|
|
"viewProviders": [],
|
|
"hostDirectives": [],
|
|
"inputsClass": [],
|
|
"outputsClass": [],
|
|
"propertiesClass": [],
|
|
"methodsClass": [],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"hostBindings": [],
|
|
"hostListeners": [],
|
|
"standalone": false,
|
|
"imports": [
|
|
{
|
|
"name": "SiteHeaderComponent",
|
|
"type": "component"
|
|
},
|
|
{
|
|
"name": "SiteFooterComponent",
|
|
"type": "component"
|
|
}
|
|
],
|
|
"description": "<p>Template: header + centered content + footer. Wraps every page.</p>\n",
|
|
"rawdescription": "\nTemplate: header + centered content + footer. Wraps every page.",
|
|
"type": "component",
|
|
"sourceCode": "import { Component } from '@angular/core';\nimport { SiteHeaderComponent } from '../../organisms/site-header/site-header.component';\nimport { SiteFooterComponent } from '../../organisms/site-footer/site-footer.component';\n\n/** Template: header + centered content + footer. Wraps every page. */\n@Component({\n selector: 'app-page-layout',\n imports: [SiteHeaderComponent, SiteFooterComponent],\n template: `\n <a href=\"#main\" class=\"rhc-skip-link\" style=\"position:absolute;left:-999px\">Naar de inhoud</a>\n <div class=\"utrecht-page-layout\" style=\"display:flex;flex-direction:column;min-height:100vh\">\n <app-site-header />\n <main id=\"main\" class=\"utrecht-page-content\" style=\"flex:1;max-width:64rem;width:100%;margin:0 auto;padding:2rem 1.5rem;box-sizing:border-box\">\n <ng-content />\n </main>\n <app-site-footer />\n </div>\n `,\n})\nexport class PageLayoutComponent {}\n",
|
|
"assetsDirs": [],
|
|
"styleUrlsData": "",
|
|
"stylesData": "",
|
|
"extends": []
|
|
},
|
|
{
|
|
"name": "RegistrationDetailPage",
|
|
"id": "component-RegistrationDetailPage-83fe905f772b92eb3dfe113706becf0888d5e66b0af5376d769f8aeac2e8c41152512488fdff2a42cf0a4c3049840684e9b5872e6e380e355d7a6adc2b425508",
|
|
"file": "src/app/pages/registration-detail/registration-detail.page.ts",
|
|
"encapsulation": [],
|
|
"entryComponents": [],
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"providers": [],
|
|
"selector": "app-registration-detail-page",
|
|
"styleUrls": [],
|
|
"styles": [],
|
|
"template": "<app-page-layout>\n <p><app-link to=\"/dashboard\">← Terug naar overzicht</app-link></p>\n <app-heading [level]=\"1\">Mijn gegevens</app-heading>\n\n @if (reg$ | async; as reg) {\n <app-registration-summary [reg]=\"reg\" />\n }\n\n <div style=\"margin-top:2rem\">\n @if (submitted()) {\n <app-alert type=\"ok\">Uw adreswijziging is ontvangen. U ontvangt binnen 5 werkdagen bericht.</app-alert>\n } @else {\n <app-change-request-form (submitted)=\"submitted.set(true)\" />\n }\n </div>\n</app-page-layout>\n",
|
|
"templateUrl": [],
|
|
"viewProviders": [],
|
|
"hostDirectives": [],
|
|
"inputsClass": [],
|
|
"outputsClass": [],
|
|
"propertiesClass": [
|
|
{
|
|
"name": "reg$",
|
|
"defaultValue": "this.svc.getRegistration()",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "unknown",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 35
|
|
},
|
|
{
|
|
"name": "submitted",
|
|
"defaultValue": "signal(false)",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "unknown",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 36
|
|
},
|
|
{
|
|
"name": "svc",
|
|
"defaultValue": "inject(RegistrationService)",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "unknown",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 34,
|
|
"modifierKind": [
|
|
123
|
|
]
|
|
}
|
|
],
|
|
"methodsClass": [],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"hostBindings": [],
|
|
"hostListeners": [],
|
|
"standalone": false,
|
|
"imports": [
|
|
{
|
|
"name": "AsyncPipe",
|
|
"type": "pipe"
|
|
},
|
|
{
|
|
"name": "PageLayoutComponent",
|
|
"type": "component"
|
|
},
|
|
{
|
|
"name": "HeadingComponent",
|
|
"type": "component"
|
|
},
|
|
{
|
|
"name": "LinkComponent",
|
|
"type": "component"
|
|
},
|
|
{
|
|
"name": "AlertComponent",
|
|
"type": "component"
|
|
},
|
|
{
|
|
"name": "RegistrationSummaryComponent",
|
|
"type": "component"
|
|
},
|
|
{
|
|
"name": "ChangeRequestFormComponent",
|
|
"type": "component"
|
|
}
|
|
],
|
|
"description": "",
|
|
"rawdescription": "\n",
|
|
"type": "component",
|
|
"sourceCode": "import { Component, inject, signal } from '@angular/core';\nimport { AsyncPipe } from '@angular/common';\nimport { PageLayoutComponent } from '../../templates/page-layout/page-layout.component';\nimport { HeadingComponent } from '../../atoms/heading/heading.component';\nimport { LinkComponent } from '../../atoms/link/link.component';\nimport { AlertComponent } from '../../atoms/alert/alert.component';\nimport { RegistrationSummaryComponent } from '../../organisms/registration-summary/registration-summary.component';\nimport { ChangeRequestFormComponent } from '../../organisms/change-request-form/change-request-form.component';\nimport { RegistrationService } from '../../core/registration.service';\n\n@Component({\n selector: 'app-registration-detail-page',\n imports: [AsyncPipe, PageLayoutComponent, HeadingComponent, LinkComponent, AlertComponent, RegistrationSummaryComponent, ChangeRequestFormComponent],\n template: `\n <app-page-layout>\n <p><app-link to=\"/dashboard\">← Terug naar overzicht</app-link></p>\n <app-heading [level]=\"1\">Mijn gegevens</app-heading>\n\n @if (reg$ | async; as reg) {\n <app-registration-summary [reg]=\"reg\" />\n }\n\n <div style=\"margin-top:2rem\">\n @if (submitted()) {\n <app-alert type=\"ok\">Uw adreswijziging is ontvangen. U ontvangt binnen 5 werkdagen bericht.</app-alert>\n } @else {\n <app-change-request-form (submitted)=\"submitted.set(true)\" />\n }\n </div>\n </app-page-layout>\n `,\n})\nexport class RegistrationDetailPage {\n private svc = inject(RegistrationService);\n reg$ = this.svc.getRegistration();\n submitted = signal(false);\n}\n",
|
|
"assetsDirs": [],
|
|
"styleUrlsData": "",
|
|
"stylesData": "",
|
|
"extends": []
|
|
},
|
|
{
|
|
"name": "RegistrationSummaryComponent",
|
|
"id": "component-RegistrationSummaryComponent-eb956e029fecdfc5c3173f0c48515cad94e7bb8023ebcc4d0a37ae311c0b39c215fb46643ac356b4dd5c0f4ead6123e79f4f7aeecc3b631eff0269e9f1a3e914",
|
|
"file": "src/app/organisms/registration-summary/registration-summary.component.ts",
|
|
"encapsulation": [],
|
|
"entryComponents": [],
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"providers": [],
|
|
"selector": "app-registration-summary",
|
|
"styleUrls": [],
|
|
"styles": [],
|
|
"template": "<div class=\"rhc-card rhc-card--default\">\n <dl class=\"rhc-data-summary rhc-data-summary--row\">\n <app-data-row key=\"BIG-nummer\" [value]=\"reg().bigNummer\" />\n <app-data-row key=\"Naam\" [value]=\"reg().naam\" />\n <app-data-row key=\"Beroep\" [value]=\"reg().beroep\" />\n <app-data-row key=\"Status\">\n <app-status-badge [status]=\"reg().status\" />\n </app-data-row>\n <app-data-row key=\"Registratiedatum\" [value]=\"reg().registratiedatum | date:'longDate'\" />\n <app-data-row key=\"Uiterste herregistratie\" [value]=\"reg().herregistratieDatum | date:'longDate'\" />\n </dl>\n</div>\n",
|
|
"templateUrl": [],
|
|
"viewProviders": [],
|
|
"hostDirectives": [],
|
|
"inputsClass": [
|
|
{
|
|
"name": "reg",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "Registration",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 27,
|
|
"required": true
|
|
}
|
|
],
|
|
"outputsClass": [],
|
|
"propertiesClass": [],
|
|
"methodsClass": [],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"hostBindings": [],
|
|
"hostListeners": [],
|
|
"standalone": false,
|
|
"imports": [
|
|
{
|
|
"name": "DatePipe",
|
|
"type": "pipe"
|
|
},
|
|
{
|
|
"name": "DataRowComponent",
|
|
"type": "component"
|
|
},
|
|
{
|
|
"name": "StatusBadgeComponent",
|
|
"type": "component"
|
|
}
|
|
],
|
|
"description": "<p>Organism: registration summary card. Composes data-row molecules + status-badge atom.</p>\n",
|
|
"rawdescription": "\nOrganism: registration summary card. Composes data-row molecules + status-badge atom.",
|
|
"type": "component",
|
|
"sourceCode": "import { Component, input } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { Registration } from '../../core/models';\nimport { DataRowComponent } from '../../molecules/data-row/data-row.component';\nimport { StatusBadgeComponent } from '../../atoms/status-badge/status-badge.component';\n\n/** Organism: registration summary card. Composes data-row molecules + status-badge atom. */\n@Component({\n selector: 'app-registration-summary',\n imports: [DatePipe, DataRowComponent, StatusBadgeComponent],\n template: `\n <div class=\"rhc-card rhc-card--default\">\n <dl class=\"rhc-data-summary rhc-data-summary--row\">\n <app-data-row key=\"BIG-nummer\" [value]=\"reg().bigNummer\" />\n <app-data-row key=\"Naam\" [value]=\"reg().naam\" />\n <app-data-row key=\"Beroep\" [value]=\"reg().beroep\" />\n <app-data-row key=\"Status\">\n <app-status-badge [status]=\"reg().status\" />\n </app-data-row>\n <app-data-row key=\"Registratiedatum\" [value]=\"reg().registratiedatum | date:'longDate'\" />\n <app-data-row key=\"Uiterste herregistratie\" [value]=\"reg().herregistratieDatum | date:'longDate'\" />\n </dl>\n </div>\n `,\n})\nexport class RegistrationSummaryComponent {\n reg = input.required<Registration>();\n}\n",
|
|
"assetsDirs": [],
|
|
"styleUrlsData": "",
|
|
"stylesData": "",
|
|
"extends": []
|
|
},
|
|
{
|
|
"name": "RegistrationTableComponent",
|
|
"id": "component-RegistrationTableComponent-53e1c5109b067c2b72ccd183e6350c59ea4bbd34a8f40a0f4e50c59d6165f5f8040177f74a592be42b8e571c4530ad2bf60c4a3a712689c82460997cb91ed770",
|
|
"file": "src/app/organisms/registration-table/registration-table.component.ts",
|
|
"encapsulation": [],
|
|
"entryComponents": [],
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"providers": [],
|
|
"selector": "app-registration-table",
|
|
"styleUrls": [],
|
|
"styles": [],
|
|
"template": "<div class=\"utrecht-table-container utrecht-table-container--overflow-inline\">\n <table class=\"utrecht-table utrecht-table--html-table utrecht-table--alternate-row-color\">\n <thead>\n <tr>\n <th class=\"utrecht-table__header-cell\">Type</th>\n <th class=\"utrecht-table__header-cell\">Omschrijving</th>\n <th class=\"utrecht-table__header-cell\">Datum</th>\n </tr>\n </thead>\n <tbody>\n @for (row of rows(); track row.omschrijving) {\n <tr>\n <td class=\"utrecht-table__cell\">{{ row.type }}</td>\n <td class=\"utrecht-table__cell\">{{ row.omschrijving }}</td>\n <td class=\"utrecht-table__cell\">{{ row.datum | date:'mediumDate' }}</td>\n </tr>\n }\n </tbody>\n </table>\n</div>\n",
|
|
"templateUrl": [],
|
|
"viewProviders": [],
|
|
"hostDirectives": [],
|
|
"inputsClass": [
|
|
{
|
|
"name": "rows",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "Aantekening[]",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 33,
|
|
"required": true
|
|
}
|
|
],
|
|
"outputsClass": [],
|
|
"propertiesClass": [],
|
|
"methodsClass": [],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"hostBindings": [],
|
|
"hostListeners": [],
|
|
"standalone": false,
|
|
"imports": [
|
|
{
|
|
"name": "DatePipe",
|
|
"type": "pipe"
|
|
}
|
|
],
|
|
"description": "<p>Organism: table of specialismen/aantekeningen.</p>\n",
|
|
"rawdescription": "\nOrganism: table of specialismen/aantekeningen.",
|
|
"type": "component",
|
|
"sourceCode": "import { Component, input } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { Aantekening } from '../../core/models';\n\n/** Organism: table of specialismen/aantekeningen. */\n@Component({\n selector: 'app-registration-table',\n imports: [DatePipe],\n template: `\n <div class=\"utrecht-table-container utrecht-table-container--overflow-inline\">\n <table class=\"utrecht-table utrecht-table--html-table utrecht-table--alternate-row-color\">\n <thead>\n <tr>\n <th class=\"utrecht-table__header-cell\">Type</th>\n <th class=\"utrecht-table__header-cell\">Omschrijving</th>\n <th class=\"utrecht-table__header-cell\">Datum</th>\n </tr>\n </thead>\n <tbody>\n @for (row of rows(); track row.omschrijving) {\n <tr>\n <td class=\"utrecht-table__cell\">{{ row.type }}</td>\n <td class=\"utrecht-table__cell\">{{ row.omschrijving }}</td>\n <td class=\"utrecht-table__cell\">{{ row.datum | date:'mediumDate' }}</td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n `,\n})\nexport class RegistrationTableComponent {\n rows = input.required<Aantekening[]>();\n}\n",
|
|
"assetsDirs": [],
|
|
"styleUrlsData": "",
|
|
"stylesData": "",
|
|
"extends": []
|
|
},
|
|
{
|
|
"name": "SiteFooterComponent",
|
|
"id": "component-SiteFooterComponent-dc3de1b2d9be1f7a72a4e3a9fd3142ebdb33517cce05255f998242a83990eaf63b332a255e230f3731501ba731180500ce3d11212f17eb6a1dda6f57ac694ef6",
|
|
"file": "src/app/organisms/site-footer/site-footer.component.ts",
|
|
"encapsulation": [],
|
|
"entryComponents": [],
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"providers": [],
|
|
"selector": "app-site-footer",
|
|
"styleUrls": [],
|
|
"styles": [],
|
|
"template": "<footer class=\"utrecht-page-footer\" style=\"background:var(--rhc-color-lintblauw-900,#01689b);color:#fff;margin-top:3rem\">\n <div style=\"max-width:64rem;margin:0 auto;padding:1.5rem;display:flex;gap:2rem;flex-wrap:wrap\">\n <span>BIG-register</span>\n <span>CIBG — Ministerie van Volksgezondheid, Welzijn en Sport</span>\n <span style=\"margin-left:auto;opacity:0.85\">Demo / POC — geen echte gegevens</span>\n </div>\n</footer>\n",
|
|
"templateUrl": [],
|
|
"viewProviders": [],
|
|
"hostDirectives": [],
|
|
"inputsClass": [],
|
|
"outputsClass": [],
|
|
"propertiesClass": [],
|
|
"methodsClass": [],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"hostBindings": [],
|
|
"hostListeners": [],
|
|
"standalone": false,
|
|
"imports": [],
|
|
"description": "<p>Organism: site footer.</p>\n",
|
|
"rawdescription": "\nOrganism: site footer.",
|
|
"type": "component",
|
|
"sourceCode": "import { Component } from '@angular/core';\n\n/** Organism: site footer. */\n@Component({\n selector: 'app-site-footer',\n template: `\n <footer class=\"utrecht-page-footer\" style=\"background:var(--rhc-color-lintblauw-900,#01689b);color:#fff;margin-top:3rem\">\n <div style=\"max-width:64rem;margin:0 auto;padding:1.5rem;display:flex;gap:2rem;flex-wrap:wrap\">\n <span>BIG-register</span>\n <span>CIBG — Ministerie van Volksgezondheid, Welzijn en Sport</span>\n <span style=\"margin-left:auto;opacity:0.85\">Demo / POC — geen echte gegevens</span>\n </div>\n </footer>\n `,\n})\nexport class SiteFooterComponent {}\n",
|
|
"assetsDirs": [],
|
|
"styleUrlsData": "",
|
|
"stylesData": "",
|
|
"extends": []
|
|
},
|
|
{
|
|
"name": "SiteHeaderComponent",
|
|
"id": "component-SiteHeaderComponent-868e8e5af92fdf7923a2d989c5dcc13b193e2e09e186d8197937817cabc5bd13a676c11db35f4738ea9167b4425ad1fea6e7bd0b5f798983202b7bb99a37734a",
|
|
"file": "src/app/organisms/site-header/site-header.component.ts",
|
|
"encapsulation": [],
|
|
"entryComponents": [],
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"providers": [],
|
|
"selector": "app-site-header",
|
|
"styleUrls": [],
|
|
"styles": [],
|
|
"template": "<header class=\"utrecht-page-header\" style=\"background:var(--rhc-color-lintblauw-700,#154273);color:#fff\">\n <div style=\"display:flex;align-items:center;gap:1rem;max-width:64rem;margin:0 auto;padding:1rem 1.5rem\">\n <a routerLink=\"/dashboard\" style=\"display:flex;align-items:center;gap:0.75rem;color:inherit;text-decoration:none\">\n <span aria-hidden=\"true\" style=\"display:inline-block;width:0.5rem;height:2.25rem;background:#fff\"></span>\n <span style=\"font-weight:700;line-height:1.1\">\n Rijksoverheid<br><span style=\"font-weight:400;font-size:0.9rem\">BIG-register</span>\n </span>\n </a>\n <span style=\"margin-left:auto;font-weight:500\">{{ subtitle() }}</span>\n </div>\n</header>\n",
|
|
"templateUrl": [],
|
|
"viewProviders": [],
|
|
"hostDirectives": [],
|
|
"inputsClass": [
|
|
{
|
|
"name": "subtitle",
|
|
"defaultValue": "'Mijn omgeving'",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 24,
|
|
"required": false
|
|
}
|
|
],
|
|
"outputsClass": [],
|
|
"propertiesClass": [],
|
|
"methodsClass": [],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"hostBindings": [],
|
|
"hostListeners": [],
|
|
"standalone": false,
|
|
"imports": [
|
|
{
|
|
"name": "RouterLink"
|
|
}
|
|
],
|
|
"description": "<p>Organism: site header with Rijksoverheid-style wordmark + title.\nponytail: text wordmark instead of the licensed Rijksoverheid logo.</p>\n",
|
|
"rawdescription": "\nOrganism: site header with Rijksoverheid-style wordmark + title.\nponytail: text wordmark instead of the licensed Rijksoverheid logo.",
|
|
"type": "component",
|
|
"sourceCode": "import { Component, input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\n\n/** Organism: site header with Rijksoverheid-style wordmark + title.\n ponytail: text wordmark instead of the licensed Rijksoverheid logo. */\n@Component({\n selector: 'app-site-header',\n imports: [RouterLink],\n template: `\n <header class=\"utrecht-page-header\" style=\"background:var(--rhc-color-lintblauw-700,#154273);color:#fff\">\n <div style=\"display:flex;align-items:center;gap:1rem;max-width:64rem;margin:0 auto;padding:1rem 1.5rem\">\n <a routerLink=\"/dashboard\" style=\"display:flex;align-items:center;gap:0.75rem;color:inherit;text-decoration:none\">\n <span aria-hidden=\"true\" style=\"display:inline-block;width:0.5rem;height:2.25rem;background:#fff\"></span>\n <span style=\"font-weight:700;line-height:1.1\">\n Rijksoverheid<br><span style=\"font-weight:400;font-size:0.9rem\">BIG-register</span>\n </span>\n </a>\n <span style=\"margin-left:auto;font-weight:500\">{{ subtitle() }}</span>\n </div>\n </header>\n `,\n})\nexport class SiteHeaderComponent {\n subtitle = input('Mijn omgeving');\n}\n",
|
|
"assetsDirs": [],
|
|
"styleUrlsData": "",
|
|
"stylesData": "",
|
|
"extends": []
|
|
},
|
|
{
|
|
"name": "StatusBadgeComponent",
|
|
"id": "component-StatusBadgeComponent-e270c2a0e9f8ec765c9d423e1c4da0d6382ccb17085bddde9037a26a5886b83b2d829f8b4c21c47ffa068508c621ba511b4fd5094c8784fffc43edc781ce95d0",
|
|
"file": "src/app/atoms/status-badge/status-badge.component.ts",
|
|
"encapsulation": [],
|
|
"entryComponents": [],
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"providers": [],
|
|
"selector": "app-status-badge",
|
|
"styleUrls": [],
|
|
"styles": [],
|
|
"template": "<span style=\"display:inline-flex;align-items:center;gap:0.5rem\">\n <span class=\"rhc-dot-badge\" [style.--rhc-dot-badge-color]=\"color()\" aria-hidden=\"true\"></span>\n <span>{{ status() }}</span>\n</span>\n",
|
|
"templateUrl": [],
|
|
"viewProviders": [],
|
|
"hostDirectives": [],
|
|
"inputsClass": [
|
|
{
|
|
"name": "status",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "RegistrationStatus",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 16,
|
|
"required": true
|
|
}
|
|
],
|
|
"outputsClass": [],
|
|
"propertiesClass": [
|
|
{
|
|
"name": "color",
|
|
"defaultValue": "computed(() => ({\n Geregistreerd: 'var(--rhc-color-groen-500)',\n Doorgehaald: 'var(--rhc-color-rood-500)',\n Geschorst: 'var(--rhc-color-oranje-500)',\n }[this.status()]))",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "unknown",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 17
|
|
}
|
|
],
|
|
"methodsClass": [],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"hostBindings": [],
|
|
"hostListeners": [],
|
|
"standalone": false,
|
|
"imports": [],
|
|
"description": "<p>Atom: status badge = colored RHC dot-badge + label. Hand-built to show how\nyou compose a new atom from design tokens (dot color driven per status).</p>\n",
|
|
"rawdescription": "\nAtom: status badge = colored RHC dot-badge + label. Hand-built to show how\nyou compose a new atom from design tokens (dot color driven per status).",
|
|
"type": "component",
|
|
"sourceCode": "import { Component, computed, input } from '@angular/core';\nimport { RegistrationStatus } from '../../core/models';\n\n/** Atom: status badge = colored RHC dot-badge + label. Hand-built to show how\n you compose a new atom from design tokens (dot color driven per status). */\n@Component({\n selector: 'app-status-badge',\n template: `\n <span style=\"display:inline-flex;align-items:center;gap:0.5rem\">\n <span class=\"rhc-dot-badge\" [style.--rhc-dot-badge-color]=\"color()\" aria-hidden=\"true\"></span>\n <span>{{ status() }}</span>\n </span>\n `,\n})\nexport class StatusBadgeComponent {\n status = input.required<RegistrationStatus>();\n color = computed(() => ({\n Geregistreerd: 'var(--rhc-color-groen-500)',\n Doorgehaald: 'var(--rhc-color-rood-500)',\n Geschorst: 'var(--rhc-color-oranje-500)',\n }[this.status()]));\n}\n",
|
|
"assetsDirs": [],
|
|
"styleUrlsData": "",
|
|
"stylesData": "",
|
|
"extends": []
|
|
},
|
|
{
|
|
"name": "TextInputComponent",
|
|
"id": "component-TextInputComponent-9d0cd6c2d7892958e9a016b570670f0186d410ea16a22925126f9eeea1aa178f081a4e5647af633f8a0bc1c458422a9f30169f159f930e9048702995fbb827e6",
|
|
"file": "src/app/atoms/text-input/text-input.component.ts",
|
|
"encapsulation": [],
|
|
"entryComponents": [],
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"providers": [
|
|
{
|
|
"name": ")"
|
|
}
|
|
],
|
|
"selector": "app-text-input",
|
|
"styleUrls": [],
|
|
"styles": [],
|
|
"template": "<input\n class=\"utrecht-textbox rhc-text-input\"\n [class.utrecht-textbox--invalid]=\"invalid()\"\n [type]=\"type()\"\n [id]=\"inputId()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (blur)=\"onTouched()\" />\n",
|
|
"templateUrl": [],
|
|
"viewProviders": [],
|
|
"hostDirectives": [],
|
|
"inputsClass": [
|
|
{
|
|
"name": "inputId",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 25,
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "invalid",
|
|
"defaultValue": "false",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 24,
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "placeholder",
|
|
"defaultValue": "''",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 23,
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "type",
|
|
"defaultValue": "'text'",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "\"text\" | \"password\" | \"email\"",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 22,
|
|
"required": false
|
|
}
|
|
],
|
|
"outputsClass": [],
|
|
"propertiesClass": [
|
|
{
|
|
"name": "disabled",
|
|
"defaultValue": "false",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "unknown",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 28
|
|
},
|
|
{
|
|
"name": "onChange",
|
|
"defaultValue": "() => {...}",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "function",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 29
|
|
},
|
|
{
|
|
"name": "onTouched",
|
|
"defaultValue": "() => {...}",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "function",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 30
|
|
},
|
|
{
|
|
"name": "value",
|
|
"defaultValue": "''",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "string",
|
|
"indexKey": "",
|
|
"optional": false,
|
|
"description": "",
|
|
"line": 27
|
|
}
|
|
],
|
|
"methodsClass": [
|
|
{
|
|
"name": "onInput",
|
|
"args": [
|
|
{
|
|
"name": "e",
|
|
"type": "Event",
|
|
"optional": false,
|
|
"dotDotDotToken": false,
|
|
"deprecated": false,
|
|
"deprecationMessage": ""
|
|
}
|
|
],
|
|
"optional": false,
|
|
"returnType": "void",
|
|
"typeParameters": [],
|
|
"line": 32,
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"jsdoctags": [
|
|
{
|
|
"name": "e",
|
|
"type": "Event",
|
|
"optional": false,
|
|
"dotDotDotToken": false,
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"tagName": {
|
|
"text": "param"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "registerOnChange",
|
|
"args": [
|
|
{
|
|
"name": "fn",
|
|
"type": "function",
|
|
"optional": false,
|
|
"dotDotDotToken": false,
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"function": [
|
|
{
|
|
"name": "v",
|
|
"type": "string",
|
|
"optional": false,
|
|
"dotDotDotToken": false,
|
|
"deprecated": false,
|
|
"deprecationMessage": ""
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"optional": false,
|
|
"returnType": "void",
|
|
"typeParameters": [],
|
|
"line": 37,
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"jsdoctags": [
|
|
{
|
|
"name": "fn",
|
|
"type": "function",
|
|
"optional": false,
|
|
"dotDotDotToken": false,
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"function": [
|
|
{
|
|
"name": "v",
|
|
"type": "string",
|
|
"optional": false,
|
|
"dotDotDotToken": false,
|
|
"deprecated": false,
|
|
"deprecationMessage": ""
|
|
}
|
|
],
|
|
"tagName": {
|
|
"text": "param"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "registerOnTouched",
|
|
"args": [
|
|
{
|
|
"name": "fn",
|
|
"type": "function",
|
|
"optional": false,
|
|
"dotDotDotToken": false,
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"function": []
|
|
}
|
|
],
|
|
"optional": false,
|
|
"returnType": "void",
|
|
"typeParameters": [],
|
|
"line": 38,
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"jsdoctags": [
|
|
{
|
|
"name": "fn",
|
|
"type": "function",
|
|
"optional": false,
|
|
"dotDotDotToken": false,
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"function": [],
|
|
"tagName": {
|
|
"text": "param"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "setDisabledState",
|
|
"args": [
|
|
{
|
|
"name": "d",
|
|
"type": "boolean",
|
|
"optional": false,
|
|
"dotDotDotToken": false,
|
|
"deprecated": false,
|
|
"deprecationMessage": ""
|
|
}
|
|
],
|
|
"optional": false,
|
|
"returnType": "void",
|
|
"typeParameters": [],
|
|
"line": 39,
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"jsdoctags": [
|
|
{
|
|
"name": "d",
|
|
"type": "boolean",
|
|
"optional": false,
|
|
"dotDotDotToken": false,
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"tagName": {
|
|
"text": "param"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "writeValue",
|
|
"args": [
|
|
{
|
|
"name": "v",
|
|
"type": "string",
|
|
"optional": false,
|
|
"dotDotDotToken": false,
|
|
"deprecated": false,
|
|
"deprecationMessage": ""
|
|
}
|
|
],
|
|
"optional": false,
|
|
"returnType": "void",
|
|
"typeParameters": [],
|
|
"line": 36,
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"jsdoctags": [
|
|
{
|
|
"name": "v",
|
|
"type": "string",
|
|
"optional": false,
|
|
"dotDotDotToken": false,
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"tagName": {
|
|
"text": "param"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"hostBindings": [],
|
|
"hostListeners": [],
|
|
"standalone": false,
|
|
"imports": [],
|
|
"description": "<p>Atom: text input. Utrecht textbox wired up as a form control (ngModel/reactive).</p>\n",
|
|
"rawdescription": "\nAtom: text input. Utrecht textbox wired up as a form control (ngModel/reactive).",
|
|
"type": "component",
|
|
"sourceCode": "import { Component, forwardRef, input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n/** Atom: text input. Utrecht textbox wired up as a form control (ngModel/reactive). */\n@Component({\n selector: 'app-text-input',\n template: `\n <input\n class=\"utrecht-textbox rhc-text-input\"\n [class.utrecht-textbox--invalid]=\"invalid()\"\n [type]=\"type()\"\n [id]=\"inputId()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (blur)=\"onTouched()\" />\n `,\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TextInputComponent), multi: true }],\n})\nexport class TextInputComponent implements ControlValueAccessor {\n type = input<'text' | 'password' | 'email'>('text');\n placeholder = input('');\n invalid = input(false);\n inputId = input<string>();\n\n value = '';\n disabled = false;\n onChange: (v: string) => void = () => {};\n onTouched: () => void = () => {};\n\n onInput(e: Event) {\n this.value = (e.target as HTMLInputElement).value;\n this.onChange(this.value);\n }\n writeValue(v: string) { this.value = v ?? ''; }\n registerOnChange(fn: (v: string) => void) { this.onChange = fn; }\n registerOnTouched(fn: () => void) { this.onTouched = fn; }\n setDisabledState(d: boolean) { this.disabled = d; }\n}\n",
|
|
"assetsDirs": [],
|
|
"styleUrlsData": "",
|
|
"stylesData": "",
|
|
"extends": [],
|
|
"implements": [
|
|
"ControlValueAccessor"
|
|
]
|
|
}
|
|
],
|
|
"modules": [],
|
|
"miscellaneous": {
|
|
"variables": [
|
|
{
|
|
"name": "appConfig",
|
|
"ctype": "miscellaneous",
|
|
"subtype": "variable",
|
|
"file": "src/app/app.config.ts",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "ApplicationConfig",
|
|
"defaultValue": "{\n providers: [\n provideBrowserGlobalErrorListeners(),\n provideRouter(routes),\n provideHttpClient(),\n { provide: LOCALE_ID, useValue: 'nl' },\n ]\n}"
|
|
},
|
|
{
|
|
"name": "routes",
|
|
"ctype": "miscellaneous",
|
|
"subtype": "variable",
|
|
"file": "src/app/app.routes.ts",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "Routes",
|
|
"defaultValue": "[\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n { path: 'login', loadComponent: () => \"import('./pages/login/login.page').then(m => m.LoginPage)\" },\n { path: 'dashboard', loadComponent: () => \"import('./pages/dashboard/dashboard.page').then(m => m.DashboardPage)\" },\n { path: 'registratie', loadComponent: () => \"import('./pages/registration-detail/registration-detail.page').then(m => m.RegistrationDetailPage)\" },\n { path: '**', redirectTo: 'login' },\n]"
|
|
}
|
|
],
|
|
"functions": [],
|
|
"typealiases": [
|
|
{
|
|
"name": "AlertType",
|
|
"ctype": "miscellaneous",
|
|
"subtype": "typealias",
|
|
"rawtype": "\"info\" | \"ok\" | \"warning\" | \"error\"",
|
|
"file": "src/app/atoms/alert/alert.component.ts",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"description": "",
|
|
"kind": 193
|
|
},
|
|
{
|
|
"name": "RegistrationStatus",
|
|
"ctype": "miscellaneous",
|
|
"subtype": "typealias",
|
|
"rawtype": "\"Geregistreerd\" | \"Doorgehaald\" | \"Geschorst\"",
|
|
"file": "src/app/core/models.ts",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"description": "",
|
|
"kind": 193
|
|
},
|
|
{
|
|
"name": "Variant",
|
|
"ctype": "miscellaneous",
|
|
"subtype": "typealias",
|
|
"rawtype": "\"primary\" | \"secondary\" | \"subtle\" | \"danger\"",
|
|
"file": "src/app/atoms/button/button.component.ts",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"description": "",
|
|
"kind": 193
|
|
}
|
|
],
|
|
"enumerations": [],
|
|
"groupedVariables": {
|
|
"src/app/app.config.ts": [
|
|
{
|
|
"name": "appConfig",
|
|
"ctype": "miscellaneous",
|
|
"subtype": "variable",
|
|
"file": "src/app/app.config.ts",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "ApplicationConfig",
|
|
"defaultValue": "{\n providers: [\n provideBrowserGlobalErrorListeners(),\n provideRouter(routes),\n provideHttpClient(),\n { provide: LOCALE_ID, useValue: 'nl' },\n ]\n}"
|
|
}
|
|
],
|
|
"src/app/app.routes.ts": [
|
|
{
|
|
"name": "routes",
|
|
"ctype": "miscellaneous",
|
|
"subtype": "variable",
|
|
"file": "src/app/app.routes.ts",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"type": "Routes",
|
|
"defaultValue": "[\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n { path: 'login', loadComponent: () => \"import('./pages/login/login.page').then(m => m.LoginPage)\" },\n { path: 'dashboard', loadComponent: () => \"import('./pages/dashboard/dashboard.page').then(m => m.DashboardPage)\" },\n { path: 'registratie', loadComponent: () => \"import('./pages/registration-detail/registration-detail.page').then(m => m.RegistrationDetailPage)\" },\n { path: '**', redirectTo: 'login' },\n]"
|
|
}
|
|
]
|
|
},
|
|
"groupedFunctions": {},
|
|
"groupedEnumerations": {},
|
|
"groupedTypeAliases": {
|
|
"src/app/atoms/alert/alert.component.ts": [
|
|
{
|
|
"name": "AlertType",
|
|
"ctype": "miscellaneous",
|
|
"subtype": "typealias",
|
|
"rawtype": "\"info\" | \"ok\" | \"warning\" | \"error\"",
|
|
"file": "src/app/atoms/alert/alert.component.ts",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"description": "",
|
|
"kind": 193
|
|
}
|
|
],
|
|
"src/app/core/models.ts": [
|
|
{
|
|
"name": "RegistrationStatus",
|
|
"ctype": "miscellaneous",
|
|
"subtype": "typealias",
|
|
"rawtype": "\"Geregistreerd\" | \"Doorgehaald\" | \"Geschorst\"",
|
|
"file": "src/app/core/models.ts",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"description": "",
|
|
"kind": 193
|
|
}
|
|
],
|
|
"src/app/atoms/button/button.component.ts": [
|
|
{
|
|
"name": "Variant",
|
|
"ctype": "miscellaneous",
|
|
"subtype": "typealias",
|
|
"rawtype": "\"primary\" | \"secondary\" | \"subtle\" | \"danger\"",
|
|
"file": "src/app/atoms/button/button.component.ts",
|
|
"deprecated": false,
|
|
"deprecationMessage": "",
|
|
"description": "",
|
|
"kind": 193
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"routes": {
|
|
"name": "<root>",
|
|
"kind": "module",
|
|
"children": [
|
|
{
|
|
"name": "login",
|
|
"kind": "route-path",
|
|
"filename": "src/app/app.routes.ts"
|
|
},
|
|
{
|
|
"name": "dashboard",
|
|
"kind": "route-path",
|
|
"filename": "src/app/app.routes.ts"
|
|
},
|
|
{
|
|
"name": "registratie",
|
|
"kind": "route-path",
|
|
"filename": "src/app/app.routes.ts"
|
|
},
|
|
{
|
|
"name": "**",
|
|
"kind": "route-path",
|
|
"filename": "src/app/app.routes.ts"
|
|
},
|
|
{
|
|
"name": "login",
|
|
"kind": "route-redirect",
|
|
"filename": "src/app/app.routes.ts"
|
|
},
|
|
{
|
|
"name": "login",
|
|
"kind": "route-redirect",
|
|
"filename": "src/app/app.routes.ts"
|
|
}
|
|
]
|
|
},
|
|
"coverage": {
|
|
"count": 24,
|
|
"status": "low",
|
|
"files": [
|
|
{
|
|
"filePath": "src/app/app.config.ts",
|
|
"type": "variable",
|
|
"linktype": "miscellaneous",
|
|
"linksubtype": "variable",
|
|
"name": "appConfig",
|
|
"coveragePercent": 0,
|
|
"coverageCount": "0/1",
|
|
"status": "low"
|
|
},
|
|
{
|
|
"filePath": "src/app/app.routes.ts",
|
|
"type": "variable",
|
|
"linktype": "miscellaneous",
|
|
"linksubtype": "variable",
|
|
"name": "routes",
|
|
"coveragePercent": 0,
|
|
"coverageCount": "0/1",
|
|
"status": "low"
|
|
},
|
|
{
|
|
"filePath": "src/app/app.ts",
|
|
"type": "component",
|
|
"linktype": "component",
|
|
"name": "App",
|
|
"coveragePercent": 0,
|
|
"coverageCount": "0/1",
|
|
"status": "low"
|
|
},
|
|
{
|
|
"filePath": "src/app/atoms/alert/alert.component.ts",
|
|
"type": "component",
|
|
"linktype": "component",
|
|
"name": "AlertComponent",
|
|
"coveragePercent": 50,
|
|
"coverageCount": "1/2",
|
|
"status": "medium"
|
|
},
|
|
{
|
|
"filePath": "src/app/atoms/alert/alert.component.ts",
|
|
"type": "type alias",
|
|
"linktype": "miscellaneous",
|
|
"linksubtype": "typealias",
|
|
"name": "AlertType",
|
|
"coveragePercent": 0,
|
|
"coverageCount": "0/1",
|
|
"status": "low"
|
|
},
|
|
{
|
|
"filePath": "src/app/atoms/button/button.component.ts",
|
|
"type": "component",
|
|
"linktype": "component",
|
|
"name": "ButtonComponent",
|
|
"coveragePercent": 25,
|
|
"coverageCount": "1/4",
|
|
"status": "low"
|
|
},
|
|
{
|
|
"filePath": "src/app/atoms/button/button.component.ts",
|
|
"type": "type alias",
|
|
"linktype": "miscellaneous",
|
|
"linksubtype": "typealias",
|
|
"name": "Variant",
|
|
"coveragePercent": 0,
|
|
"coverageCount": "0/1",
|
|
"status": "low"
|
|
},
|
|
{
|
|
"filePath": "src/app/atoms/heading/heading.component.ts",
|
|
"type": "component",
|
|
"linktype": "component",
|
|
"name": "HeadingComponent",
|
|
"coveragePercent": 50,
|
|
"coverageCount": "1/2",
|
|
"status": "medium"
|
|
},
|
|
{
|
|
"filePath": "src/app/atoms/link/link.component.ts",
|
|
"type": "component",
|
|
"linktype": "component",
|
|
"name": "LinkComponent",
|
|
"coveragePercent": 50,
|
|
"coverageCount": "1/2",
|
|
"status": "medium"
|
|
},
|
|
{
|
|
"filePath": "src/app/atoms/status-badge/status-badge.component.ts",
|
|
"type": "component",
|
|
"linktype": "component",
|
|
"name": "StatusBadgeComponent",
|
|
"coveragePercent": 33,
|
|
"coverageCount": "1/3",
|
|
"status": "medium"
|
|
},
|
|
{
|
|
"filePath": "src/app/atoms/text-input/text-input.component.ts",
|
|
"type": "component",
|
|
"linktype": "component",
|
|
"name": "TextInputComponent",
|
|
"coveragePercent": 7,
|
|
"coverageCount": "1/14",
|
|
"status": "low"
|
|
},
|
|
{
|
|
"filePath": "src/app/core/models.ts",
|
|
"type": "interface",
|
|
"linktype": "interface",
|
|
"name": "Aantekening",
|
|
"coveragePercent": 0,
|
|
"coverageCount": "0/4",
|
|
"status": "low"
|
|
},
|
|
{
|
|
"filePath": "src/app/core/models.ts",
|
|
"type": "interface",
|
|
"linktype": "interface",
|
|
"name": "Registration",
|
|
"coveragePercent": 0,
|
|
"coverageCount": "0/8",
|
|
"status": "low"
|
|
},
|
|
{
|
|
"filePath": "src/app/core/models.ts",
|
|
"type": "type alias",
|
|
"linktype": "miscellaneous",
|
|
"linksubtype": "typealias",
|
|
"name": "RegistrationStatus",
|
|
"coveragePercent": 0,
|
|
"coverageCount": "0/1",
|
|
"status": "low"
|
|
},
|
|
{
|
|
"filePath": "src/app/core/registration.service.ts",
|
|
"type": "injectable",
|
|
"linktype": "injectable",
|
|
"name": "RegistrationService",
|
|
"coveragePercent": 0,
|
|
"coverageCount": "0/4",
|
|
"status": "low"
|
|
},
|
|
{
|
|
"filePath": "src/app/molecules/data-row/data-row.component.ts",
|
|
"type": "component",
|
|
"linktype": "component",
|
|
"name": "DataRowComponent",
|
|
"coveragePercent": 33,
|
|
"coverageCount": "1/3",
|
|
"status": "medium"
|
|
},
|
|
{
|
|
"filePath": "src/app/molecules/form-field/form-field.component.ts",
|
|
"type": "component",
|
|
"linktype": "component",
|
|
"name": "FormFieldComponent",
|
|
"coveragePercent": 20,
|
|
"coverageCount": "1/5",
|
|
"status": "low"
|
|
},
|
|
{
|
|
"filePath": "src/app/organisms/change-request-form/change-request-form.component.ts",
|
|
"type": "component",
|
|
"linktype": "component",
|
|
"name": "ChangeRequestFormComponent",
|
|
"coveragePercent": 14,
|
|
"coverageCount": "1/7",
|
|
"status": "low"
|
|
},
|
|
{
|
|
"filePath": "src/app/organisms/login-form/login-form.component.ts",
|
|
"type": "component",
|
|
"linktype": "component",
|
|
"name": "LoginFormComponent",
|
|
"coveragePercent": 25,
|
|
"coverageCount": "1/4",
|
|
"status": "low"
|
|
},
|
|
{
|
|
"filePath": "src/app/organisms/registration-summary/registration-summary.component.ts",
|
|
"type": "component",
|
|
"linktype": "component",
|
|
"name": "RegistrationSummaryComponent",
|
|
"coveragePercent": 50,
|
|
"coverageCount": "1/2",
|
|
"status": "medium"
|
|
},
|
|
{
|
|
"filePath": "src/app/organisms/registration-table/registration-table.component.ts",
|
|
"type": "component",
|
|
"linktype": "component",
|
|
"name": "RegistrationTableComponent",
|
|
"coveragePercent": 50,
|
|
"coverageCount": "1/2",
|
|
"status": "medium"
|
|
},
|
|
{
|
|
"filePath": "src/app/organisms/site-footer/site-footer.component.ts",
|
|
"type": "component",
|
|
"linktype": "component",
|
|
"name": "SiteFooterComponent",
|
|
"coveragePercent": 100,
|
|
"coverageCount": "1/1",
|
|
"status": "very-good"
|
|
},
|
|
{
|
|
"filePath": "src/app/organisms/site-header/site-header.component.ts",
|
|
"type": "component",
|
|
"linktype": "component",
|
|
"name": "SiteHeaderComponent",
|
|
"coveragePercent": 50,
|
|
"coverageCount": "1/2",
|
|
"status": "medium"
|
|
},
|
|
{
|
|
"filePath": "src/app/pages/dashboard/dashboard.page.ts",
|
|
"type": "component",
|
|
"linktype": "component",
|
|
"name": "DashboardPage",
|
|
"coveragePercent": 0,
|
|
"coverageCount": "0/4",
|
|
"status": "low"
|
|
},
|
|
{
|
|
"filePath": "src/app/pages/login/login.page.ts",
|
|
"type": "component",
|
|
"linktype": "component",
|
|
"name": "LoginPage",
|
|
"coveragePercent": 0,
|
|
"coverageCount": "0/3",
|
|
"status": "low"
|
|
},
|
|
{
|
|
"filePath": "src/app/pages/registration-detail/registration-detail.page.ts",
|
|
"type": "component",
|
|
"linktype": "component",
|
|
"name": "RegistrationDetailPage",
|
|
"coveragePercent": 0,
|
|
"coverageCount": "0/4",
|
|
"status": "low"
|
|
},
|
|
{
|
|
"filePath": "src/app/templates/page-layout/page-layout.component.ts",
|
|
"type": "component",
|
|
"linktype": "component",
|
|
"name": "PageLayoutComponent",
|
|
"coveragePercent": 100,
|
|
"coverageCount": "1/1",
|
|
"status": "very-good"
|
|
}
|
|
]
|
|
}
|
|
} |