1 parent
1f1b064ee9
commit
5386aaad7f
7 files changed
+85
-50
No files matched your search
@@ -42,14 +42,16 @@ const _PRESET_DEFAULTS = {
|
||||
*/
|
||||
export default class CodeMirrorModifier extends Modifier {
|
||||
_editor;
|
||||
didSetup = false;
|
||||
|
||||
didInstall() {
|
||||
this._setup();
|
||||
}
|
||||
modify(element, _, named) {
|
||||
if (!this.didSetup) {
|
||||
this._setup(element, named);
|
||||
this.didSetup = true;
|
||||
}
|
||||
|
||||
didUpdateArguments() {
|
||||
if (this._editor?.getValue() !== this.args.named.value) {
|
||||
this._editor?.setValue(this.args.named.value);
|
||||
if (this._editor?.getValue() !== named.value) {
|
||||
this._editor?.setValue(named.value);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,9 +60,10 @@ export default class CodeMirrorModifier extends Modifier {
|
||||
* @method CodeMirror#_onChange
|
||||
* See documentation for the CodeMirror editor events, specifically 'change' event here https://codemirror.net/doc/manual.html#events.
|
||||
*/
|
||||
_onChange(editor) {
|
||||
const { onInput } = this.args.named;
|
||||
_onChange(editor, named) {
|
||||
const { onInput } = named;
|
||||
const newVal = editor.getValue();
|
||||
|
||||
onInput && onInput(newVal);
|
||||
}
|
||||
|
||||
@@ -69,19 +72,19 @@ export default class CodeMirrorModifier extends Modifier {
|
||||
* Also registers a 'change' event on the editor.
|
||||
* @method CodeMirror#_setup
|
||||
*/
|
||||
_setup() {
|
||||
if (!this.element) {
|
||||
_setup(element, named) {
|
||||
if (!element) {
|
||||
throw new Error('CodeMirror modifier has no element');
|
||||
}
|
||||
|
||||
const editor = codemirror(this.element, {
|
||||
const editor = codemirror(element, {
|
||||
..._PRESET_DEFAULTS,
|
||||
...(this.args.named.options || {}),
|
||||
value: this.args.named.value,
|
||||
...(named.options || {}),
|
||||
value: named.value,
|
||||
});
|
||||
|
||||
editor.on('change', (editor) => {
|
||||
this._onChange(editor);
|
||||
this._onChange(editor, named);
|
||||
});
|
||||
|
||||
this._editor = editor;
|
||||
|
||||
@@ -5,16 +5,19 @@ import { modifier } from 'ember-modifier';
|
||||
* This is useful especially for dropdowns to toggle content visibility
|
||||
* when the user clicks an item.
|
||||
*/
|
||||
export default modifier((element, [callback]) => {
|
||||
function handleClick(event) {
|
||||
if (element.contains(event.target)) {
|
||||
callback(element, event);
|
||||
export default modifier(
|
||||
(element, [callback]) => {
|
||||
function handleClick(event) {
|
||||
if (element.contains(event.target)) {
|
||||
callback(element, event);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
element.addEventListener('click', handleClick, false);
|
||||
element.addEventListener('click', handleClick, false);
|
||||
|
||||
return () => {
|
||||
element.removeEventListener('click', handleClick, false);
|
||||
};
|
||||
});
|
||||
return () => {
|
||||
element.removeEventListener('click', handleClick, false);
|
||||
};
|
||||
},
|
||||
{ eager: false }
|
||||
);
|
||||
@@ -5,16 +5,19 @@ import { modifier } from 'ember-modifier';
|
||||
* This is useful especially for dropdowns to toggle content visibility
|
||||
* when the user clicks away.
|
||||
*/
|
||||
export default modifier((element, [callback]) => {
|
||||
function handleClick(event) {
|
||||
if (!element.contains(event.target)) {
|
||||
callback(element, event);
|
||||
export default modifier(
|
||||
(element, [callback]) => {
|
||||
function handleClick(event) {
|
||||
if (!element.contains(event.target)) {
|
||||
callback(element, event);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
document.addEventListener('click', handleClick, false);
|
||||
document.addEventListener('click', handleClick, false);
|
||||
|
||||
return () => {
|
||||
document.removeEventListener('click', handleClick, false);
|
||||
};
|
||||
});
|
||||
return () => {
|
||||
document.removeEventListener('click', handleClick, false);
|
||||
};
|
||||
},
|
||||
{ eager: false }
|
||||
);
|
||||
@@ -79,7 +79,7 @@
|
||||
"ember-inline-svg": "^1.0.1",
|
||||
"ember-load-initializers": "^2.1.2",
|
||||
"ember-maybe-import-regenerator": "^1.0.0",
|
||||
"ember-modifier": "^1.0.3",
|
||||
"ember-modifier": "^3.2.7",
|
||||
"ember-page-title": "^7.0.0",
|
||||
"ember-qunit": "^5.1.4",
|
||||
"ember-resolver": "^8.0.3",
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
"ember-inline-svg": "^1.0.1",
|
||||
"ember-load-initializers": "^2.1.2",
|
||||
"ember-maybe-import-regenerator": "^1.0.0",
|
||||
"ember-modifier": "^2.1.2",
|
||||
"ember-modifier": "^3.2.7",
|
||||
"ember-page-title": "^7.0.0",
|
||||
"ember-pollster": "^0.0.1-beta.2",
|
||||
"ember-qunit": "^5.1.4",
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
"ember-inline-svg": "^1.0.1",
|
||||
"ember-load-initializers": "^2.1.2",
|
||||
"ember-maybe-import-regenerator": "^1.0.0",
|
||||
"ember-modifier": "^2.1.2",
|
||||
"ember-modifier": "^3.2.7",
|
||||
"ember-page-title": "^7.0.0",
|
||||
"ember-pollster": "^0.0.1-beta.2",
|
||||
"ember-qunit": "^5.1.4",
|
||||
|
||||
@@ -12317,6 +12317,22 @@ ember-cli-typescript@^4.0.0, ember-cli-typescript@^4.1.0, ember-cli-typescript@^
|
||||
stagehand "^1.0.0"
|
||||
walk-sync "^2.2.0"
|
||||
|
||||
ember-cli-typescript@^5.0.0:
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/ember-cli-typescript/-/ember-cli-typescript-5.1.1.tgz#cf561026f3e7bd05312c1c212acffa1c30d5fa0c"
|
||||
integrity sha512-DbzATYWY8nbXwSxXqtK8YlqGJTcyFyL+eg6IGCc2ur0AMnq/H+o6Z9np9eGoq1sI+HwX7vBkOVoD3k0WurAwXg==
|
||||
dependencies:
|
||||
ansi-to-html "^0.6.15"
|
||||
broccoli-stew "^3.0.0"
|
||||
debug "^4.0.0"
|
||||
execa "^4.0.0"
|
||||
fs-extra "^9.0.1"
|
||||
resolve "^1.5.0"
|
||||
rsvp "^4.8.1"
|
||||
semver "^7.3.2"
|
||||
stagehand "^1.0.0"
|
||||
walk-sync "^2.2.0"
|
||||
|
||||
ember-cli-version-checker@^2.1.0, ember-cli-version-checker@^2.1.2:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-2.2.0.tgz#47771b731fe0962705e27c8199a9e3825709f3b3"
|
||||
@@ -12459,6 +12475,17 @@ ember-compatibility-helpers@^1.1.1, ember-compatibility-helpers@^1.1.2, ember-co
|
||||
fs-extra "^9.1.0"
|
||||
semver "^5.4.1"
|
||||
|
||||
ember-compatibility-helpers@^1.2.5:
|
||||
version "1.2.6"
|
||||
resolved "https://registry.yarnpkg.com/ember-compatibility-helpers/-/ember-compatibility-helpers-1.2.6.tgz#603579ab2fb14be567ef944da3fc2d355f779cd8"
|
||||
integrity sha512-2UBUa5SAuPg8/kRVaiOfTwlXdeVweal1zdNPibwItrhR0IvPrXpaqwJDlEZnWKEoB+h33V0JIfiWleSG6hGkkA==
|
||||
dependencies:
|
||||
babel-plugin-debug-macros "^0.2.0"
|
||||
ember-cli-version-checker "^5.1.1"
|
||||
find-up "^5.0.0"
|
||||
fs-extra "^9.1.0"
|
||||
semver "^5.4.1"
|
||||
|
||||
ember-composable-helpers@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/ember-composable-helpers/-/ember-composable-helpers-5.0.0.tgz#055bab3a3e234ab2917499b1465e968c253ca885"
|
||||
@@ -12766,19 +12793,7 @@ ember-modifier-manager-polyfill@^1.2.0:
|
||||
ember-cli-version-checker "^2.1.2"
|
||||
ember-compatibility-helpers "^1.2.0"
|
||||
|
||||
ember-modifier@^1.0.3:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/ember-modifier/-/ember-modifier-1.0.5.tgz#b0152a4b81b72debbff48ff75f0ff0959afa1df2"
|
||||
integrity sha512-bOqWyp6bEa8i/2c2Gay6b9CVB7CAROg2UuX+C3eDMOdGUEzrsBZ5ENul5zF4RHey2RuAqZ/qvQpY/85R2fQ94A==
|
||||
dependencies:
|
||||
ember-cli-babel "^7.11.1"
|
||||
ember-cli-is-package-missing "^1.0.0"
|
||||
ember-cli-normalize-entity-name "^1.0.0"
|
||||
ember-cli-string-utils "^1.1.0"
|
||||
ember-compatibility-helpers "^1.2.1"
|
||||
ember-modifier-manager-polyfill "^1.2.0"
|
||||
|
||||
ember-modifier@^2.1.1, ember-modifier@^2.1.2:
|
||||
ember-modifier@^2.1.1:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/ember-modifier/-/ember-modifier-2.1.2.tgz#62d18faedf972dcd9d34f90d5321fbc943d139b1"
|
||||
integrity sha512-3Lsu1fV1sIGa66HOW07RZc6EHISwKt5VA5AUnFss2HX6OTfpxTJ2qvPctt2Yt0XPQXJ4G6BQasr/F35CX7UGJA==
|
||||
@@ -12791,6 +12806,17 @@ ember-modifier@^2.1.1, ember-modifier@^2.1.2:
|
||||
ember-destroyable-polyfill "^2.0.2"
|
||||
ember-modifier-manager-polyfill "^1.2.0"
|
||||
|
||||
ember-modifier@^3.2.7:
|
||||
version "3.2.7"
|
||||
resolved "https://registry.yarnpkg.com/ember-modifier/-/ember-modifier-3.2.7.tgz#f2d35b7c867cbfc549e1acd8d8903c5ecd02ea4b"
|
||||
integrity sha512-ezcPQhH8jUfcJQbbHji4/ZG/h0yyj1jRDknfYue/ypQS8fM8LrGcCMo0rjDZLzL1Vd11InjNs3BD7BdxFlzGoA==
|
||||
dependencies:
|
||||
ember-cli-babel "^7.26.6"
|
||||
ember-cli-normalize-entity-name "^1.0.0"
|
||||
ember-cli-string-utils "^1.1.0"
|
||||
ember-cli-typescript "^5.0.0"
|
||||
ember-compatibility-helpers "^1.2.5"
|
||||
|
||||
ember-named-blocks-polyfill@^0.2.5:
|
||||
version "0.2.5"
|
||||
resolved "https://registry.yarnpkg.com/ember-named-blocks-polyfill/-/ember-named-blocks-polyfill-0.2.5.tgz#d5841406277026a221f479c815cfbac6cdcaeecb"
|
||||
|
||||
Reference in new issue
Block a user