@arbetsformedlingen/yrkesvaljaren 2.0.11 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -74
- package/dist/cjs/{af-validation-message-Cy89nVEv.js → af-validation-message-BdR9X_qh.js} +1 -1
- package/dist/cjs/core-selector.cjs.entry.js +344 -23
- package/dist/cjs/digi-service-job-selector.cjs.entry.js +352 -61
- package/dist/cjs/{index-hZgOvC17.js → index-DMQDFAL7.js} +0 -22
- package/dist/cjs/index.cjs.js +4 -7
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/{esm/fuse-BPnhMTul.js → cjs/types-DdzCbiye.js} +965 -1
- package/dist/cjs/yrkesvaljaren.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +0 -1
- package/dist/collection/components/core-selector/core-selector.css +26 -1
- package/dist/collection/components/core-selector/core-selector.js +309 -14
- package/dist/collection/components/design-compat/af-icon.js +8 -7
- package/dist/collection/components/job-selector/job-selector-controller.js +13 -3
- package/dist/collection/components/job-selector/job-selector.css +154 -1
- package/dist/collection/components/job-selector/job-selector.js +199 -10
- package/dist/components/core-selector2.js +1 -1
- package/dist/components/digi-service-job-selector.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/types.js +1 -1
- package/dist/esm/{af-validation-message-BgoGzzBf.js → af-validation-message-DMoOu-0k.js} +1 -1
- package/dist/esm/core-selector.entry.js +344 -23
- package/dist/esm/digi-service-job-selector.entry.js +310 -19
- package/dist/esm/{index-HNd02eQb.js → index-vJ-tamti.js} +1 -22
- package/dist/esm/index.js +2 -4
- package/dist/esm/loader.js +3 -3
- package/dist/{cjs/fuse-BTLNKxuL.js → esm/types-DVos4HHS.js} +948 -2
- package/dist/esm/yrkesvaljaren.js +3 -3
- package/dist/types/components/core-selector/core-selector.d.ts +68 -0
- package/dist/types/components/job-selector/job-selector-controller.d.ts +5 -0
- package/dist/types/components/job-selector/job-selector.d.ts +21 -3
- package/dist/types/components/job-selector/types.d.ts +12 -0
- package/dist/types/components.d.ts +20 -99
- package/dist/types/index.d.ts +1 -1
- package/dist/vendor/taxonomy-core/af-data-layer.d.ts +16 -0
- package/dist/vendor/taxonomy-core/af-data-layer.js +24 -0
- package/dist/vendor/taxonomy-core/index.d.ts +1 -1
- package/dist/vendor/taxonomy-core/index.js +1 -1
- package/dist/vendor/taxonomy-core/pii-sanitizer.d.ts +25 -0
- package/dist/vendor/taxonomy-core/pii-sanitizer.js +137 -0
- package/dist/vendor/taxonomy-core/selector-navigation.d.ts +11 -1
- package/dist/vendor/taxonomy-core/selector-navigation.js +30 -1
- package/dist/vendor/taxonomy-core/selector-types.d.ts +12 -0
- package/dist/yrkesvaljaren/index.esm.js +1 -1
- package/dist/yrkesvaljaren/p-4f5b36c5.entry.js +1 -0
- package/dist/yrkesvaljaren/{p-BUviBbwX.js → p-DHK95AvZ.js} +1 -1
- package/dist/yrkesvaljaren/p-DVos4HHS.js +1 -0
- package/dist/yrkesvaljaren/p-ff349084.entry.js +1 -0
- package/dist/yrkesvaljaren/p-vJ-tamti.js +3 -0
- package/dist/yrkesvaljaren/yrkesvaljaren.esm.js +1 -1
- package/package.json +10 -13
- package/dist/cjs/geo-valjaren.cjs.entry.js +0 -14910
- package/dist/cjs/job-selector-demo.cjs.entry.js +0 -692
- package/dist/cjs/neobrutal-search.cjs.entry.js +0 -171
- package/dist/cjs/search.engine-D4cpbVzd.js +0 -504
- package/dist/cjs/taxonomy-registry-Dzt0SPzT.js +0 -454
- package/dist/cjs/types-CtHBl6Ra.js +0 -14
- package/dist/collection/components/geovaljaren/geovaljaren.css +0 -21
- package/dist/collection/components/geovaljaren/geovaljaren.js +0 -304
- package/dist/collection/components/geovaljaren/logic/adapter.utils.js +0 -20
- package/dist/collection/components/geovaljaren/logic/data.utils.js +0 -12
- package/dist/collection/components/geovaljaren/logic/history-service.js +0 -25
- package/dist/collection/components/geovaljaren/logic/search.engine.js +0 -28
- package/dist/collection/verkstad/verkstad.js +0 -408
- package/dist/components/fuse.js +0 -1
- package/dist/components/geo-valjaren.d.ts +0 -11
- package/dist/components/geo-valjaren.js +0 -1
- package/dist/components/job-selector-demo.d.ts +0 -11
- package/dist/components/job-selector-demo.js +0 -1
- package/dist/components/job-selector.js +0 -1
- package/dist/components/neobrutal-search.d.ts +0 -11
- package/dist/components/neobrutal-search.js +0 -1
- package/dist/components/search.engine.js +0 -1
- package/dist/esm/geo-valjaren.entry.js +0 -14908
- package/dist/esm/job-selector-demo.entry.js +0 -690
- package/dist/esm/neobrutal-search.entry.js +0 -169
- package/dist/esm/search.engine-BaWUTc3r.js +0 -493
- package/dist/esm/taxonomy-registry-C-pSh51L.js +0 -449
- package/dist/esm/types-DHUftoZJ.js +0 -12
- package/dist/types/components/geovaljaren/geovaljaren.d.ts +0 -24
- package/dist/types/components/geovaljaren/logic/adapter.utils.d.ts +0 -7
- package/dist/types/components/geovaljaren/logic/data.utils.d.ts +0 -7
- package/dist/types/components/geovaljaren/logic/history-service.d.ts +0 -6
- package/dist/types/components/geovaljaren/logic/search.engine.d.ts +0 -7
- package/dist/types/components/job-selector-demo/job-selector-demo.d.ts +0 -55
- package/dist/types/components/neobrutal-search/neobrutal-search.d.ts +0 -18
- package/dist/types/verkstad/verkstad.d.ts +0 -1
- package/dist/types/vitest-globals.d.ts +0 -1
- package/dist/yrkesvaljaren/p-18eb36b6.entry.js +0 -1
- package/dist/yrkesvaljaren/p-9d97f0e7.entry.js +0 -1
- package/dist/yrkesvaljaren/p-BPnhMTul.js +0 -1
- package/dist/yrkesvaljaren/p-C-pSh51L.js +0 -1
- package/dist/yrkesvaljaren/p-CjMoDiZD.js +0 -1
- package/dist/yrkesvaljaren/p-DHUftoZJ.js +0 -1
- package/dist/yrkesvaljaren/p-HNd02eQb.js +0 -3
- package/dist/yrkesvaljaren/p-b6745963.entry.js +0 -1
- package/dist/yrkesvaljaren/p-dbbea724.entry.js +0 -1
- package/dist/yrkesvaljaren/p-df3fa43b.entry.js +0 -1
package/README.md
CHANGED
|
@@ -7,59 +7,47 @@ En robust och intelligent sökkomponent för svenska yrken, designad för hög p
|
|
|
7
7
|
|
|
8
8
|
### Beskrivning
|
|
9
9
|
|
|
10
|
-
* **Enkelt hitta rätt yrke för användaren** <br>Sökalgoritmen prioriterar exakta träffar, prefix, flerdelade direktträffar och innehåller-träffar. Om inga direktträffar finns kan upp till
|
|
10
|
+
* **Enkelt hitta rätt yrke för användaren** <br>Sökalgoritmen prioriterar exakta träffar, prefix, flerdelade direktträffar och innehåller-träffar. Om inga direktträffar finns kan fuzzy-träffar visas: upp till fem när en av dem tydligt matchar roten i sökordet, annars upp till tre. Viktdata används som sekundär sortering.
|
|
11
11
|
* **Hög prestanda:** <br>Sökningen sker lokalt i webbläsaren mot inläst yrkesdata. Komponenten gör inga sökanrop till Taxonomy API.
|
|
12
|
-
* **Flexibel datahantering:** <br>
|
|
12
|
+
* **Flexibel datahantering:** <br>Versionerat npm-datapaket (rekommenderas), automatiskt uppdaterad data eller en egen URL.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
16
16
|
### Installation
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
Installera komponenten och datapaketet:
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
npm install @arbetsformedlingen/yrkesvaljaren
|
|
21
|
+
npm install @arbetsformedlingen/yrkesvaljaren @arbetsformedlingen/yrkesvaljaren-data@31
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
Datapaketets majorversion är taxonomiversionen: `31.x.y` innehåller taxonomi v31. Med `^31.0.0` i `package.json` får du rättningar av v31-datan men byter aldrig taxonomiversion av misstag. Installera nästa majorversion när du vill byta taxonomiversion.
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
Datan registreras med `registerTaxonomy(...)` innan komponenten används. Se [Angular](#användning-i-angular) eller [HTML och andra ramverk](#användning-i-html-och-andra-ramverk).
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
npm install @arbetsformedlingen/yrkesvaljaren @taxonomy/yrkesvaljaren-data-v31
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Registrera paketets data i din applikation innan komponenten används:
|
|
35
|
-
|
|
36
|
-
```javascript
|
|
37
|
-
import { registerTaxonomy } from '@arbetsformedlingen/yrkesvaljaren';
|
|
38
|
-
import {
|
|
39
|
-
taxonomyData,
|
|
40
|
-
metadata
|
|
41
|
-
} from '@taxonomy/yrkesvaljaren-data-v31';
|
|
42
|
-
|
|
43
|
-
registerTaxonomy({ data: taxonomyData, metadata });
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
`af-taxonomy-url` är ett tredje, avancerat alternativ om du vill peka komponenten mot en egenhostad datafil.
|
|
28
|
+
Utan registrerad data hämtar komponenten den senaste publicerade yrkesdatan från CDN. `af-taxonomy-url` är ett avancerat alternativ om du vill peka komponenten mot en egenhostad datafil.
|
|
47
29
|
|
|
48
30
|
### Användning i Angular
|
|
49
31
|
|
|
50
32
|
De flesta som använder Yrkesväljaren bygger i Angular. Komponenten är en vanlig webbkomponent, så den fungerar i standalone-komponenter med eller utan zone.js.
|
|
51
33
|
|
|
52
|
-
Registrera webbkomponenterna i `main.ts` innan appen startar
|
|
34
|
+
Registrera datan och webbkomponenterna i `main.ts` innan appen startar. Taxonomidatan är cirka 2 MB. Importera den dynamiskt, så hamnar den i en egen chunk. Med en statisk import hamnar den i main-bundlen och `ng build` fastnar på Angulars standardbudget (1 MB).
|
|
53
35
|
|
|
54
36
|
```ts
|
|
55
37
|
// src/main.ts
|
|
56
38
|
import { bootstrapApplication } from '@angular/platform-browser';
|
|
57
39
|
import { defineCustomElements as defineYv } from '@arbetsformedlingen/yrkesvaljaren/loader';
|
|
40
|
+
import { registerTaxonomy } from '@arbetsformedlingen/yrkesvaljaren';
|
|
58
41
|
import { appConfig } from './app/app.config';
|
|
59
42
|
import { App } from './app/app';
|
|
60
43
|
|
|
61
|
-
|
|
62
|
-
|
|
44
|
+
async function main() {
|
|
45
|
+
const { metadata, taxonomyData } = await import('@arbetsformedlingen/yrkesvaljaren-data');
|
|
46
|
+
registerTaxonomy({ data: taxonomyData, metadata });
|
|
47
|
+
defineYv(window);
|
|
48
|
+
await bootstrapApplication(App, appConfig);
|
|
49
|
+
}
|
|
50
|
+
main().catch((err) => console.error(err));
|
|
63
51
|
```
|
|
64
52
|
|
|
65
53
|
Använd sedan komponenten i en standalone-komponent med `CUSTOM_ELEMENTS_SCHEMA` och lyssna på eventet i templaten:
|
|
@@ -89,29 +77,10 @@ export class JobPickerComponent {
|
|
|
89
77
|
|
|
90
78
|
Uppdatera vyn via signals (eller `ChangeDetectorRef`) när ni sätter värden efter en `await`. Annars uppdateras inte vyn i zoneless-appar.
|
|
91
79
|
|
|
92
|
-
**Låst dataversion i Angular:** taxonomidatan i `@taxonomy/yrkesvaljaren-data-v31` är cirka 2 MB. Importera den dynamiskt i `main.ts`, så hamnar den i en egen chunk. Med en statisk import hamnar den i main-bundlen och `ng build` fastnar på Angulars standardbudget (1 MB).
|
|
93
|
-
|
|
94
|
-
```ts
|
|
95
|
-
// src/main.ts
|
|
96
|
-
import { bootstrapApplication } from '@angular/platform-browser';
|
|
97
|
-
import { defineCustomElements as defineYv } from '@arbetsformedlingen/yrkesvaljaren/loader';
|
|
98
|
-
import { registerTaxonomy } from '@arbetsformedlingen/yrkesvaljaren';
|
|
99
|
-
import { appConfig } from './app/app.config';
|
|
100
|
-
import { App } from './app/app';
|
|
101
|
-
|
|
102
|
-
async function main() {
|
|
103
|
-
const { metadata, taxonomyData } = await import('@taxonomy/yrkesvaljaren-data-v31');
|
|
104
|
-
registerTaxonomy({ data: taxonomyData, metadata });
|
|
105
|
-
defineYv(window);
|
|
106
|
-
await bootstrapApplication(App, appConfig);
|
|
107
|
-
}
|
|
108
|
-
main().catch((err) => console.error(err));
|
|
109
|
-
```
|
|
110
|
-
|
|
111
80
|
Kompletta exempel:
|
|
112
81
|
|
|
113
|
-
- [`examples/angular-wizard`](examples/angular-wizard): Yrkesväljaren i Reactive Forms via `ControlValueAccessor`.
|
|
114
|
-
- [`examples/angular-multi-occupation-skills`](examples/angular-multi-occupation-skills): flera yrken med egna kompetensval via Kompetensväljarens headless-API.
|
|
82
|
+
- [`examples/angular-wizard`](https://gitlab.com/arbetsformedlingen/taxonomy-dev/frontend/yrkesvaljaren/-/tree/main/examples/angular-wizard): Yrkesväljaren i Reactive Forms via `ControlValueAccessor`.
|
|
83
|
+
- [`examples/angular-multi-occupation-skills`](https://gitlab.com/arbetsformedlingen/taxonomy-dev/frontend/yrkesvaljaren/-/tree/main/examples/angular-multi-occupation-skills): flera yrken med egna kompetensval via Kompetensväljarens headless-API.
|
|
115
84
|
|
|
116
85
|
### Användning i HTML och andra ramverk
|
|
117
86
|
|
|
@@ -146,6 +115,15 @@ console.log("Valt yrke:", e.detail);
|
|
|
146
115
|
</html>
|
|
147
116
|
```
|
|
148
117
|
|
|
118
|
+
**Utan Angular:** registrera datapaketets data innan komponenten används:
|
|
119
|
+
|
|
120
|
+
```javascript
|
|
121
|
+
import { registerTaxonomy } from '@arbetsformedlingen/yrkesvaljaren';
|
|
122
|
+
import { taxonomyData, metadata } from '@arbetsformedlingen/yrkesvaljaren-data';
|
|
123
|
+
|
|
124
|
+
registerTaxonomy({ data: taxonomyData, metadata });
|
|
125
|
+
```
|
|
126
|
+
|
|
149
127
|
**React:** koppla komponentens event med `addEventListener` via en `ref` i en `useEffect`. Det fungerar i alla React-versioner; en `onAfJobSelected`-prop fungerar inte i React 18.
|
|
150
128
|
|
|
151
129
|
### Vite
|
|
@@ -169,20 +147,21 @@ Yrkesväljaren är uppbyggd med designsystemets tokens, typografi, färger, foku
|
|
|
169
147
|
|
|
170
148
|
### Attribut
|
|
171
149
|
|
|
172
|
-
| Attribut | Beskrivning | Typ |
|
|
173
|
-
|
|
174
|
-
| `af-label` | Etikettext som visas ovanför sökfältet. | `string` | `'Välj yrke'` |
|
|
175
|
-
| `disabled` | Om satt till `true`, kan väljaren inte användas med mus eller tangentbord. | `boolean` | `false` |
|
|
176
|
-
| `af-label-description
|
|
177
|
-
| `af-placeholder` | Hjälptext som visas inuti sökfältet. Denna är ett bra stöd för de med kognitiv funktionsvariation - vi rekommenderar att behålla denna text (den är osynlig för skärmläsare). | `string` | `'T.ex. målare, florist, kock'` |
|
|
178
|
-
| `af-error-message` | Ett anpassat felmeddelande som visas vid valideringsfel. | `string` | `undefined` |
|
|
179
|
-
| `af-enable-multiple` | Om satt till `true`, tillåts val av flera yrken. | `boolean` | `false` |
|
|
180
|
-
| `af-history` | Sparar användarval lokalt i webbläsarens Local Storage och visar historiken på samma domän. | `boolean` | `true` |
|
|
181
|
-
| `af-required` | Om satt till `true`, måste användaren göra ett val för att fältet ska vara giltigt (obligatoriskt fält). | `boolean` | `false` |
|
|
182
|
-
| `af-manual-input` | Om satt till `true
|
|
183
|
-
| `af-
|
|
184
|
-
| `af-
|
|
185
|
-
| `af-
|
|
150
|
+
| Attribut | Property | Beskrivning | Typ | Förvalt |
|
|
151
|
+
| --- | --- | --- | --- | --- |
|
|
152
|
+
| `af-label` | `label` | Etikettext som visas ovanför sökfältet. | `string` | `'Välj yrke'` |
|
|
153
|
+
| `disabled` | `disabled` | Om satt till `true`, kan väljaren inte användas med mus eller tangentbord. | `boolean` | `false` |
|
|
154
|
+
| `af-label-description` | `labelDescription` | En valfri beskrivningstext som visas under etiketten. | `string` | `undefined` |
|
|
155
|
+
| `af-placeholder` | `placeholder` | Hjälptext som visas inuti sökfältet. Denna är ett bra stöd för de med kognitiv funktionsvariation - vi rekommenderar att behålla denna text (den är osynlig för skärmläsare). | `string` | `'T.ex. målare, florist, kock'` |
|
|
156
|
+
| `af-error-message` | `errorMessage` | Ett anpassat felmeddelande som visas vid valideringsfel. | `string` | `undefined` |
|
|
157
|
+
| `af-enable-multiple` | `enableMultiple` | Om satt till `true`, tillåts val av flera yrken. | `boolean` | `false` |
|
|
158
|
+
| `af-history` | `history` | Sparar användarval lokalt i webbläsarens Local Storage och visar historiken på samma domän. | `boolean` | `true` |
|
|
159
|
+
| `af-required` | `required` | Om satt till `true`, måste användaren göra ett val för att fältet ska vara giltigt (obligatoriskt fält). | `boolean` | `false` |
|
|
160
|
+
| `af-manual-input` | `manualInput` | Om satt till `true` kan användaren ange ett yrke som fritext när det inte finns i listan. | `boolean` | `false` |
|
|
161
|
+
| `af-feedback` | `feedback` | Om satt till `true` kan användaren föreslå ett saknat yrke med en frivillig motivering. Förslaget skickas till Arbetsförmedlingen, se [Förslag och Piwik PRO](#förslag-och-piwik-pro). | `boolean` | `false` |
|
|
162
|
+
| `af-size` | `size` | Storleken på inputfältet. Möjliga värden: `'small'`, `'medium'`, `'large'`. | `string` | `'medium'` |
|
|
163
|
+
| `af-popular` | `popular` | Om satt till `true` visas sektionen "Populära sökningar" när historiken är tom. | `boolean` | `true` |
|
|
164
|
+
| `af-taxonomy-url` | `taxonomyUrl` | Fullständig, explicit URL till en egenhostad datafil. Utelämna attributet för att använda senaste data automatiskt. | `string` | `undefined` |
|
|
186
165
|
|
|
187
166
|
### Riktlinjer och rekommendationer
|
|
188
167
|
|
|
@@ -190,19 +169,19 @@ Tre centrala inställningar styr användarupplevelsen och datakvaliteten i Yrkes
|
|
|
190
169
|
|
|
191
170
|
#### Obligatorisk (`af-required`)
|
|
192
171
|
* **Hur man kan resonera:** När `af-required="true"` måste användaren välja minst ett yrke för att fältet ska betraktas som giltigt. Komponenten fungerar som ett standardenligt *Form-Associated Custom Element* (FACE). Det innebär att webbläsaren automatiskt validerar fältet vid formulärinskick, förhindrar att formuläret skickas in om det är tomt, och integrerar med formulärets `validity`-status.
|
|
193
|
-
* **När det rekommenderas:** I formulär och flöden där ett yrkesval är ett obligatoriskt steg i ett ärende (t.ex.
|
|
172
|
+
* **När det rekommenderas:** I formulär och flöden där ett yrkesval är ett obligatoriskt steg i ett ärende (t.ex. inskrivning och aktivitetsrapportering).
|
|
194
173
|
* **När det bör undvikas:** I öppna sök- eller filtreringsvyer där användaren ska kunna söka brett, filtrera på andra parametrar (t.ex. enbart ort/geografi) eller frivilligt specificera yrke.
|
|
195
174
|
|
|
196
|
-
####
|
|
197
|
-
* **Hur man kan resonera:**
|
|
198
|
-
* **
|
|
199
|
-
* **Strikt taxonomi (`af-manual-input="false"` – standard & rekommenderas):** När yrkesdatan ska användas för automatisk matchning, statistiska analyser
|
|
200
|
-
* **Fritext tillåten (`af-manual-input="true"`):** I öppna fritextprofiler, fritextenkäter eller intresseanmälningar där det är viktigare att fånga upp vad användaren själv kallar sin roll än att få ett taxonomi-ID
|
|
175
|
+
#### Förslag på saknade yrken (`af-feedback`) och fritext (`af-manual-input`)
|
|
176
|
+
* **Hur man kan resonera:**
|
|
177
|
+
* **Förslag till Arbetsförmedlingen (`af-feedback="true"`, av som standard):** Komponenten ger användaren möjlighet att föreslå saknade yrken med en frivillig motivering. Förslaget skickas som eventet `afOnSubmitJobSuggestion`. Det når Arbetsförmedlingen bara när Arbetsförmedlingens Piwik PRO-skript finns på sidan. Du behöver ingen egen backend för detta. Vi rekommenderar att du slår på `af-feedback`, eftersom förslagen hjälper Arbetsförmedlingens taxonomiredaktion att fånga upp nya och saknade yrken.
|
|
178
|
+
* **Strikt taxonomi (`af-manual-input="false"` – standard & rekommenderas):** När yrkesdatan ska användas för automatisk matchning, statistiska analyser eller integration mot backend-system som förutsätter Concept ID. Om `af-feedback="true"` kan användaren skicka in sitt förslag men måste därefter välja ett befintligt yrke ur listan.
|
|
179
|
+
* **Fritext tillåten (`af-manual-input="true"`):** I öppna fritextprofiler, fritextenkäter eller intresseanmälningar där det är viktigare att fånga upp vad användaren själv kallar sin roll än att få ett taxonomi-ID.
|
|
201
180
|
|
|
202
181
|
#### Tillåt historik (`af-history`)
|
|
203
|
-
* **Hur man kan resonera:** Sparar gjorda val i webbläsarens localStorage per domän och enhet, och visar dem som "Tidigare val" när användaren fokuserar Yrkesväljaren. Det betyder att historiken kommer att visas på alla tjänster med yrkesväljare på arbetsformedlingen.se (så länge personen använder samma enhet, t.ex sin mobil).
|
|
182
|
+
* **Hur man kan resonera:** Sparar gjorda val i webbläsarens localStorage per domän och enhet, och visar dem som "Tidigare val" när användaren fokuserar Yrkesväljaren. Det betyder att historiken kommer att visas på alla tjänster med yrkesväljare på arbetsformedlingen.se (så länge personen använder samma enhet, t.ex. sin mobil).
|
|
204
183
|
* **När det rekommenderas:** På alla tjänster mot konsumenter.
|
|
205
|
-
* **När det bör undvikas:** På delade publika terminaler eller kioskdatorer (t.ex. på Arbetsförmedlingens servicekontor) där personers tidigare sökningar inte ska sparas eller exponeras för efterföljande besökare på samma dator.
|
|
184
|
+
* **När det bör undvikas:** På delade publika terminaler eller kioskdatorer (t.ex. på Arbetsförmedlingens servicekontor) där personers tidigare sökningar inte ska sparas eller exponeras för efterföljande besökare på samma dator. I handläggartjänster är historiken sällan till hjälp, eftersom handläggare söker på många olika yrken.
|
|
206
185
|
|
|
207
186
|
### Välj datakälla
|
|
208
187
|
|
|
@@ -214,8 +193,12 @@ Välj ett av följande sätt:
|
|
|
214
193
|
|
|
215
194
|
En angiven `af-taxonomy-url` är den valda datakällan. Om URL:en inte kan laddas
|
|
216
195
|
går komponenten till felläge och skickar `afJobDataLoadFailed`.
|
|
217
|
-
<br>
|
|
218
196
|
|
|
197
|
+
Från `1.1.0` (`@taxonomy/yrkesvaljaren-data-vNN`) respektive `NN.1.0` (`@arbetsformedlingen/yrkesvaljaren-data`)
|
|
198
|
+
har varje post i datapaketets `taxonomyData` både `ssyk_level_4_id` (SSYK nivå 4 som concept-id) och
|
|
199
|
+
`ssyk_code_2012` (den fyrsiffriga SSYK 2012-koden). Hela posttypen finns i paketets `index.d.ts`.
|
|
200
|
+
Fälten är till för värdappar som läser datat direkt. Av de två fälten finns bara `ssyk_code_2012` i komponentens output.
|
|
201
|
+
<br>
|
|
219
202
|
### Events
|
|
220
203
|
|
|
221
204
|
| Händelse | Beskrivning |
|
|
@@ -223,6 +206,18 @@ går komponenten till felläge och skickar `afJobDataLoadFailed`.
|
|
|
223
206
|
| `afJobSelected` | Skickas ut när användaren ändrar valet. `event.detail` innehåller `JobSelectionItem[]` som kan skickas tillbaka till `setSelection()`. |
|
|
224
207
|
| `afJobDataLoadFailed` | Skickas när laddningen av yrkesdata misslyckas. |
|
|
225
208
|
| `afJobValidationChange` | Skickas när komponenten kör validering efter att fältet har berörts. `event.detail` innehåller `{ isValid: boolean, errorType: 'required'|'invalidInput'|null }`. |
|
|
209
|
+
| `afOnSubmitJobSuggestion` | Skickas när användaren skickar in ett förslag på saknat yrke till Arbetsförmedlingen. `event.detail` innehåller `{ selectedJobs: JobSelectionItem[], suggestionJob: string, suggestionMotivation: string }`. |
|
|
210
|
+
|
|
211
|
+
### Förslag och Piwik PRO
|
|
212
|
+
|
|
213
|
+
Förslag skickas automatiskt till Arbetsförmedlingens Piwik PRO när sidan har AF:s
|
|
214
|
+
Piwik PRO-skript. Containern lyssnar på `afOnSubmitJobSuggestion` och registrerar förslaget som
|
|
215
|
+
"AS - Designsystem - Yrkesväljaren - Inskickat förslag". Integratören behöver inte göra något,
|
|
216
|
+
och sidor utan skriptet påverkas inte.
|
|
217
|
+
|
|
218
|
+
Förslag och motivering kontrolleras mot vanliga personuppgifter, till exempel personnummer,
|
|
219
|
+
e-post, telefonnummer, adresser, kontonummer och webbadresser. Vid träff skickas ingenting och
|
|
220
|
+
användaren får rätta texten. Kontrollen minskar risken men garanterar inte att texten är anonym.
|
|
226
221
|
|
|
227
222
|
### Metoder
|
|
228
223
|
|
|
@@ -235,7 +230,7 @@ dataladdning.
|
|
|
235
230
|
|
|
236
231
|
| Metod | Returvärde | Beskrivning |
|
|
237
232
|
|:---|:---|:---|
|
|
238
|
-
| `setSelection(input)` | `Promise<JobSelectionItem[]>` | Sätter eller rensar ett programmatiskt val. Returnerar komponentens normaliserade
|
|
233
|
+
| `setSelection(input)` | `Promise<JobSelectionItem[]>` | Sätter eller rensar ett programmatiskt val. Returnerar komponentens normaliserade val. |
|
|
239
234
|
| `setFocus()` | `Promise<void>` | Flyttar fokus till sökfältet. Används när värdappen till exempel öppnar en modal eller vill fokusera fältet efter ett fel. |
|
|
240
235
|
|
|
241
236
|
#### Formulärvalidering
|
|
@@ -363,7 +358,7 @@ För att göra fältet obligatoriskt, använd `af-required`-attributet och stäl
|
|
|
363
358
|
></digi-service-job-selector>
|
|
364
359
|
```
|
|
365
360
|
|
|
366
|
-
När detta är inställt kommer komponenten att visa ett felmeddelande om användaren klickar i och sedan lämnar fältet utan att göra ett giltigt val. Om `af-manual-input`
|
|
361
|
+
När detta är inställt kommer komponenten att visa ett felmeddelande om användaren klickar i och sedan lämnar fältet utan att göra ett giltigt val. Om `af-manual-input` i stället är satt till `true` tillåts användaren att ange ett yrke manuellt via fritext.
|
|
367
362
|
<br>
|
|
368
363
|
#### Lyssna på valideringsstatus (`afJobValidationChange`)
|
|
369
364
|
|