Skip to content

Commit

Permalink
Add prettier per latest addon blueprint
Browse files Browse the repository at this point in the history
  • Loading branch information
SergeAstapov committed Nov 21, 2021
1 parent 797b7e5 commit 6097426
Show file tree
Hide file tree
Showing 80 changed files with 1,637 additions and 1,120 deletions.
28 changes: 14 additions & 14 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,56 +7,56 @@ module.exports = {
ecmaVersion: 2018,
sourceType: 'module',
ecmaFeatures: {
legacyDecorators: true
}
legacyDecorators: true,
},
},
plugins: [
'ember'
],
plugins: ['ember'],
extends: [
'eslint:recommended',
'plugin:ember/recommended',
'plugin:prettier/recommended',
],
env: {
browser: true
browser: true,
},
rules: {
'ember/no-jquery': 'error',
'ember/no-new-mixins': 'warn'
'ember/no-new-mixins': 'warn',
},
overrides: [
// node files
{
files: [
'.eslintrc.js',
'.prettierrc.js',
'.template-lintrc.js',
'ember-cli-build.js',
'index.js',
'testem.js',
'blueprints/*/index.js',
'config/**/*.js',
'tests/dummy/config/**/*.js'
'tests/dummy/config/**/*.js',
],
excludedFiles: [
'addon/**',
'addon-test-support/**',
'app/**',
'tests/dummy/app/**'
'tests/dummy/app/**',
],
parserOptions: {
sourceType: 'script'
sourceType: 'script',
},
env: {
browser: false,
node: true
node: true,
},
plugins: ['node'],
extends: ['plugin:node/recommended']
extends: ['plugin:node/recommended'],
},
{
// Test files:
files: ['tests/**/*-test.{js,ts}'],
extends: ['plugin:qunit/recommended'],
}
]
},
],
};
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
# misc
/.env*
/.pnp*
/.prettierignore
/.sass-cache
/connect.lock
/coverage/
Expand Down
2 changes: 2 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
/.git/
/.github/
/.gitignore
/.prettierignore
/.prettierrc.js
/.template-lintrc.js
/.watchmanconfig
/bower.json
Expand Down
5 changes: 5 additions & 0 deletions .prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
'use strict';

module.exports = {
singleQuote: true,
};
10 changes: 7 additions & 3 deletions addon-test-support/key-event.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,16 @@ export function keyEvent(keyCombo, type, element = document) {
keyComboPart = keyComboPart === 'cmd' ? getCmdKey() : keyComboPart;
eventProps[`${keyComboPart}Key`] = true;
}

if (type.startsWith('key') && !isValidModifier) {
eventProps.code = keyComboPart;
}

if (type.startsWith('mouse') && !isValidModifier && validMouseButtons.indexOf(keyComboPart) > -1) {

if (
type.startsWith('mouse') &&
!isValidModifier &&
validMouseButtons.indexOf(keyComboPart) > -1
) {
eventProps.button = getMouseCode(keyComboPart);
}

Expand Down
33 changes: 19 additions & 14 deletions addon/decorators/key-responder.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,26 @@ function populateKeyboardHandlers(responder) {
responder.keyboardHandlerNames = {};
for (let propertyName in responder) {
let propertyValue = responder[propertyName];
if ((typeof propertyValue === 'function') && propertyValue._emberKeyboardOnKeyDecoratorData) {
for (let listenerName of propertyValue._emberKeyboardOnKeyDecoratorData.listenerNames || []) {
if (
typeof propertyValue === 'function' &&
propertyValue._emberKeyboardOnKeyDecoratorData
) {
for (let listenerName of propertyValue._emberKeyboardOnKeyDecoratorData
.listenerNames || []) {
responder.keyboardHandlerNames[listenerName] = propertyName;
}
}
}
}
for (let [listenerName, methodName] of Object.entries(responder.keyboardHandlerNames || {})) {
responder.keyboardHandlers[listenerName] = responder[methodName].bind(responder);
for (let [listenerName, methodName] of Object.entries(
responder.keyboardHandlerNames || {}
)) {
responder.keyboardHandlers[listenerName] =
responder[methodName].bind(responder);
}
}
export default function keyResponder(opts = {}) {

const createClass = function(DecoratedClass) {

const createClass = function (DecoratedClass) {
if (opts.priority === undefined) {
opts.priority = 0;
}
Expand Down Expand Up @@ -66,14 +71,14 @@ export default function keyResponder(opts = {}) {
this.keyboard.unregister(this);
super.willDestroy(...arguments);
}
}
}
};
};

if (typeof opts === "function") {
return createClass(opts)
if (typeof opts === 'function') {
return createClass(opts);
} else {
return function(DecoratedClass) {
return createClass(DecoratedClass)
}
return function (DecoratedClass) {
return createClass(DecoratedClass);
};
}
}
12 changes: 8 additions & 4 deletions addon/decorators/on-key.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,21 +17,25 @@ export default function onKey(keyCombo, opts = {}) {

function onKeyDecorator(keyCombo, opts) {
// ES6 class
return function(target, property, descriptor) {
return function (target, property, descriptor) {
if (!Object.prototype.hasOwnProperty.call(target, 'keyboardHandlerNames')) {
let parentKeyboardHandlerNames = target.parentKeyboardHandlerNames;
// we need to assign because of the way mixins copy actions down when inheriting
target.keyboardHandlerNames = parentKeyboardHandlerNames ? Object.assign({}, parentKeyboardHandlerNames) : {};
target.keyboardHandlerNames = parentKeyboardHandlerNames
? Object.assign({}, parentKeyboardHandlerNames)
: {};
}
target.keyboardHandlerNames[listenerName(opts.event, keyCombo)] = property;
return descriptor;
}
};
}

function onKeyClassic(keyCombo, opts, handler) {
if (!handler._emberKeyboardOnKeyDecoratorData) {
handler._emberKeyboardOnKeyDecoratorData = { listenerNames: [] };
}
handler._emberKeyboardOnKeyDecoratorData.listenerNames.push(listenerName(opts.event, keyCombo));
handler._emberKeyboardOnKeyDecoratorData.listenerNames.push(
listenerName(opts.event, keyCombo)
);
return handler;
}
Loading

0 comments on commit 6097426

Please sign in to comment.