52 lines
1.6 KiB
JavaScript
52 lines
1.6 KiB
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: MPL-2.0
|
|
*/
|
|
|
|
import { setModifierManager, capabilities } from '@ember/modifier';
|
|
import { gte } from 'ember-compatibility-helpers';
|
|
|
|
const createEventLike = (state) => {
|
|
return {
|
|
target: state.element,
|
|
currentTarget: state.element,
|
|
};
|
|
};
|
|
export default setModifierManager(
|
|
() => ({
|
|
capabilities: capabilities(gte('3.22.0') ? '3.22' : '3.13', { disableAutoTracking: true }),
|
|
|
|
createModifier() {
|
|
return { element: null };
|
|
},
|
|
|
|
installModifier(state, element, args) {
|
|
state.element = element;
|
|
if (gte('3.22.0')) {
|
|
// Consume individual properties to entangle tracking.
|
|
// https://github.com/emberjs/ember.js/issues/19277
|
|
// https://github.com/ember-modifier/ember-modifier/pull/63#issuecomment-815908201
|
|
args.positional.forEach(() => {});
|
|
args.named && Object.values(args.named);
|
|
}
|
|
const [fn, ...positional] = args.positional;
|
|
fn(createEventLike(state), positional, args.named);
|
|
},
|
|
|
|
updateModifier(state, args) {
|
|
if (gte('3.22.0')) {
|
|
// Consume individual properties to entangle tracking.
|
|
// https://github.com/emberjs/ember.js/issues/19277
|
|
// https://github.com/ember-modifier/ember-modifier/pull/63#issuecomment-815908201
|
|
args.positional.forEach(() => {});
|
|
args.named && Object.values(args.named);
|
|
}
|
|
const [fn, ...positional] = args.positional;
|
|
fn(createEventLike(state), positional, args.named);
|
|
},
|
|
|
|
destroyModifier() {},
|
|
}),
|
|
class DidUpsertModifier {}
|
|
);
|