Initializing...
Liveweave
Web
expand_more
home
Home
data_object
CSS Explorer
arrow_outward
Palette
Color Explorer
arrow_outward
Polyline
Graphics Editor
arrow_outward
outbox_alt
Generative AI
arrow_outward
frame_source
Python Editor
New
arrow_outward
build
Tools
expand_more
restart_alt
Load "Hello Weaver!"
post_add
Generate Lorem ipsum...
code
Format HTML
code_blocks
Format CSS
data_object
Format JavaScript
library_add
Library
expand_more
A
Algolia JS
Animate CSS
Apex Charts JS
B
Bulma CSS
Bootstrap
C
Chart JS
Chartist
Create JS
D
D3
Dojo
F
Foundation
Fullpage JS
G
Granim JS
Google Charts
H
Halfmoon
J
jQuery
M
Materialize
Moment JS
Masonry JS
Milligram CSS
P
Pure CSS
Primer CSS
Popper JS
Pattern CSS
Picnic CSS
R
React JS
Raphael JS
Raisin CSS
S
Semantic UI
Skeleton CSS
Spectre CSS
Tachyons CSS
T
Tailwind
Three JS
U
UI Kit
Vis JS
W
Water CSS
download
Download
expand_more
developer_mode
Download as HTML
folder_zip
Download as .ZIP
cloud_upload
Save
account_circle
Login
settings
Settings
expand_more
14
px
Live mode
Night mode
Line number
Mini map
Word wrap
sync_alt
Reset Settings
smart_display
Run
<html> <meta charset="utf-8"> <div> Strona ma za zadanie przefiltrowac umiejętności w taki sposób, by pokazać co możesz robić z danymi umiejętnościami, jaką pracę wykonywać. </div> <div> Drugim celem jest problem odwrotny, gdy wiesz jaką pracę chciałbyś wykonywać - jakich umiejętności potrzebujesz się douczyć, np. X,Y, Z. </div> <div> Wybierz, <a href="#" onclick="d();">dopasowanie twoich umiejętności do możliwych zawodów</a> vs <a href="#" onclick="p();">porównanie brakujących umiejętności dla konkretnego zawodu</a>.</div> <div id="query"></div> <div id="results" style="display: none"></div> <script type="text/javascript"> var skill_list; var job_list; var groups_list; var base_list; // TODO: sugestie kolejnego kroku, rozwoju = np lekarz => specjalizacja/zarzadzanie => ordynator ..., lub magazynier => niewymagane ale przydatne uprawnienia SEP // OSTATNI WPIS NIE KONCZY SIĘ PRZECINKIEM ! try { groups_list = JSON.parse(`{ "alfabetyzm": ["umiejętność pisania", "umiejętność czytania", "umiejętność mówienia", "umiejętność słuchania"] }`); base_list = JSON.parse(`{ "muzyk": ["wyczulenie zmysłów (słuch)", "wykształcenie kierunkowe"], "lekarz": ["znajomość anatomii", "empatia", "zdany egzamin LEK"] }`); job_list = JSON.parse(`{ "policjant": {"u": ["kondycja/sprawność fizyczna", "odporność na stres", "wiedza ogólna"], "grupa": ["alfabetyzm"]}, "grafik": {"u": ["znajomość programów graficznych", "zdolności artystyczne", "dtp"] }, "smieciarz": {"u": ["sprawność manualna", "tolerancja brzydkich zapachów", "siła fizyczna"] }, "górnik": {"u": ["odporność na stres", "siła fizyczna"] }, "lekarz": {"u": ["specjalizacja medyczna"], "baza": ["lekarz"] }, "ordynator": {"u": ["specjalizacja medyczna", "zarządzanie"], "baza": ["lekarz"] }, "copy-writer": {"u": ["pisanie tekstów ze słowem kluczowym", "bogaty zasób słownictwa", "kreatywność"] }, "spawacz": {"u": ["spawanie TIG/MIG/MAG", "precyzja", "cierpliwość"] }, "spawacz-nurek": {"u": ["spawanie TIG/MIG/MAG", "precyzja", "nurkowanie"] }, "elektryk": {"u": ["uprawnienia SEP", "wiedza techniczna"] }, "serwisant": {"u": ["sprawność manualna", "wiedza techniczna"] }, "fryzjer": {"u": ["sprawność manualna", "kreatywność", "umiejętności interpersonalne", "cierpliwość"] }, "śpiewak": {"u": ["wyczulenie zmysłów (głos)"], "grupa": ["muzyk"] }, "dyrygent": {"u": ["wyczucie muzycznej harmonii", "zarządzanie"], "grupa": ["alfabetyzm"], "baza": ["muzyk"] }, "sędzia": {"u": ["znajomość przepisów prawa"] }, "sportowiec": {"u": ["sportowe predyspozycje fizyczne"] }, "mechanik": {"u": ["siła fizyczna", "sprawność manualna", "wiedza techniczna", "cierpliwość"] }, "technolog": {"u": ["kreatywność", "wiedza techniczna"] }, "przedstawiciel handlowy": {"u": ["prawo jazdy", "umiejętność prezentacji publicznych", "umiejętności sprzedażowe", "umiejętność budowania sieci kontaktów"] }, "farmaceuta": {"u": ["cierpliwość", "dokładność", "umiejętności interpersonalne", "wykształcenie kierunkowe"] }, "taksówkarz": {"u": ["znajomość miasta", "prawo jazdy", "kultura osobista"] }, "kurier": {"u": ["znajomość miasta", "siła fizyczna", "prawo jazdy"] }, "sprzątacz": {"u": ["dokładność"] }, "konserwator": {"u": ["dokładność", "sprawność manualna"] }, "kierowca": {"u": ["prawo jazdy C/D/E"] }, "pracownik produkcji": {"u": ["odporność na znużenie"] }, "sprzedawca/kasjer": {"u": ["odporność na znużenie"] }, "robotnik budowlany": {"u": ["odporność na znużenie", "siła fizyczna"] }, "ochroniarz": {"u": ["kondycja/sprawność fizyczna"] }, "magazynier": {"u": ["kondycja/sprawność fizyczna", "uprawnienia na wózki", "uprawnienia na zwyżkę"] }, "rolnik": {"u": ["siła fizyczna", "posiadanie ziemi/gotówki na ziemię"]} }`); // wg opracowania Kompetencje zawodowe M.Kurbat: // związane z uzdolnieniami, z umiejętnościami, z wiedzą, fizyczne/psychofizyczne/wyczulenia zmysłów // osobiste, społeczne, menadzerskie, specjalistyczno-techniczne skill_list = JSON.parse(`[ "prawo jazdy B", "specjalistyczny sprzęt", "prawo jazdy C/D/E", "obsługa komputera", "znajomość matematyki", "znajomość historii", "znajomość geografii", "znajomość przepisów prawa", "znajomość przepisów podatkowych", "znajomość fizyki", "znajomość miasta", "wiedza techniczna", "książeczka sanepidu", "uprawnienia SEP", "uprawnienia na zwyżkę", "uprawnienia na wózki widłowe", "siła fizyczna", "kondycja/sprawność fizyczna", "sprawność manualna", "wyczulenie zmysłów (słuch)", "wyczulenie zmysłów (głos)", "wyczulenie zmysłów (węch)", "wyczulenie zmysłów (wzrok)", "wyczulenie zmysłów (smak)", "dobra pamięć", "wielozadaniowość", "myślenie kreatywne/kreatywność", "myślenie analityczne", "odporność na stres", "odporność na znużenie", "otwartość na krytykę", "otwartość na zmiany i niepewność", "kontrola emocji", "pewność siebie", "elastyczność/gotowość do nauki", "solidność", "humor", "kultura osobista", "umiejętność budowania sieci kontaktów", "znajomość mediów społecznościowych", "umiejętność swobodnej komunikacji", "umiejętność przemówień publicznych", "umiejętność prezentacji publicznych", "umiejętność budżetowania/kosztorysowania", "umiejętności sprzedażowe", "umiejętność pracy w zespole", "umiejętność pracy z dziećmi", "umiejętność pracy z młodzieżą", "umiejętność pracy bez nadzoru", "umiejętność wyszukiwania informacji", "umiejętność obsługi klienta", "umiejętność pisania raportów", "umiejętność rozwiązywania problemów", "umiejętność prioretyzowania problemów", "umiejętność przewidywania problemów", "umiejętności dydaktyczne", "decyzyjność", "zatrudnianie/zwalnianie pracowników", "budowanie zespołów", "negocjowanie umów", "prowadzenie spotkań", "motywowanie/coaching/rozwój podwładnych", "delegowanie zadań", "nadzór nad, i kontrola budżetu", "myślenie strategiczne", "ocena podwładnych", "planowanie", "przywództwo", "rozwiązywanie konfliktów", "kontrola czyjejś pracy" ]`); } catch (err) { document.write("Niepoprawny JSON - możesz sprawdzić jego poprawność online - wyszukaj w internecie 'online json validator'"); } var near = new Set(); var diff = new Set(); var all_jobs = new Set(); var all_skills = new Set(); var user_skills = new Set(); var user_jobs = new Set(); var user_able = new Set(); var you_nearly_can_do = {}; var show_what = 0; function add_skill(skill){ var but = document.getElementById(skill); if (user_skills.has(skill)){ user_skills.delete(skill); but.style = "background-color: "; } else { user_skills.add(skill); but.style = "background-color: Green"; } recalc_what_can_u_do(); show_what_can_u_do(); } function check_job_req(job) { var but = document.getElementById(job); if (user_jobs.has(job)){ user_jobs.delete(job); but.style = "background-color: "; } else { user_jobs.add(job); } recalc_what_can_u_do(); show_what = 2; show_what_can_u_do(); } function p(){ document.getElementById("results").innerHTML = ""; var div0 = document.getElementById("query"); div0.innerHTML = ""; var div3 = document.createElement("div"); div3.innerHTML = "wybierz swoje umiejetności:"; div0.append(div3); var div4 = document.createElement("div"); Array.from(all_skills).sort().forEach(function(skill){ div4.innerHTML += '<button id=\'' + skill + '\' onclick="add_skill(this.id)">' + skill + '</button> '; }); div0.append(div4); var div1 = document.createElement("div"); div1.innerHTML = "wybierz jako kto chcesz pracować:"; div0.append(div1); var div2 = document.createElement("div"); [...all_jobs].sort().forEach(function(job){ div2.innerHTML += '<button id=\'' + job + '\' onclick="check_job_req(this.id)">' + job + '</button> '; }); div0.append(div2); user_skills.clear(); // calc_single_job = true; show_what = 0; } function d(){ document.getElementById("results").innerHTML = ""; var div0 = document.getElementById("query"); div0.innerHTML = ""; var div1 = document.createElement("div"); div1.innerHTML = "wybierz swoje umiejetności:"; div0.append(div1); var div2 = document.createElement("div"); [...all_skills].sort().forEach(function(skill){ div2.innerHTML += '<button id=\'' + skill + '\' onclick="add_skill(this.id)">' + skill + '</button> '; }); div0.append(div2); user_skills.clear(); // calc_single_job = false; show_what = 1; } function check_single_job(job){ var skill_set = merge_job_skills(job); near = new Set([...user_skills].filter(skill => skill_set.has(skill))); diff = new Set([...skill_set].filter(skill => !user_skills.has(skill))); if (diff.size == 0){ user_able.add(job); } you_nearly_can_do[job] = near.size/skill_set.size; return diff; } function recalc_what_can_u_do(){ var div0 = document.getElementById("results"); div0.style.display = "none"; user_able = new Set(); you_nearly_can_do = {}; for (var job in job_list){ check_single_job(job); } } function show_what_can_u_do(){ var div0 = document.getElementById("results"); div0.innerHTML = ""; function spawn_list(container, style){ var have_style = (style == "undefined") ? '>' : ' style="' + style + '">'; var div = document.createElement("div"); if (container) container.forEach(function(item){ div.innerHTML += '<button' + have_style + " " + item + '</button> '; }); return div; } function make_div(txt, container, style){ div0.style.display = "block"; div0.innerHTML += txt; div0.append(spawn_list(container, style)); } if (show_what == 1){ if (user_able.size > 0){ make_div("Gratulacje! Możesz pracować jako:", user_able, "background-color: Green"); } selected = Object.keys(you_nearly_can_do).filter((job)=> you_nearly_can_do[job] > 0.7 && you_nearly_can_do[job] < 1.0); if (selected.length > 0){ make_div("Prawilnie! Niewiele brakuje umiejetności do:", selected, "background-color: LightGreen"); selected.forEach(function(job){ make_div("- brakujące umiejętności (" + job + "):<br/>", check_single_job(job)); }); } else if (user_skills.size == 0){ div0.style.display = "block"; div0.innerHTML = "Nic nie umiesz, przegrywie? :) Nic straconego, \ zawsze możesz spróbować zostać moderatorem śmiesznego portalu z obrazkami :)"; } else if (user_able.size == 0){ neraby = Object.keys(you_nearly_can_do).filter((job)=>you_nearly_can_do[job]>0.1).sort( function(a,b){return you_nearly_can_do[a]>you_nearly_can_do[b];} ).reverse().slice(0, 3); if (neraby.length > 0){ make_div("Ogarnij coś jeszcze - póki co najbliżej masz do (" + neraby + "):"); neraby.forEach(function(job){ make_div("- brakujące umiejętności (" + job + "):<br/>", check_single_job(job), "background-color: IndianRed"); }); } } } if (show_what == 2){ all_jobs.forEach(function(job){ document.getElementById(job).style = "background-color: "; // uncolor all }); if (user_able.size > 0){ user_able.forEach(function(job){ document.getElementById(job).style = "background-color: LightGreen"; // can do both selected and not selected for checkig }); } user_jobs.forEach(function(job){ var but = document.getElementById(job); if (user_able.has(job)){ but.style = "background-color: Green"; // can do, only selected for checking } else { but.style = "background-color: Red"; // cannot do, only selected for checking make_div("'otóż_nie.jpg' :) brakujące umiejetności (" + job + ") to:", check_single_job(job), "background-color: IndianRed"); } }); selected = Object.keys(you_nearly_can_do).filter((job)=> you_nearly_can_do[job] > 0.4 && you_nearly_can_do[job] < 1.0); if (selected.length > 0){ make_div("Niewielu umiejętności brakuje do:", selected, "background-color: Gray"); selected.forEach(function(job){ if (!user_jobs.has(job)) document.getElementById(job).style = "background-color: Gray"; }); } } if (show_what == 0){ div0.style.display = "none"; } }; function merge_job_skills(job){ var job_skills = new Set(); skill_set = job_list[job]["baza"]; if (skill_set) for (var skill_idx in skill_set) for (var skill_base_idx in base_list[skill_set[skill_idx]]) job_skills.add(base_list[skill_set[skill_idx]][skill_base_idx]); skill_set = job_list[job]["grupa"]; if (skill_set) for (var skill_idx in skill_set) for (var skill_group_idx in groups_list[skill_set[skill_idx]]) job_skills.add(groups_list[skill_set[skill_idx]][skill_group_idx]); skill_set = job_list[job]["u"]; if (skill_set) for (var skill_idx in skill_set) job_skills.add(skill_set[skill_idx]); return job_skills; } function init(){ for (var job in job_list){ all_skills = new Set(function*(){yield* merge_job_skills(job); yield* all_skills;}()); // console.log("ALL" + all_skills); all_jobs.add(job); } for (var skill_idx in skill_list){ all_skills.add(skill_list[skill_idx]); } } init(); </script> </html>
.lw { font-size: 60px; }
// Write JavaScript here