Skip to content

Commit a64925c

Browse files
conditional model
1 parent 5fa0608 commit a64925c

2 files changed

Lines changed: 15 additions & 2 deletions

File tree

transforms/angle-brackets/test.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -374,6 +374,7 @@ test('link-to-inline', () => {
374374
class="t__em-link"
375375
}}
376376
{{link-to (t "show") "flight" event.flight.id class="btn btn-default btn-sm pull-right"}}
377+
{{link-to (t "show") "user" (if linkActor event.actor.id event.user.id)}}
377378
`;
378379

379380
/**
@@ -388,6 +389,7 @@ test('link-to-inline', () => {
388389
<LinkTo @route={{this.dynamicPath}} class=\\"tabs__discrete-tab\\" @activeClass=\\"o__selected\\" @current-when=\\"apps.segments\\" data-test-segment-link=\\"segments\\">Segments</LinkTo>
389390
<LinkTo @route=\\"apps.app.companies.segments.segment\\" @model={{segment}} class=\\"t__em-link\\">{{segment.name}}</LinkTo>
390391
<LinkTo @route=\\"flight\\" @model={{event.flight.id}} class=\\"btn btn-default btn-sm pull-right\\">{{t \\"show\\"}}</LinkTo>
392+
<LinkTo @route=\\"user\\" @model={{if linkActor event.actor.id event.user.id}}>{{t \\"show\\"}}</LinkTo>
391393
"
392394
`);
393395
});

transforms/angle-brackets/transform.js

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -240,8 +240,19 @@ function transformToAngleBracket(env, fileInfo, config) {
240240
// eslint-disable-next-line no-unused-vars
241241
let [_, secondParamInput] = params;
242242
if (secondParamInput.type === 'SubExpression') {
243-
let _queryParam = b.attr('@query', b.mustache(b.path('hash'), [], secondParamInput.hash));
244-
attributes = [firstParamOutput, _queryParam];
243+
let _queryParamOrModel;
244+
if (isQueryParam(secondParamInput)) {
245+
_queryParamOrModel = b.attr(
246+
'@query',
247+
b.mustache(b.path('hash'), [], secondParamInput.hash)
248+
);
249+
} else {
250+
_queryParamOrModel = b.attr(
251+
'@model',
252+
b.mustache(secondParamInput.path, secondParamInput.params)
253+
);
254+
}
255+
attributes = [firstParamOutput, _queryParamOrModel];
245256
} else {
246257
let _modelParam = b.attr('@model', transformModelParams(secondParamInput));
247258
attributes = [firstParamOutput, _modelParam];

0 commit comments

Comments
 (0)