Do you want to enable a special mode where users can only post comments? They could only insert or delete comments, but not interfere with the structure of the diagram. Take a look at this code pen.
A Pen by Max Dolgov on CodePen.
<div id="paper-container"></div> | |
<div id="tools"> | |
<input type="radio" name="tools" id="Pointer"> | |
<label for="Pointer">Pointer</label> | |
<input type="radio" name="tools" id="Line"> | |
<label for="Line">Line</label> | |
<input type="radio" name="tools" id="Rectangle" checked> | |
<label for="Rectangle">Rectangle</label> | |
<input type="radio" name="tools" id="Ellipse"> |
Do you want to enable a special mode where users can only post comments? They could only insert or delete comments, but not interfere with the structure of the diagram. Take a look at this code pen.
A Pen by Max Dolgov on CodePen.
/** | |
* Prevent click events after a touchend. | |
* | |
* Inspired/copy-paste from this article of Google by Ryan Fioravanti | |
* https://developers.google.com/mobile/articles/fast_buttons#ghost | |
* | |
* USAGE: | |
* Prevent the click event for an certain element | |
* ```` | |
* PreventGhostClick(myElement); |
license: gpl-3.0 | |
redirect: https://observablehq.com/@d3/draw-me |
<!DOCTYPE html> | |
<html manifest=sketch.manifest> | |
<head> | |
<meta charset=utf-8> | |
<title>Sketch</title> | |
<meta name=apple-mobile-web-app-capable content=yes> | |
<meta name=apple-mobile-web-app-status-bar-style content=black> | |
<meta name=viewport content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, minimal-ui"> | |
<link href="http://staticresource.com/formal.css" rel=stylesheet type=text/css> | |
<script>eval(unescape(escape('♶♡♲☠♩☽♤♯♣♵♭♥♮♴☮♣♲♥♡♴♥♅♬♥♭♥♮♴☨☧♣♡♮♶♡♳☧☩☬♣☽♩☮♧♥♴♃♯♮♴♥♸♴☨☧☲♤☧☩☬♦☽♤♯♣♵♭♥♮♴☮♣♲♥♡♴♥♅♬♥♭♥♮♴☨☧♬♩♮♫☧☩☬♭☽♤♯♣♵♭♥♮♴☮♣♲♥♡♴♥♅♬♥♭♥♮♴☨☧♬♩♮♫☧☩☻♩☮♷♩♤♴♨☽☲☰☰☻♩☮♨♥♩♧♨♴☽☲☰☰☻♣☮♦♩♬♬♓♴♹♬♥☽☧♬♩♧♨♴♧♯♬♤♥♮♲♯♤♹♥♬♬♯♷☧☻♣☮♢♥♧♩♮♐♡♴♨☨☩☻♣☮♭♯♶♥♔♯☨☱☰☬☰☩☻♣☮♬♩♮♥♔♯☨☱☹☰☬☰☩☻♣☮♱♵♡♤♲♡♴♩♣♃♵♲♶♥♔♯☨☲☰☰☬☰☬☲☰☰☬☱☰☩☻♣☮♬♩♮♥♔♯☨☲☰☰☬☱☹☰☩☻♣☮♱♵♡♤♲♡♴♩♣♃♵♲♶♥♔♯☨☲☰☰☬☲☰☰☬☱☹☰☬☲☰☰☩☻♣☮♬♩♮♥♔♯☨☱☰☬☲☰☰☩☻♣☮♱♵♡♤♲♡♴♩♣♃♵♲♶♥♔♯☨☰☬☲☰☰☬☰☬☱☹☰☩☻♣☮♬♩♮♥♔♯☨☰☬☱☰☩☻♣☮♱♵♡♤♲♡♴♩♣♃♵♲♶♥♔♯☨☰☬☰☬☱☰☬☰☩☻♣☮♣♬♯♳♥♐♡♴♨☨☩☻♣☮♦♩♬♬☨☩☻♣☮♳♴♲♯♫♥♓♴♹♬♥☽☧♲♥♤☧☻♣☮♬♩♮♥♗♩♤♴♨☽☳☰☻♣☮♬♩♮♥♃♡♰☽☧♲♯♵♮♤☧☻♣☮♢♥♧♩♮♐♡♴♨☨☩☻♣☮♭♯♶♥♔♯☨☴☵☬☱☳☰☩☻♣☮♢♥♺♩♥♲♃♵♲♶♥♔♯☨☴☵☬☱☳☰☬☷☰☬☲☰☰☬☱☰☵☬☱☳☰☩☻♣☮♢♥♺♩♥♲♃♵♲♶♥♔♯☨☱☰☵☬☱☳☰☬☱☴☰☬☵☰☬ |
<script src="https://code.highcharts.com/highcharts.js"></script> | |
<script src="https://code.highcharts.com/modules/series-label.js"></script> | |
<script src="https://code.highcharts.com/modules/exporting.js"></script> | |
<script src="https://code.highcharts.com/modules/export-data.js"></script> | |
<script src="https://code.highcharts.com/modules/accessibility.js"></script> | |
<figure class="highcharts-figure"> | |
<div id="container"></div> | |
<p class="highcharts-description"> | |
Basic line chart showing trends in a dataset. This chart includes the |
function walkObjectRecursive(source, mapper = (v, k) => ({ [k]: v })) { | |
if (typeof source !== 'object' || source === null || source === undefined) { | |
return source | |
} | |
if (Array.isArray(source)) { | |
return source.reduce((acc, val, index) => [...acc, mapper(walkObjectRecursive(val, mapper), index)], []) | |
} | |
return Object.keys(source).reduce( |
# https://nsikakimoh.com/blog/remove-docker-completely-from-mac | |
sudo rm -rf ~/.docker | |
sudo rm -rf ~/Library/Containers/com.docker.docker | |
sudo rm -rf ~/Library/Group\ Containers/group.com.docker | |
sudo rm -rf ~/Library/Caches/com.docker.docker | |
sudo rm -rf /Library/PrivilegedHelperTools/com.docker.vmnetd | |
sudo rm -rf /Library/LaunchDaemons/com.docker.vmnetd.plist | |
sudo rm -rf /usr/local/lib/docker | |
sudo rm -rf ~/Library/Application Support/Docker Desktop |