Преглед на файлове

Playground: Update `flow.module.js` - fix zoom

sunag преди 1 година
родител
ревизия
1a1e0a45b2
променени са 1 файла, в които са добавени 122 реда и са изтрити 2 реда
  1. 122 2
      playground/libs/flow.module.js

+ 122 - 2
playground/libs/flow.module.js

@@ -24,6 +24,12 @@ let _id = 0;
 
 class Serializer extends EventTarget {
 
+	static get type() {
+
+		return 'Serializer';
+
+	}
+
 	constructor() {
 
 		super();
@@ -74,7 +80,7 @@ class Serializer extends EventTarget {
 
 	get className() {
 
-		return this.constructor.name;
+		return this.constructor.type || this.constructor.name;
 
 	}
 
@@ -446,6 +452,12 @@ let selected = null;
 
 class Element extends Serializer {
 
+	static get type() {
+
+		return 'Element';
+
+	}
+
 	constructor( draggable = false ) {
 
 		super();
@@ -1230,6 +1242,12 @@ Element.icons = { unlink: '' };
 
 class Input extends Serializer {
 
+	static get type() {
+
+		return 'Input';
+
+	}
+
 	constructor( dom ) {
 
 		super();
@@ -1388,6 +1406,12 @@ Input.prototype.isInput = true;
 
 class Node extends Serializer {
 
+	static get type() {
+
+		return 'Node';
+
+	}
+
 	constructor() {
 
 		super();
@@ -1774,6 +1798,12 @@ Node.prototype.isNode = true;
 
 class DraggableElement extends Element {
 
+	static get type() {
+
+		return 'DraggableElement';
+
+	}
+
 	constructor( draggable = true ) {
 
 		super( true );
@@ -1803,6 +1833,12 @@ class DraggableElement extends Element {
 
 class TitleElement extends DraggableElement {
 
+	static get type() {
+
+		return 'TitleElement';
+
+	}
+
 	constructor( title, draggable = true ) {
 
 		super( draggable );
@@ -1954,6 +1990,12 @@ const dropNode = new Node().add( new TitleElement( 'File' ) ).setWidth( 250 );
 
 class Canvas extends Serializer {
 
+	static get type() {
+
+		return 'Canvas';
+
+	}
+
 	constructor() {
 
 		super();
@@ -2424,7 +2466,10 @@ class Canvas extends Serializer {
 
 	get useTransform() {
 
-		return navigator.userAgent.match( /firefox/i ) !== null;
+		const userAgent = navigator.userAgent;
+		const isSafari = /Safari/.test( userAgent ) && ! /Chrome/.test( userAgent );
+
+		return ! isSafari;
 
 	}
 
@@ -3643,6 +3688,12 @@ class Search extends Menu {
 
 class LabelElement extends Element {
 
+	static get type() {
+
+		return 'LabelElement';
+
+	}
+
 	constructor( label = '', align = '' ) {
 
 		super();
@@ -3746,6 +3797,12 @@ class LabelElement extends Element {
 
 class ButtonInput extends Input {
 
+	static get type() {
+
+		return 'ButtonInput';
+
+	}
+
 	constructor( innterText = '' ) {
 
 		const dom = document.createElement( 'button' );
@@ -3814,6 +3871,12 @@ class ButtonInput extends Input {
 
 class ColorInput extends Input {
 
+	static get type() {
+
+		return 'ColorInput';
+
+	}
+
 	constructor( value = 0x0099ff ) {
 
 		const dom = document.createElement( 'input' );
@@ -3846,6 +3909,12 @@ class ColorInput extends Input {
 
 class NumberInput extends Input {
 
+	static get type() {
+
+		return 'NumberInput';
+
+	}
+
 	constructor( value = 0, min = - Infinity, max = Infinity, step = .01 ) {
 
 		const dom = document.createElement( 'input' );
@@ -3953,6 +4022,15 @@ class NumberInput extends Input {
 
 	}
 
+	setInterger( bool ) {
+
+		this.integer = bool;
+		this.step = .1;
+
+		return this.setValue( this.getValue() );
+
+	}
+
 	get precision() {
 
 		if ( this.integer === true ) return 0;
@@ -4025,6 +4103,12 @@ class NumberInput extends Input {
 
 class SelectInput extends Input {
 
+	static get type() {
+
+		return 'SelectInput';
+
+	}
+
 	constructor( options = [], value = null ) {
 
 		const dom = document.createElement( 'select' );
@@ -4126,6 +4210,12 @@ const getStep = ( min, max ) => {
 
 class SliderInput extends Input {
 
+	static get type() {
+
+		return 'SliderInput';
+
+	}
+
 	constructor( value = 0, min = 0, max = 100 ) {
 
 		const dom = document.createElement( 'f-subinputs' );
@@ -4262,6 +4352,12 @@ class SliderInput extends Input {
 
 class StringInput extends Input {
 
+	static get type() {
+
+		return 'StringInput';
+
+	}
+
 	constructor( value = '' ) {
 
 		const dom = document.createElement( 'f-string' );
@@ -4426,6 +4522,12 @@ class StringInput extends Input {
 
 class TextInput extends Input {
 
+	static get type() {
+
+		return 'TextInput';
+
+	}
+
 	constructor( innerText = '' ) {
 
 		const dom = document.createElement( 'textarea' );
@@ -4467,6 +4569,12 @@ class TextInput extends Input {
 
 class ToggleInput extends Input {
 
+	static get type() {
+
+		return 'ToggleInput';
+
+	}
+
 	constructor( value = false ) {
 
 		const dom = document.createElement( 'input' );
@@ -4648,6 +4756,12 @@ class TreeViewNode {
 
 class TreeViewInput extends Input {
 
+	static get type() {
+
+		return 'TreeViewInput';
+
+	}
+
 	constructor( options = [] ) {
 
 		const dom = document.createElement( 'f-treeview' );
@@ -4728,6 +4842,12 @@ const LoaderLib = {};
 
 class Loader extends EventTarget {
 
+	static get type() {
+
+		return 'Loader';
+
+	}
+
 	constructor( parseType = Loader.DEFAULT ) {
 
 		super();

粤ICP备19079148号