blob: 4e2267a71692f43b09443ade67d710e84dc76a93 [file] [log] [blame]
#!mojo mojo:sky_viewer
<!--
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-->
<sky>
<import src="/gen/examples/wm_flow/wm/window_frame_host.mojom.sky" as="example" />
<import src="/sky/framework/embedder.sky" as="embedder" />
<import src="/sky/framework/sky-button.sky"/>
<import src="/sky/framework/sky-checkbox.sky"/>
<import src="/sky/framework/sky-element/sky-element.sky" as="SkyElement"/>
<style>
/* FIXME: Hack until the requirement of a single root element is lifted. */
sky { height: 100%; }
</style>
<sky-element name="window-frame">
<template>
<style>
:host {
height: 100%;
background-color: lightgrey;
}
/* Nest two flexboxes and make the right side take up as much as possible */
window-bar {
display: flex;
}
left {
flex: 1;
display: flex;
align-content: flex-start;
}
/* Also making the checkbox and label a flexbox for convenience */
right {
display: flex;
}
/* Style sky controls to make them look more like ui/views */
sky-button {
border: none;
border: 1px solid blue;
padding: 2px;
}
sky-button:hover {
border: 1px solid lightblue;
background-color: darkgrey;
}
</style>
<window-bar>
<left>
<sky-checkbox on-click="handleCaptureClick" />Capture
</left>
<right>
<sky-button on-click="handleEmbiggenClick">Embiggen</sky-button>
<sky-button on-click="handleBegoneClick">Begone</sky-button>
</right>
</window-bar>
</template>
<script>
module.exports = class extends SkyElement {
created() {
this.embedder = embedder.connectToEmbedderService(example.WindowFrameHost);
this.addEventListener('mousedown', function() {
this.embedder.activateWindow();
}.bind(this));
}
handleCaptureClick(event) {
this.embedder.setCapture(event.target.checked);
}
handleEmbiggenClick(event) {
this.embedder.toggleMaximize();
}
handleBegoneClick(event) {
this.embedder.closeWindow();
}
}.register();
</script>
</sky-element>
<window-frame />
</sky>