lib/nexmo_developer/app/webpacker/javascript/components/search/Search.vue in station-0.0.120 vs lib/nexmo_developer/app/webpacker/javascript/components/search/Search.vue in station-0.0.121

- old
+ new

@@ -1,29 +1,37 @@ <template> - <div> - <div> - <div class="Vlt-composite"> - <div class="Vlt-composite__prepend Vlt-composite__prepend--icon"> - <svg><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-search"/></svg> + <div class="Wrapper"> + <div class="Wrapper-content"> + <svg class="Vlt-icon Vlt-grey Nxd-search-icon"> + <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-search-full" /> + </svg> + + + <div class="Nxd-search-input"> + <div class="Vlt-composite Vlt-composite--appendedicon"> + <div class="Vlt-composite__prepend Vlt-composite__prepend--icon"> + <svg><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-search"/></svg> + </div> + <div class="Vlt-input"> + <input + v-model="query" + name="query" + placeholder="Search" + id="searchbox-test" + type="text" + autoComplete="off" + v-on:keydown.esc="onEscDownHandler" + v-on:input="onInputHandler" + ></input> + </div> + <div class="Vlt-composite__append Vlt-composite__append--icon Nxd-search-close"> + <svg><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-cross-bold"/></svg> + </div> </div> - <div class="Vlt-input Vlt-input--round"> - <input - v-model="query" - name="query" - placeholder="Search" - id="searchbox-test" - type="text" - autoComplete="off" - v-on:keydown.esc="onEscDownHandler" - v-on:input="onInputHandler" - ></input> - </div> </div> </div> - <svg v-show="query" class="Nxd-search__clear"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-cross"/></svg> - <div v-show="showResults" class="Nxd-search"> <div class="Nxd-search__wrapper"> <div v-show="loading" class="spinner"> <i class="icon icon-cog"></i> </div> @@ -74,15 +82,21 @@ ); }, mounted: function() { if (document.querySelector('.Nxd-template')) { document.querySelector('.Nxd-template').addEventListener('click', this.onClickOutside.bind(this)); + } else if (document.querySelector('.Adp-landing')) { + document.querySelector('.Adp-landing .wrapper').addEventListener('click', this.onClickOutside.bind(this)); } + this.$el.querySelector('.Nxd-search-icon').addEventListener('click', this.handleSearchToggle.bind(this)); + this.$el.querySelector('.Nxd-search-close').addEventListener('click', this.handleSearchToggle.bind(this)); }, onDestroy: function() { if (document.querySelector('.Nxd-template')) { document.querySelector('.Nxd-template').removeEventListener('click', this.onClickOutside.bind(this)); + } else if (document.querySelector('.Adp-landing')) { + document.querySelector('.Adp-landing .wrapper').removeEventListener('click', this.onClickOutside.bind(this)); } }, computed: { showResults: function() { return this.query != ''; @@ -110,11 +124,28 @@ this.reset(); } if (this.expanded) { this.expanded = false; } + this.toggleSearch(true); }, + + handleSearchToggle: function(event) { + event.preventDefault(); + event.stopPropagation(); + + this.toggleSearch(); + }, + + toggleSearch: function(hide) { + let search = this.$el.querySelector('.Nxd-search-input'); + if (hide === true || search.style.display == 'flex') { + search.style.display = 'none'; + } else { + search.style.display = 'flex'; + } + }, onEscDownHandler: function(event) { if (!this.analyticsTriggered && this.query !== '') { this.triggerAnalyticalSearch(); } this.reset(); @@ -177,6 +208,36 @@ ZendeskArticle, NDPArticle } } </script> <style scoped> +.Wrapper { + top: 55px; + right: 13px; + display: flex; + position: absolute; +} +.Wrapper-content { + display: flex; + flex-direction: column; + align-items: flex-end; +} +.Nxd-search-input { + display: none; + width: 756px; + padding: 20px 30px; + background: white; + height: 87px; + border-radius: 8px; + margin-top: 5px; + z-index: 10; +} +.Vlt-composite { + width: 100%; +} +.Nxd-search-icon { + margin-right: 10px; +} +#searchbox-test { + border: 1px solid white; +} </style>