Skip to content

Commit 5a494a9

Browse files
committed
applied codemod
1 parent 0cd10a2 commit 5a494a9

39 files changed

+550
-632
lines changed

app/components/api-index-filter.gjs

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* eslint-disable ember/no-computed-properties-in-native-classes */
1+
/* eslint-disable ember/no-classic-components, ember/no-computed-properties-in-native-classes, ember/require-tagless-components */
22
import { classNames } from '@ember-decorators/component';
33
import { computed } from '@ember/object';
44
import Component from '@ember/component';
@@ -22,7 +22,8 @@ const filterDataComputedParams =
2222
* @extends Component<{ Args: Args, Blocks: Blocks }>
2323
*/
2424
@classNames('api-index-filter')
25-
export default class ApiIndexFilter extends Component {
25+
export default class ApiIndexFilter extends Component {<template>{{yield this.filteredData}}
26+
</template>
2627
@computed('model.methods.[]', filterDataComputedParams)
2728
get filteredMethods() {
2829
return this.filterItems('methods');
@@ -117,5 +118,3 @@ export default class ApiIndexFilter extends Component {
117118
}
118119
}
119120
}
120-
121-
{{yield this.filteredData}}

app/components/api-index.gjs

+4-7
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@ import Component from '@glimmer/component';
2020
/**
2121
* @extends Component<{ Args: Args, Blocks: Blocks }>
2222
*/
23-
export default class ApiIndex extends Component {
23+
import { hash } from "@ember/helper";
24+
export default class ApiIndex extends Component {<template><div>
25+
{{yield (hash sections=this.sections)}}
26+
</div></template>
2427
get sections() {
2528
return [
2629
{
@@ -47,9 +50,3 @@ export default class ApiIndex extends Component {
4750
];
4851
}
4952
}
50-
51-
<div>
52-
{{yield (hash
53-
sections=this.sections)
54-
}}
55-
</div>
+62-52
Original file line numberDiff line numberDiff line change
@@ -1,93 +1,82 @@
1+
/* eslint-disable prettier/prettier */
12
import { inject as service } from '@ember/service';
23
import Component from '@glimmer/component';
34
import { action } from '@ember/object';
5+
import { on } from "@ember/modifier";
6+
import { fn, array, concat } from "@ember/helper";
7+
import svgJar from "ember-svg-jar/helpers/svg-jar";
8+
import join from "ember-composable-helpers/helpers/join";
9+
import mapBy from "ember-composable-helpers/helpers/map-by";
10+
import { LinkTo } from "@ember/routing";
11+
import githubLink from "ember-api-docs/helpers/github-link";
12+
import and from "ember-truth-helpers/helpers/and";
13+
import eq from "ember-api-docs/helpers/eq";
14+
import ImportExample from "ember-api-docs/components/import-example";
15+
import MarkdownToHtml from "ember-cli-showdown/components/markdown-to-html";
416

5-
export default class ClassFieldDescription extends Component {
6-
@service
7-
legacyModuleMappings;
8-
9-
get hasImportExample() {
10-
return this.legacyModuleMappings.hasFunctionMapping(
11-
this.args.field.name,
12-
this.args.field.class
13-
);
14-
}
15-
16-
/**
17-
* Callback for updating the anchor with the field name that was clicked by a user.
18-
*
19-
* @method updateAnchor
20-
* @method fieldName String The name representing the field that was clicked.
21-
*/
22-
@action
23-
updateAnchor(fieldName) {
24-
this.args.updateAnchor?.(fieldName);
25-
}
26-
}
27-
28-
<section class='{{@type}}'>
17+
export default class ClassFieldDescription extends Component {<template><section class="{{@type}}">
2918
{{!-- TODO: Fix this link for a11y --}}
30-
<h3 class='class-field-description--link' data-anchor='{{@field.name}}' role='link' {{on 'click' (fn this.updateAnchor @field.name)}}>
31-
<a class='anchor' {{!-- template-lint-disable link-href-attributes --}}>
32-
{{svg-jar 'fa-link' class='class-field-description--link-hover' width='20px' height='20px'}}
19+
<h3 class="class-field-description--link" data-anchor="{{@field.name}}" role="link" {{on "click" (fn this.updateAnchor @field.name)}}>
20+
<a class="anchor" {{!-- template-lint-disable link-href-attributes --}}>
21+
{{svgJar "fa-link" class="class-field-description--link-hover" width="20px" height="20px"}}
3322
</a>
34-
<span class='{{@type}}-name'>{{@field.name}}</span>
23+
<span class="{{@type}}-name">{{@field.name}}</span>
3524
{{#if @field.params}}
36-
<span class='args'>
37-
({{join ', ' (map-by 'name' @field.params)}})
25+
<span class="args">
26+
({{join ", " (mapBy "name" @field.params)}})
3827
</span>
3928
{{/if}}
4029
{{#if @field.return}}
41-
<span class='return-type'>{{@field.return.type}}</span>
30+
<span class="return-type">{{@field.return.type}}</span>
4231
{{/if}}
4332
{{#if @field.access}}
44-
<span class='access'>{{@field.access}}</span>
33+
<span class="access">{{@field.access}}</span>
4534
{{/if}}
4635
{{#if @field.deprecated}}
47-
<span class='access'>deprecated</span>
36+
<span class="access">deprecated</span>
4837
{{/if}}
4938
</h3>
5039
{{#if @model.module}}
51-
<div class='attributes'>
52-
<div class='attribute'>
53-
<span class='attribute-label'>Module:</span>
54-
<span class='attribute-value'><LinkTo @route='project-version.modules.module' @models={{array @model.projectVersion.compactVersion @model.module}}>{{@model.module}}</LinkTo></span>
40+
<div class="attributes">
41+
<div class="attribute">
42+
<span class="attribute-label">Module:</span>
43+
<span class="attribute-value"><LinkTo @route="project-version.modules.module" @models={{array @model.projectVersion.compactVersion @model.module}}>{{@model.module}}</LinkTo></span>
5544
</div>
5645
</div>
5746
{{/if}}
58-
<p class='github-link' data-test-file={{@field.file}}>
47+
<p class="github-link" data-test-file={{@field.file}}>
5948
{{#if @field.inherited}}
6049
Inherited from
61-
<a href='{{github-link @model.project.id @model.projectVersion.version @field.file @field.line}}' target='_blank' rel='noopener noreferrer'>
50+
<a href="{{githubLink @model.project.id @model.projectVersion.version @field.file @field.line}}" target="_blank" rel="noopener noreferrer">
6251
{{@field.inheritedFrom}} {{@field.file}}:{{@field.line}}
6352
</a>
6453
{{else}}
6554
Defined in
66-
<a href='{{github-link @model.project.id @model.projectVersion.version @field.file @field.line}}' target='_blank' rel='noopener noreferrer'>
55+
<a href="{{githubLink @model.project.id @model.projectVersion.version @field.file @field.line}}" target="_blank" rel="noopener noreferrer">
6756
{{@field.file}}:{{@field.line}}
6857
</a>
6958
{{/if}}
7059
</p>
7160
{{#if @field.since}}
72-
<p class='field-since'>
61+
<p class="field-since">
7362
Available since v{{@field.since}}
7463
</p>
7564
{{/if}}
76-
{{#if (and (eq @field.static 1) (eq @field.itemtype 'method') this.hasImportExample)}}
77-
<ImportExample @item={{concat '{ ' @field.name ' }'}} @package={{@field.class}}/>
65+
{{#if (and (eq @field.static 1) (eq @field.itemtype "method") this.hasImportExample)}}
66+
<ImportExample @item={{concat "{ " @field.name " }"}} @package={{@field.class}} />
7867
{{/if}}
79-
<dl class='parameters'>
68+
<dl class="parameters">
8069
{{#each @field.params as |param|}}
81-
<div class='parameter'>
70+
<div class="parameter">
8271
<dt>{{param.name}}</dt>
83-
<dd class='parameter-type'>{{param.type}}</dd>
72+
<dd class="parameter-type">{{param.type}}</dd>
8473
<dd><MarkdownToHtml @markdown={{param.description}} /></dd>
8574
{{#if param.props}}
86-
<dl class='parameters'>
75+
<dl class="parameters">
8776
{{#each param.props as |prop|}}
88-
<div class='prop'>
77+
<div class="prop">
8978
<dt>{{prop.name}}</dt>
90-
<dd class='parameter-type'>{{prop.type}}</dd>
79+
<dd class="parameter-type">{{prop.type}}</dd>
9180
<dd><MarkdownToHtml @markdown={{prop.description}} /></dd>
9281
</div>
9382
{{/each}}
@@ -96,12 +85,33 @@ export default class ClassFieldDescription extends Component {
9685
</div>
9786
{{/each}}
9887
{{#if @field.return}}
99-
<div class='return'>
88+
<div class="return">
10089
<dt>returns</dt>
101-
<dd class='return-type'>{{@field.return.type}}</dd>
90+
<dd class="return-type">{{@field.return.type}}</dd>
10291
<dd><MarkdownToHtml @markdown={{@field.return.description}} /></dd>
10392
</div>
10493
{{/if}}
10594
</dl>
10695
<MarkdownToHtml @markdown={{@field.description}} />
107-
</section>
96+
</section></template>
97+
@service
98+
legacyModuleMappings;
99+
100+
get hasImportExample() {
101+
return this.legacyModuleMappings.hasFunctionMapping(
102+
this.args.field.name,
103+
this.args.field.class
104+
);
105+
}
106+
107+
/**
108+
* Callback for updating the anchor with the field name that was clicked by a user.
109+
*
110+
* @method updateAnchor
111+
* @method fieldName String The name representing the field that was clicked.
112+
*/
113+
@action
114+
updateAnchor(fieldName) {
115+
this.args.updateAnchor?.(fieldName);
116+
}
117+
}

app/components/ember-data-landing-page.gjs

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
<article class="chapter">
1+
import { LinkTo } from "@ember/routing";
2+
<template><article class="chapter">
23
<h1>
34
Ember Data API Documentation
45
</h1>
@@ -53,4 +54,4 @@
5354
</h5>
5455
</li>
5556
</ul>
56-
</article>
57+
</article></template>

app/components/ember-landing-page.gjs

+16-13
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
<article class="chapter">
1+
import { LinkTo } from "@ember/routing";
2+
import { array, hash } from "@ember/helper";
3+
<template><article class="chapter">
24
<h1>Ember API Documentation</h1>
35
<p>
46
To get started, choose a project (Ember or Ember Data) and a version
@@ -11,18 +13,18 @@
1113
</p>
1214
<h2>Commonly searched-for documentation</h2>
1315
<ul class="spec-method-list">
14-
{{! template-lint-disable no-potential-path-strings }}
15-
<li>Components - <LinkTo @route='project-version.classes.class' @model='Component'>Classic</LinkTo> or <LinkTo @route='project-version.modules.module' @model='@glimmer/component'>Glimmer</LinkTo>; a view that is completely isolated</li>
16-
<li><LinkTo @route='project-version.functions.function' @models={{array '@glimmer/tracking' 'tracked'}}>Tracked</LinkTo> - make your templates responsive to property updates</li>
17-
<li><LinkTo @route='project-version.classes.class' @model='ComputedProperty'>Computed Properties</LinkTo> - declare functions as properties</li>
18-
{{! template-lint-disable no-potential-path-strings }}
19-
<li><LinkTo @route='project-version.classes.class' @model='@ember/object/computed'>Computed Macros</LinkTo> - shorter ways of expressing certain types of computed properties</li>
20-
<li><LinkTo @route='project-version.classes.class' @model='EmberArray'>EmberArray</LinkTo> - contains methods like <LinkTo @route='project-version.classes.class.methods.method' @models={{array 'EmberArray' 'forEach'}} @query={{hash anchor='forEach'}}>forEach</LinkTo> and <LinkTo @route='project-version.classes.class.methods.method' @models={{array 'EmberArray' 'mapBy'}} @query={{hash anchor='mapBy'}}>mapBy</LinkTo> that help you iterate over Ember Objects</li>
21-
<li><LinkTo @route='project-version.classes.class' @model='EmberObject'>EmberObject</LinkTo> - the main base class for all Ember objects, including the <LinkTo @route='project-version.classes.class.methods.method' @models={{array 'EmberObject' 'get'}} @query={{hash anchor='get'}}>get</LinkTo> and <LinkTo @route='project-version.classes.class.methods.method' @models={{array 'EmberObject' 'set'}} @query={{hash anchor='set'}}>set</LinkTo> methods</li>
22-
<li><LinkTo @route='project-version.classes.class' @model='Ember.Templates.helpers'>Ember.Templates.helpers</LinkTo> - built-in functions that can be used in templates, such as the <LinkTo @route='project-version.classes.class.methods.method' @models={{array 'Ember.Templates.helpers' 'each'}} @query={{hash anchor='each'}}>each</LinkTo>, <LinkTo @route='project-version.classes.class.methods.method' @models={{array 'Ember.Templates.helpers' 'on'}} @query={{hash anchor='on'}}>on</LinkTo> and <LinkTo @route='project-version.classes.class.methods.method' @models={{array 'Ember.Templates.helpers' 'fn'}} @query={{hash anchor='fn'}}>fn</LinkTo> helpers</li>
23-
<li><LinkTo @route='project-version.classes.class' @model='Helper'>Helpers</LinkTo> - a way to define custom display functions that are used in templates</li>
24-
<li><LinkTo @route='project-version.classes.class' @model='Route'>Route</LinkTo> - used to define individual routes, including the <LinkTo @route='project-version.classes.class.methods.method' @models={{array 'Route' 'model'}} @query={{hash anchor='model'}}>model</LinkTo> hook for loading data</li>
25-
<li><LinkTo @route='project-version.classes.class' @model='Service'>Service</LinkTo> - an Ember object that lives for the duration of the application, and can be made available in different parts of your application</li>
16+
{{!-- template-lint-disable no-potential-path-strings --}}
17+
<li>Components - <LinkTo @route="project-version.classes.class" @model="Component">Classic</LinkTo> or <LinkTo @route="project-version.modules.module" @model="@glimmer/component">Glimmer</LinkTo>; a view that is completely isolated</li>
18+
<li><LinkTo @route="project-version.functions.function" @models={{array "@glimmer/tracking" "tracked"}}>Tracked</LinkTo> - make your templates responsive to property updates</li>
19+
<li><LinkTo @route="project-version.classes.class" @model="ComputedProperty">Computed Properties</LinkTo> - declare functions as properties</li>
20+
{{!-- template-lint-disable no-potential-path-strings --}}
21+
<li><LinkTo @route="project-version.classes.class" @model="@ember/object/computed">Computed Macros</LinkTo> - shorter ways of expressing certain types of computed properties</li>
22+
<li><LinkTo @route="project-version.classes.class" @model="EmberArray">EmberArray</LinkTo> - contains methods like <LinkTo @route="project-version.classes.class.methods.method" @models={{array "EmberArray" "forEach"}} @query={{hash anchor="forEach"}}>forEach</LinkTo> and <LinkTo @route="project-version.classes.class.methods.method" @models={{array "EmberArray" "mapBy"}} @query={{hash anchor="mapBy"}}>mapBy</LinkTo> that help you iterate over Ember Objects</li>
23+
<li><LinkTo @route="project-version.classes.class" @model="EmberObject">EmberObject</LinkTo> - the main base class for all Ember objects, including the <LinkTo @route="project-version.classes.class.methods.method" @models={{array "EmberObject" "get"}} @query={{hash anchor="get"}}>get</LinkTo> and <LinkTo @route="project-version.classes.class.methods.method" @models={{array "EmberObject" "set"}} @query={{hash anchor="set"}}>set</LinkTo> methods</li>
24+
<li><LinkTo @route="project-version.classes.class" @model="Ember.Templates.helpers">Ember.Templates.helpers</LinkTo> - built-in functions that can be used in templates, such as the <LinkTo @route="project-version.classes.class.methods.method" @models={{array "Ember.Templates.helpers" "each"}} @query={{hash anchor="each"}}>each</LinkTo>, <LinkTo @route="project-version.classes.class.methods.method" @models={{array "Ember.Templates.helpers" "on"}} @query={{hash anchor="on"}}>on</LinkTo> and <LinkTo @route="project-version.classes.class.methods.method" @models={{array "Ember.Templates.helpers" "fn"}} @query={{hash anchor="fn"}}>fn</LinkTo> helpers</li>
25+
<li><LinkTo @route="project-version.classes.class" @model="Helper">Helpers</LinkTo> - a way to define custom display functions that are used in templates</li>
26+
<li><LinkTo @route="project-version.classes.class" @model="Route">Route</LinkTo> - used to define individual routes, including the <LinkTo @route="project-version.classes.class.methods.method" @models={{array "Route" "model"}} @query={{hash anchor="model"}}>model</LinkTo> hook for loading data</li>
27+
<li><LinkTo @route="project-version.classes.class" @model="Service">Service</LinkTo> - an Ember object that lives for the duration of the application, and can be made available in different parts of your application</li>
2628
</ul>
2729
<h2>Useful links</h2>
2830
<ul>
@@ -38,3 +40,4 @@
3840
</li>
3941
</ul>
4042
</article>
43+
</template>

app/components/import-example.gjs

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
import Component from '@glimmer/component';
2+
import MarkdownToHtml from "ember-cli-showdown/components/markdown-to-html";
23

3-
export default class ImportExample extends Component {
4+
export default class ImportExample extends Component {<template><MarkdownToHtml @markdown={{this.markdown}} /></template>
45
get markdown() {
56
let md = `\`\`\`js
67
import ${this.args.item} from '${this.args.package}';
78
\`\`\``;
89
return md;
910
}
1011
}
11-
12-
<MarkdownToHtml @markdown={{this.markdown}} />

app/components/loading-spinner.gjs

+8-7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
<div class='loading-spinner'>
2-
<div class='sk-folding-cube'>
3-
<div class='sk-cube1 sk-cube'></div>
4-
<div class='sk-cube2 sk-cube'></div>
5-
<div class='sk-cube4 sk-cube'></div>
6-
<div class='sk-cube3 sk-cube'></div>
1+
2+
<template><div class="loading-spinner">
3+
<div class="sk-folding-cube">
4+
<div class="sk-cube1 sk-cube"></div>
5+
<div class="sk-cube2 sk-cube"></div>
6+
<div class="sk-cube4 sk-cube"></div>
7+
<div class="sk-cube3 sk-cube"></div>
78
</div>
89
{{yield}}
9-
</div>
10+
</div></template>

app/components/search-input.gjs

+15-36
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,29 @@
1+
/* eslint-disable ember/no-get */
12
import { inject as service } from '@ember/service';
23
import Component from '@glimmer/component';
34
import { get } from '@ember/object';
45
import { isPresent } from '@ember/utils';
56
import { task, timeout } from 'ember-concurrency';
67
import { action } from '@ember/object';
78
import { tracked } from '@glimmer/tracking';
9+
import perform from "ember-concurrency/helpers/perform";
10+
import EmberTether from "ember-tether/components/ember-tether";
11+
import Dropdown from "ember-api-docs/components/search-input/dropdown";
12+
import and from "ember-truth-helpers/helpers/and";
13+
import not from "ember-truth-helpers/helpers/not";
14+
import eq from "ember-api-docs/helpers/eq";
815

916
const SEARCH_DEBOUNCE_PERIOD = 300;
1017
const SEARCH_CLOSE_PERIOD = 200;
1118

12-
export default class SearchInput extends Component {
19+
export default class SearchInput extends Component {<template>{{!-- template-lint-disable no-action --}}
20+
<div class="search-input">
21+
<input id="search-input" type="search" value={{this.value}} oninput={{perform this.search value="target.value"}} onfocus={{action "onfocus"}} onblur={{action "onblur"}} placeholder="Search" data-test-search-input />
22+
{{!-- Search results dropdown --}}
23+
<EmberTether @target="#search-input" @targetAttachment="bottom left" @attachment="top left" @constraints={{this._resultTetherConstraints}} @class="ds-dropdown-results">
24+
<Dropdown @isVisible={{this._focused}} @results={{this.searchService.results}} @noResults={{if (and (and (not this.searchService.search.isRunning) this.queryIsPresent) (eq this.searchService.results.length 0)) true false}} />
25+
</EmberTether>
26+
</div></template>
1327
@tracked query = '';
1428
@tracked _focused = false;
1529

@@ -70,38 +84,3 @@ export default class SearchInput extends Component {
7084
this.closeMenu.perform();
7185
}
7286
}
73-
74-
{{! template-lint-disable no-action }}
75-
<div class='search-input'>
76-
<input
77-
id='search-input'
78-
type='search'
79-
value={{this.value}}
80-
oninput={{perform this.search value='target.value'}}
81-
onfocus={{action 'onfocus'}}
82-
onblur={{action 'onblur'}}
83-
placeholder='Search'
84-
data-test-search-input
85-
/>
86-
{{! Search results dropdown }}
87-
<EmberTether
88-
@target='#search-input'
89-
@targetAttachment='bottom left'
90-
@attachment='top left'
91-
@constraints={{this._resultTetherConstraints}}
92-
@class='ds-dropdown-results'
93-
>
94-
<SearchInput::Dropdown
95-
@isVisible={{this._focused}}
96-
@results={{this.searchService.results}}
97-
@noResults={{if
98-
(and
99-
(and (not this.searchService.search.isRunning) this.queryIsPresent)
100-
(eq this.searchService.results.length 0)
101-
)
102-
true
103-
false
104-
}}
105-
/>
106-
</EmberTether>
107-
</div>

0 commit comments

Comments
 (0)