Agenda items weergeven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fullstack JavaScript developer (ReactJS, NodeJS, T

Functie Het team bestaat momenteel uit ruim 15 collega’s, waarvan ruim de helft in het ontwikkelteam werkzaam is. Er zijn gave plannen om het platform ook te gaan toepassen op bijv. vliegvelden, maar ook internationale groei zit in het verschiet en daarom zijn ze op zoek naar versterking. Als Fullstack JavaScript developer werk je nauw samen met 9 fullstack (Python en .NET) developers. Binnen het team ga jij je toespitsen op het creeren van de optimale toegankelijkheid en user experience. Om dit voor elkaar te krijgen zul je ontwerpen, programmeren, testen en implementeren. Het hele proces dus! Maar ook bijvoorbeeld

Bekijk vacature »

Mendix Developer

Functie Wat ga je doen als Mendix Developer? We leven in een wereld die snel ontwikkelt en veranderd, ook nemen bedrijfsbelangen toe en blijken risico’s moeilijker in te schatten, daarom wij op zoek naar Junior, Medior en Senior Developers die bedrijven kunnen helpen met hun screeningproces en zorgen dat deze efficiënt en 100 procent AVG compliant is. Het concept achter Mendix is duidelijk. De klant heeft een vraag/probleem. Dit kunnen we door middel van slimme software oplossen. In plaats van te werken met de nieuwste technieken en tools, wordt er gekozen voor het implementeren en maken van software dat op

Bekijk vacature »

Front end ontwikkelaar

Functie Het huidige team bestaat uit momenteel uit 5 back end developers verdeeld van senior tot junior. Omdat de gehele front end van applicaties anders gaan insteken zijn ze op zoek naar een ervaren Front end developer die hen kan helpen de juiste keuzes te maken. Je krijgt veel vrijheid om te bepalen hoe je dit wilt ontwikkelen en vrijheid in welke techniek je hiervoor wilt gebruiken. Je zult je dus bezighouden met architectuur, documentatie en natuurlijk ontwikkeling van nieuwe functionaliteiten binnen de verschillende applicaties. natuurlijk heb jij ook mogelijkheden om te sparren binnen het team, maar ze gaan uit

Bekijk vacature »

.NET developer

Functie The position we have for you As a .NET developer you will work for one of our customers active in the High Tech Industry. Our customers are mainly located in the Eindhoven area. We are very selective when it comes to the projects we accept and therefore only focus on innovative and complex projects. Because our customers are mainly specialized in machine construction, you often work close to the machines. Our team currently consists of Embedded engineers, IOT developers and Cloud engineers. We mainly work on Microsoft projects where WPF, UWP, .NET Core and Microsoft Azure are used. Eisen

Bekijk vacature »

Junior Back end developer PHP, Symfony

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Senior Java developer

Als Senior Developer bij Sogeti ben je onderdeel van onze toonaangevende best-gecertificeerde Java community. Deze bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Aval en de Nationale Politie. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We

Bekijk vacature »

C# Developer

Dit ga je doen De requirements in kaart brengen van de klant; Implementeren van functionele en technische specificaties bij opdrachtgevers; Oplossen van bugs; Meewerken aan maatwerksoftware voor nieuwe opdrachtgevers; Het testen en uitleveren van nieuwe functionaliteiten naar de acceptatie en productieomgeving De database ontwikkelen en onderhouden; Hier ga je werken Onze klant is gevestigd in het westen van Nederland en is gespecialiseerd in het ontwikkelen van software voor de levensmiddelen industrie. De software die het team maakt optimaliseert voornamelijk de administratieve processen, maakt deze meetbaar en zorgt ervoor dat de data zo goed mogelijk gebruikt kan worden. Binnen een van

Bekijk vacature »

Senior Developer Betty Blocks Blauwe Haven Rotterd

Functieomschrijving Voor de Politie zijn wij opzoek naar een Senior Developer Betty Blocks Blauwe Haven Rotterdam. De politieorganisatie heeft jaarlijks te maken met een aanzienlijk aantal politiemedewerkers die vanwege mentale overbelasting niet of beperkt inzetbaar zijn. De Blauwe Haven Rotterdam ondersteunt deze politiemedewerkers in hun herstel en re-integratieproces. De huidige digitale systemen van de Politie bieden onvoldoende ondersteuning in het herstel- en re-integratieproces van politiemedewerkers. Zowel voor de politiemedewerkers als voor de organisatie. Politiemedewerkers worden buitengesloten, waardoor zij eigen regie verliezen. Begeleiders kunnen de voortgang van de medewerkers niet goed monitoren. Management beschikt niet over de mogelijkheid trends te signaleren

Bekijk vacature »

Senior Java Developer

Als Senior Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde Java professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfs kritische systemen voor onze klanten in regio Noordoost zoals DUO, ING, CJIB en Tendernet. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We organiseren regelmatig technische Meetups en doen veel aan kennisdeling. Sogetisten hebben plezier in hun werk en

Bekijk vacature »

Lead developer

Functie Als Lead developer wordt jij onderdeel van een multidisciplinair team van circa 23 software engineers. Als team werken jullie agile en zijn termen als Continuous Integration en Continuous Delivery dagelijkse koek. Jullie werken aan uitdagende en afwisselende projecten met als doel klanten een totaal oplossing aan te kunnen bieden. Jij wordt verantwoordelijk voor complete projecten waarbij jij als verantwoordelijke zorgt dat het project op de juiste manier blijft draaien. Zo haal jij ook de requirements op bij de klant en kijk jij samen met het team en met de salesafdeling hoeveel uren hiervoor nodig zijn. Daarnaast stuur jij jouw

Bekijk vacature »

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

PHP Web Developer

Functie omschrijving Voor een klein softwarebedrijf in de omgeving Roosendaal, zijn wij op zoek naar een PHP web developer met een aantal jaar werkervaring. Wil jij graag werken aan in-house software projecten voor diverse klanten? Voel jij je prettige in een klein team developers, waar jouw inbreng enorm gewaardeerd wordt? Lees dan snel verder! Jouw werkzaamheden zien er als volgt uit: Je wordt verantwoordelijk voor de ontwikkeling van diverse applicaties. Dit kan de ene keer een online platform voor aanbiedingen zijn, en de andere keer een software pakket dat gebruikt wordt om interne processen te automatiseren. Het zijn stuk voor

Bekijk vacature »

.NET developer

Functie Als .NET developer wordt jij onderdeel van ons ICT team. In dit multidisciplinaire team ben jij samen met onze senior .NET ontwikkelaar en medior .NET ontwikkelaar verantwoordelijk voor ons ERP systeem. In dit systeem (Navision) ga jij leren ontwikkelen. Wij bieden jou dan ook een gedegen opleiding aan, samen met de ondersteuning van onze Senior .NET developer. Daarnaast ga jij aan de slag met ons portaal geschreven in Sharepoint. Verder ben jij verantwoordelijk voor EDI verkeer en het ontwikkelen binnen het ERP systeem en andere toepassingen en rapportages. Van jou wordt verwacht dat jij het proces goed leert kennen

Bekijk vacature »

Functioneel applicatiebeheerder - SOP-SYS-SAM

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Functioneel Applicatiebeheerder op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je gaat samenwerken in een team van circa 15 functioneel applicatiebeheerders en gaat onderdeel uitmaken van een DevOps team. Met dit team ga je applicaties (laten) ontwikkelen en beheren. Hierbij concentreer je je vooral op de functionele aspecten, zodat

Bekijk vacature »
Ad Fundum

Ad Fundum

05/09/2021 20:37:06
Quote Anchor link
Ik wil graag een agenda view bouwen. Mijn idee is om een weekoverzicht (ma t/m zo) te maken waarop elke dag afspraken staan. De afspraken worden grafisch weergegeven, met een div waar je op kunt klikken.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
+----+----+----+----+----+----+----+
| ma | di | wo | do | vr | za | zo |
+----+----+----+----+----+----+----+
| [] | [] |    |    | [] | [] |    |
|    | [] | [] |    | [] |    |    |
|    | [] |    | [] |    | [] |    |
+----+----+----+----+----+----+----+

Wat het lastig maakt is dat op eenzelfde dag afspraken kunnen overlappen. Daarvoor dacht ik heel handig een CSS grid layout te kunnen gebruiken. Het raster heeft dan in de Y-as de minuten met grid-template-rows, en de kolommen nemen dan autmatisch weinig plaats in doordat CSS ze automatisch in de kolommen plaatst waar nog ruimte is met grid-auto-flow.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!DOCTYPE html>
<html>
  <head>
    <style>
    .agenda {
      width: 16em;
      height: 350px;
      background-color: whitesmoke;
      border: 1px solid lightgrey;
      display: inline-grid;
      grid-template-rows: repeat(calc(24 * 60), 1fr);
      grid-auto-flow: dense;
    }
    .afspraak {border: 1px solid grey;}
    #afspraak-1 {grid-row: calc(calc(60 * 10) + 30)
                         / calc(calc(60 * 12) + 10);}
    #afspraak-2 {grid-row: calc(calc(60 * 11) + 15)
                         / calc(calc(60 * 11) + 30);}
    #afspraak-3 {grid-row: calc(calc(60 * 15) + 15)
                         / calc(calc(60 * 20) + 30);}
    </style>
  </head>
  <body>
    <div class="agenda">
      <div class="afspraak" id="afspraak-1">a</div>
      <div class="afspraak" id="afspraak-2">t</div>
      <div class="afspraak" id="afspraak-3">j</div>
    </div>
  </body>
</html>

Alleen, het algoritme achter dense houdt de afspraken 1 kolom breed, ook al is er meer plaats als afspraken niet (zo veel) overlappen, bijvoorbeeld bij #afspraak-3.
Als ik dit vergelijk met Outlook, dan doet Outlook dat een stuk slimmer.
Ik heb zitten Googelen naar een algoritme voor het gedrag van Outlook, met steekwoorden als "greedy", maar ik kan niets vinden dat lijkt op hoe Outlook het doet.

De agendatabel is heel simpel, met tijdstempels 'van' en 'tot', een kolom 'id' en een kolom 'onderwerp'.
Hoe reken je zo iets uit in PHP?
 
PHP hulp

PHP hulp

26/04/2024 12:05:37
 
Rob Doemaarwat

Rob Doemaarwat

06/09/2021 09:53:23
Quote Anchor link
Ik heb geen Outlook, maar ik vermoed dat je wenst wat (bijvoorbeeld) de Thunderbird kalender ook doet: afspraak 3 had nu de volle breedte moeten pakken (daar waar 1+2 beide de helft krijgen omdat ze deels hetzelfde tijdvak beslaan)?

Geen idee hoe (of) je dit met puur CSS op kunt lossen. Wat je met PHP kun doen is natuurlijk door alle afspraken heen lopen (van+tot tijden chronologisch), en zelf "slots" gaan bepalen. Als een afspraak begint kijk je welk "slot" (laagste nummer) vrij is, en daarin plaats je die afspraak. Als de afspraak eindigt maak je het slot weer leeg (zodat het voor een volgende afspraak hergebruikt kan worden. Op het eind weet je zo hoeveel slots je over de dag heen maximaal nodig hebt (dit met name voor de CSS / breedte berekening). Per afspraak kun je dan weer uit gaan rekenen welk deel van de kolombreedte je nodig hebt (bij 1 slot de volle breedte = 100%, bij 2 de helft = 50%, bij 3 slots 33.333%, enz). Je kauwt de HTML dus behoorlijk uit, en positioneert de boel redelijk absoluut (met procenten) in de <div> voor de betreffende dag.
 
Ward van der Put
Moderator

Ward van der Put

06/09/2021 14:32:23
Quote Anchor link
Je kunt een grid template gebruiken:

https://css-tricks.com/building-a-conference-schedule-with-css-grid/

OVerlappende afspraken zou je binnen de grid met een flexbox kunnen afhandelen:

https://css-tricks.com/snippets/css/a-guide-to-flexbox/

(Deze cheatsheet is sowieso wel een permanente bookmark waard.)
 
Ad Fundum

Ad Fundum

06/09/2021 16:07:15
Quote Anchor link
Bedankt voor het meedenken.

Ik gebruik nu een grid, met "grid-template-rows: repeat(288, 1fr);" voor een cell per 5 minuten, en "grid-auto-flow: dense;" om de kolommen goed te krijgen. Het is werkbaar, maar ik zou het er liever uit hebben zien als de 1e link van Ward / Thunderbird / Outlook.
Achter de link wordt gebruik gemaakt van "grid-column: track-2-start / track-3-end; /* spanning two tracks! */", maar hoe bereken je dat voor een dynamische view?

Flexbox klinkt interessant, en ik ken de link, maar hoe zet je dat in voor een agenda layout, als de overlappende afspraken elkaar ook gedeeltelijk overlappen?
Gewijzigd op 06/09/2021 16:12:16 door Ad Fundum
 
Ad Fundum

Ad Fundum

13/09/2021 21:33:05
Quote Anchor link
Grid valt toch een beetje tegen, dacht ik een achtergrondje in te kunnen stellen met linear-gradients voor wat lijnen, lijnen de CSS grid childs niet uit met de CSS achtergrond, waardoor het misschien nog efficienter is om CSS grid te vervangen voor eigen percentages (maar dan moet ik het helemaal zelf uitrekenen).

Toevoeging op 14/09/2021 10:05:29:

Sommige dingen zijn een kwestie van wennen... het coordinatensysteem met CSS Grid begint natuurlijk vanaf 1, niet vanaf 0... nu past het perfect.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.