Merge "Introduce Gerrit.FireBehavior"
This commit is contained in:
55
polygerrit-ui/app/behaviors/fire-behavior/fire-behavior.html
Normal file
55
polygerrit-ui/app/behaviors/fire-behavior/fire-behavior.html
Normal file
@@ -0,0 +1,55 @@
|
||||
<!--
|
||||
@license
|
||||
Copyright (C) 2019 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<script>
|
||||
(function(window) {
|
||||
'use strict';
|
||||
|
||||
window.Gerrit = window.Gerrit || {};
|
||||
|
||||
/** @polymerBehavior Gerrit.FireBehavior */
|
||||
Gerrit.FireBehavior = {
|
||||
/**
|
||||
* Dispatches a custom event with an optional detail value.
|
||||
*
|
||||
* @param {string} type Name of event type.
|
||||
* @param {*=} detail Detail value containing event-specific
|
||||
* payload.
|
||||
* @param {{ bubbles: (boolean|undefined), cancelable: (boolean|undefined),
|
||||
* composed: (boolean|undefined) }=}
|
||||
* options Object specifying options. These may include:
|
||||
* `bubbles` (boolean, defaults to `true`),
|
||||
* `cancelable` (boolean, defaults to false), and
|
||||
* `composed` (boolean, defaults to true).
|
||||
* @return {!Event} The new event that was fired.
|
||||
* @override
|
||||
*/
|
||||
fire(type, detail, options) {
|
||||
options = options || {};
|
||||
detail = (detail === null || detail === undefined) ? {} : detail;
|
||||
const event = new Event(type, {
|
||||
bubbles: options.bubbles === undefined ? true : options.bubbles,
|
||||
cancelable: Boolean(options.cancelable),
|
||||
composed: options.composed === undefined ? true: options.composed,
|
||||
});
|
||||
event.detail = detail;
|
||||
this.dispatchEvent(event);
|
||||
return event;
|
||||
},
|
||||
};
|
||||
})(window);
|
||||
</script>
|
Reference in New Issue
Block a user