How to use the metal-dom.dom.triggerEvent function in metal-dom

To help you get started, we’ve selected a few metal-dom examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github metal / metal.js / test / surfaces / SurfaceRenderer.js View on Github external
it('should attach listeners from element content', function() {
			var CustomComponent = createTestComponentClass({
				main: '<button data-onclick="handleClick" class="elementButton"></button>'
			});
			CustomComponent.prototype.handleClick = sinon.stub();

			component = new CustomComponent({
				id: 'main'
			}).render();
			var button = component.element.querySelector('.elementButton');
			dom.triggerEvent(button, 'click');
			assert.strictEqual(1, component.handleClick.callCount);
		});
github metal / metal.js / test / surfaces / SurfaceRenderer.js View on Github external
it('should attach listeners from surface element tag', function() {
			var CustomComponent = createTestComponentClass({
				main: '%%%%~s-main-foo~%%%%',
				'main-foo': '<div data-onclick="handleClick" id="main-foo"></div>'
			});
			CustomComponent.prototype.handleClick = sinon.stub();

			component = new CustomComponent({
				id: 'main'
			}).render();
			var element = component.element.querySelector('#main-foo');
			dom.triggerEvent(element, 'click');
			assert.strictEqual(1, component.handleClick.callCount);
		});
github metal / metal.js / test / Component.js View on Github external
it('should transfer events listened through "on" function to new element', function() {
			comp = new Component();
			var element = comp.element;
			var listener = sinon.stub();
			comp.on('click', listener);

			var newElement = document.createElement('div');
			comp.element = newElement;

			dom.triggerEvent(element, 'click');
			assert.strictEqual(0, listener.callCount);

			dom.triggerEvent(newElement, 'click');
			assert.strictEqual(1, listener.callCount);

			comp.dispose();
			dom.triggerEvent(newElement, 'click');
			assert.strictEqual(1, listener.callCount);
		});
github liferay / senna.js / test / app / App.js View on Github external
it('should not capture form if navigate fails when submitting forms', () => {
		var form = enterDocumentFormElement('/path', 'post');
		this.app = new App();
		this.app.setAllowPreventNavigate(false);
		dom.on(form, 'submit', preventDefault);
		dom.triggerEvent(form, 'submit');
		assert.ok(!globals.capturedFormElement);
		exitDocument(form);
	});
github metal / metal.js / test / Component.js View on Github external
it('should listen to custom events on the element', function() {
			var CustomComponent = createCustomComponentClass();
			comp = new CustomComponent();

			var listener = sinon.stub();
			comp.on('transitionend', listener);

			dom.triggerEvent(comp.element, features.checkAnimationEventName().transition);
			assert.strictEqual(1, listener.callCount);
		});
github metal / metal.js / test / Component.js View on Github external
it('should attach delegate events with specified selector', function() {
				var CustomComponent = createCustomComponentClass('<button class="testButton"></button>');
				CustomComponent.prototype.listener1 = sinon.stub();

				comp = new CustomComponent({
					events: {
						click: {
							fn: 'listener1',
							selector: '.testButton'
						}
					}
				});

				dom.triggerEvent(comp.element, 'click');
				assert.strictEqual(0, comp.listener1.callCount);
				dom.triggerEvent(comp.element.querySelector('.testButton'), 'click');
				assert.strictEqual(1, comp.listener1.callCount);
			});
github metal / metal.js / test / Component.js View on Github external
it('should attach delegate events with specified selector', function() {
				var CustomComponent = createCustomComponentClass('<button class="testButton"></button>');
				CustomComponent.prototype.listener1 = sinon.stub();

				comp = new CustomComponent({
					events: {
						click: {
							fn: 'listener1',
							selector: '.testButton'
						}
					}
				});

				dom.triggerEvent(comp.element, 'click');
				assert.strictEqual(0, comp.listener1.callCount);
				dom.triggerEvent(comp.element.querySelector('.testButton'), 'click');
				assert.strictEqual(1, comp.listener1.callCount);
			});
github liferay / senna.js / test / app / App.js View on Github external
load(path) {
				dom.triggerEvent(enterDocumentLinkElement('/path3'), 'click');
				exitDocumentLinkElement();
				return super.load(path);
			}
		}
github metal / metal.js / test / Component.js View on Github external
var CustomComponent = createCustomComponentClass('<div class="foo"></div>');
			comp = new CustomComponent();

			var fooElement = comp.element.querySelector('.foo');
			var listener = sinon.stub();
			comp.delegate('click', '.foo', listener);

			var newElement = document.createElement('div');
			comp.element = newElement;
			dom.append(newElement, '<div class="foo"></div>');

			dom.triggerEvent(fooElement, 'click');
			assert.strictEqual(0, listener.callCount);

			var newFooElement = newElement.querySelector('.foo');
			dom.triggerEvent(newFooElement, 'click');
			assert.strictEqual(1, listener.callCount);

			comp.dispose();
			dom.triggerEvent(newFooElement, 'click');
			assert.strictEqual(1, listener.callCount);
		});
github liferay / senna.js / test / app / App.js View on Github external
this.app.setAllowPreventNavigate(false);
		this.app.addRoutes(new Route('/path', Screen));
		dom.on(link, 'click', preventDefault);
		dom.triggerEvent(link, 'click', {
			altKey: true
		});
		dom.triggerEvent(link, 'click', {
			ctrlKey: true
		});
		dom.triggerEvent(link, 'click', {
			metaKey: true
		});
		dom.triggerEvent(link, 'click', {
			shiftKey: true
		});
		dom.triggerEvent(link, 'click', {
			button: true
		});
		assert.strictEqual(null, this.app.pendingNavigate);
		exitDocumentLinkElement();
	});