Connects the sortable to a script that can save it via ajax
A Pen by Matthijs Alles on CodePen.
import parseCsv from 'zipbooks/utils/parse-csv' | |
import { module, test } from 'qunit' | |
module('Unit | Utility | parse-csv', function(_hooks) { | |
test('parses csv successfully', function(assert) { | |
let result = parseCsv('name,age\nadam,31\ntim,32\n"St, clair",26') | |
assert.equal(JSON.stringify(result), '[["name","age"],["adam","31"],["tim","32"],["St, clair","26"]]') | |
}) |
{ | |
"bring back the scaffold to vue files": { | |
"prefix": "scaffold", | |
"body": [ | |
"<template>", | |
" <div>$TM_FILENAME_BASE</div>", | |
"</template>", | |
"", | |
"<script>", | |
"export default {", |
Connects the sortable to a script that can save it via ajax
A Pen by Matthijs Alles on CodePen.
<?php namespace ProcessWire; | |
// code goes in ready.php | |
// Hook into login/logout sessions | |
wire()->addHookAfter('Session::loginSuccess', null, 'checkLoggedIn'); | |
wire()->addHookBefore('Session::logout', null, 'removeLoggedIn');// Hook before to get $user->id | |
/** | |
* Check if a user is already logged in | |
* | |
* If user logged in, take an action (notify,logout,etc). |
{ | |
"pages->find(\"selector\")": { | |
"prefix": "pages find(\"selector\")", | |
"body": [ | |
"\\$${1:pages}->find(\"${2:selector}\");" | |
], | |
"description": "Find and return all pages matching the given selector string. Returns a filtered PageArray unless an include mode is specified." | |
}, | |
"pages->count(\"selector\")": { | |
"prefix": "pages count(\"selector\")", |
license: gpl-3.0 |
license: gpl-3.0 |
(function() { | |
// Based on article @ http://www.toptal.com/d3-js/towards-reusable-d3-js-charts | |
// Publish a factory method for Chart instances | |
// @usage: | |
// var runningChart = BarChart.instanceOf( {barPadding : 2 } ); | |
// var weatherChart = BarChart.instanceOf() | |
// .fillColor('coral'); | |
window.BarChart = { |
Using a new updatable chart format. Update functions are made accessible to the caller, handing over chart controls with full functionality to the caller in a modular manner. Data binding is done with method chaining, like any other configuration variable, and can be changed after initialization. This allows for changes to be rendered in the context of chart history, leveraging D3's transitions and update logic.