Skip to content

Commit

Permalink
fix: fix datePicker renders when inputSurface is not loaded
Browse files Browse the repository at this point in the history
Signed-off-by: Rong Sen Ng (motss) <wes.ngrongsen@gmail.com>
  • Loading branch information
motss committed Feb 26, 2022
1 parent 61b4d44 commit 1123f8e
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 5 deletions.
1 change: 1 addition & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@
--app-selected-on-focus: var(--on-primary);
--app-selected-on-hover: var(--on-primary);
--app-shape: 8px;
--app-surface: var(--surface);
--app-today: var(--white);
--date-picker-input-icon: var(--white);
}
Expand Down
6 changes: 3 additions & 3 deletions src/__demo__/demo-app.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// import '../date-picker/app-date-picker.js';
// import '../date-picker-dialog/app-date-picker-dialog.js';
// import '../date-picker-input-surface/app-date-picker-input-surface.js';
import '../date-picker/app-date-picker.js';
import '../date-picker-input/app-date-picker-input.js';

// import '../date-picker-dialog/app-date-picker-dialog.js';
// import '../date-picker-input-surface/app-date-picker-input-surface.js';
import { css, html } from 'lit';
import { customElement, queryAsync } from 'lit/decorators.js';

Expand Down
10 changes: 8 additions & 2 deletions src/date-picker-input/date-picker-input.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import '../icon-button/app-icon-button.js';

import { TextField } from '@material/mwc-textfield';
import type { TemplateResult } from 'lit';
import { nothing } from 'lit';
import { html } from 'lit';
import { property, queryAsync, state } from 'lit/decorators.js';
import { ifDefined } from 'lit/directives/if-defined.js';
Expand Down Expand Up @@ -135,11 +136,16 @@ export class DatePickerInput extends ElementMixin(DatePickerMixin(DatePickerMinM
}

public override render(): TemplateResult {
if (!this._lazyLoaded && this._open) this.#lazyLoad();
const {
_lazyLoaded,
_open,
} = this;

if (!_lazyLoaded && _open) this.#lazyLoad();

return html`
${super.render()}
${this.$renderContent()}
${_lazyLoaded && _open ? this.$renderContent() : nothing}
`;
}

Expand Down

0 comments on commit 1123f8e

Please sign in to comment.