From cb88eabb86d0cc51c1eb6ffa7b201a38675aeb9d Mon Sep 17 00:00:00 2001 From: "R.J. (Steinert) Corwin" <rj@rjsteinert.com> Date: Wed, 9 Mar 2022 16:07:29 -0500 Subject: [PATCH] Should launch in fullscreen mode --- tangy-form-reducer.js | 5 +++++ tangy-form.js | 5 +++++ test/tangy-form_test.html | 22 ++++++++++++++++++++++ 3 files changed, 32 insertions(+) diff --git a/tangy-form-reducer.js b/tangy-form-reducer.js index 7ee82bfe..b6cdb32d 100644 --- a/tangy-form-reducer.js +++ b/tangy-form-reducer.js @@ -72,6 +72,11 @@ const tangyFormReducer = function (state = initialState, action) { if (newState.form.hideClosedItems === true) newState.items.forEach(item => item.hidden = !item.open) if (newState.form.linearMode === true) newState.items.forEach(item => item.hideButtons = true) if (newState.form.fullscreen === true) newState.items.forEach(item => item.fullscreen = true) + if (newState.form.fullscreenOnly === true) { + newState.form.fullscreen = true + newState.items.forEach(item => item.fullscreenOnly = true) + newState.items.forEach(item => item.fullscreenEnabled = true) + } return newState case 'OPEN_ALL_ITEMS': diff --git a/tangy-form.js b/tangy-form.js index 83e2a9fb..e0975841 100644 --- a/tangy-form.js +++ b/tangy-form.js @@ -339,6 +339,11 @@ export class TangyForm extends PolymerElement { static get properties() { return { + fullscreenOnly: { + type: Boolean, + value: false, + reflectToAttribute: true + }, fullscreen: { type: Boolean, value: false, diff --git a/test/tangy-form_test.html b/test/tangy-form_test.html index efdec057..f193f2e0 100644 --- a/test/tangy-form_test.html +++ b/test/tangy-form_test.html @@ -329,6 +329,21 @@ </template> </test-fixture> + <test-fixture id="FullscreenOnly"> + <template> + <tangy-form + id="FullscreenOnlyForm" + fullscreen-only + > + <tangy-form-item id="item1" title="1"> + <tangy-input name="input1" label="What is your last name?"></tangy-input> + </tangy-form-item> + <tangy-form-item id="item2" title="2"> + <tangy-input name="input2" label="What is your last name?"></tangy-input> + </tangy-form-item> + </tangy-form> + </template> + </test-fixture> <script type="module"> import * as Polymer from '../node_modules/@polymer/polymer/polymer-legacy.js' @@ -349,6 +364,13 @@ suite('tangy-form', () => { + test('should launch in fullscreen mode', () => { + const element = fixture('FullscreenOnly') + element.newResponse() + element.querySelector('#item1').shadowRoot.querySelector('dom-if').render() + assert.equal(element.querySelector('#item1').getAttribute('fullscreen-enabled'), '') + }) + test('should inject variable', () => { var someInjectedVariable = { itWorked: function() {