瀏覽代碼

Added Click observer manual test.

Piotr Jasiun 9 年之前
父節點
當前提交
0d76dd6da9

+ 5 - 0
packages/ckeditor5-engine/tests/treeview/manual/clickobserver.html

@@ -0,0 +1,5 @@
+<button id="clickerA">Clicker A</button>
+<button id="clickerB">Clicker B</button>
+
+<button id="enable1">Enable event 1</button>
+<button id="disable1">Disable event 1</button>

+ 42 - 0
packages/ckeditor5-engine/tests/treeview/manual/clickobserver.js

@@ -0,0 +1,42 @@
+/**
+ * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md.
+ */
+
+/* global console:false */
+
+'use strict';
+
+import TreeView from '/ckeditor5/core/treeview/treeview.js';
+import DomEventObserver from '/ckeditor5/core/treeview/observer/domeventobserver.js';
+
+const treeView = new TreeView();
+
+class ClickObserver extends DomEventObserver {
+	constructor( id ) {
+		super();
+
+		this.id = id;
+		this.domEventType = 'click';
+	}
+
+	onDomEvent( domEvt ) {
+		this.fire( 'click', this.id, domEvt.target.id );
+	}
+}
+
+const observer1 = new ClickObserver( 1 );
+const observer2 = new ClickObserver( 2 );
+
+treeView.on( 'click', ( evt, eventId, elementId ) => console.log( 'click', eventId, elementId ) );
+document.getElementById( 'enable1' ).addEventListener( 'click', () => observer1.enable() );
+document.getElementById( 'disable1' ).addEventListener( 'click', () => observer1.disable() );
+
+// Random order
+treeView.addObserver( observer1 );
+
+treeView.createRoot( document.getElementById( 'clickerA' ), 'clickerA' );
+
+treeView.addObserver( observer2 );
+
+treeView.createRoot( document.getElementById( 'clickerB' ), 'clickerB' );

+ 11 - 0
packages/ckeditor5-engine/tests/treeview/manual/clickobserver.md

@@ -0,0 +1,11 @@
+@bender-ui: collapsed
+@bender-tags: treeview
+
+ - Open console.
+ - Click Clicker A.
+ - 2 events should be fired.
+ - Click Clicker B.
+ - 2 events should be fired.
+ - disable event "1".
+ - Click Clicker A.
+ - 1 event should be fired.