Skip to content

Instantly share code, notes, and snippets.

View maimArt's full-sized avatar

Martin Maier maimArt

View GitHub Profile
@maimArt
maimArt / screenshoter.js
Last active January 21, 2019 06:14
Screenshoter for protractor
const { writeFile, mkdirSync, existsSync } = require('fs');
/**
* Handles taking and saving screenshots in browserstack environment.
*/
class Screenshoter {
/**
* @param capabilityName name of capability used for saving the screenshots (must be valid for file names)
*/
constructor(capabilityName) {
@maimArt
maimArt / mock-server.js
Created October 30, 2018 06:32
json-server class + start-script
const fs = require('fs');
const jsonServer = require('json-server');
class MockServer {
constructor(logEnabled = false) {
fs.copyFileSync(__dirname + '/db.json', __dirname + '/db_session.json');
this.logEnabled = logEnabled;
this.application = jsonServer.create();
@maimArt
maimArt / replicationbuilder-chainable.ts
Created July 22, 2018 08:44
Chainable ReplicationBuilder
return ReplicationBuilder.forObject(state)
.property('party').replaceValueOf('name').with('MyParty').replaceValueOf('members').by((members) => [...members, newMember])
.property('initiator').replaceValueOf('prename').with('Party').replaceValueOf('surname').with('guy')
.build();
@maimArt
maimArt / replicationbuilder-syntax.ts
Last active July 22, 2018 08:44
ReplicationBuilder Syntax
// simply replace property by with new value
return ReplicationBuilder.forObject(state).property('party') .replaceValueOf('name').with('MyParty') .build()
// replace property depending on old value
return ReplicationBuilder.forObject(state).property('party')
.replaceValueOf('partymemberArray').by((oldPartymemberArray) => [...oldPartymemberArray, 'new partymember'])
.build()
// clone property and apply some function on it
return ReplicationBuilder.forObject(state)
@maimArt
maimArt / BidirectionalHeterogeneousListBinding.java
Created January 29, 2018 13:01
Bidirectional binding of heterogeneous javafx lists
import java.util.HashMap;
import java.util.Map;
import java.util.function.Function;
import javafx.beans.property.ListProperty;
import javafx.beans.property.Property;
import javafx.beans.property.SimpleListProperty;
import javafx.collections.FXCollections;
import javafx.collections.ListChangeListener;
@maimArt
maimArt / css
Created June 12, 2017 10:42
LoadingWrapper
.loadingWrapper {
display: inline-block;
}
.loadingSpinner {
margin-left: 5px !important;
display: inline-block;
height: 15px !important;
position: relative;
top: 2px;
@maimArt
maimArt / js
Created June 12, 2017 10:42
LoadingWrapper
define(['react', 'react-dom', 'lodash', './LoadingWrapper.rt'], function (React, ReactDOM, _, template) {
'use strict';
return React.createClass({
displayName: 'LoadingWrapper',
render: template,
propTypes: {
isLoading: React.PropTypes.bool.isRequired,
loadingText: React.PropTypes.string
},
@maimArt
maimArt / rt
Created June 12, 2017 10:42
LoadingWrapper
<div class="loadingWrapper"
rt-class="{centered: this.props.center === 'true' && !this.state.loadingEnded, fullWidth: this.props.fullWidth === 'true'}">
<div ref="loadingContainer" key="loadingContainer" rt-if="!this.state.loadingEnded">
<div class="sk-spinner sk-spinner-wave loadingSpinner">
<div class="sk-rect1" />
<div class="sk-rect2" />
<div class="sk-rect3" />
<div class="sk-rect4" />
<div class="sk-rect5" />
</div>
@maimArt
maimArt / java
Last active June 12, 2017 10:39
RestRequest
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.GenericType;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
import org.glassfish.jersey.jackson.JacksonFeature;
@maimArt
maimArt / java
Created June 12, 2017 10:38
RestClient
import javax.ws.rs.core.Response;
import java.text.MessageFormat;
import java.util.logging.Logger;
public class RestClient
{
private final static Logger LOGGER = Logger.getLogger( RestRequest.class.getSimpleName() );
private String username;