OLD | NEW |
| (Empty) |
1 <!-- | |
2 Copyright (c) 2014 The Polymer Project Authors. All rights reserved. | |
3 This code may only be used under the BSD style license found at http://polymer.g
ithub.io/LICENSE.txt | |
4 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt | |
5 The complete set of contributors may be found at http://polymer.github.io/CONTRI
BUTORS.txt | |
6 Code distributed by Google as part of the polymer project is also | |
7 subject to an additional IP rights grant found at http://polymer.github.io/PATEN
TS.txt | |
8 --> | |
9 | |
10 <!-- | |
11 Provides a dialog overlay. | |
12 | |
13 Child elements that include a `dismissive` attribute are positioned in the lower
left corner of the dialog. Elements that use the `affirmative` attribute are po
sitioned in the lower right corner. | |
14 | |
15 Child elements that include the `dismissive` or `affirmative` attribute will aut
omatically toggle the dialog when clicked. | |
16 | |
17 One child element should have the `autofocus` attribute so that the Enter key wi
ll automatically take action. This is | |
18 especially important for screen reader environments. | |
19 | |
20 Example: | |
21 | |
22 <paper-dialog heading="Title for dialog"> | |
23 <p>Lorem ipsum ....</p> | |
24 <p>Id qui scripta ...</p> | |
25 <paper-button label="More Info..." dismissive></paper-button> | |
26 <paper-button label="Decline" affirmative></paper-button> | |
27 <paper-button label="Accept" affirmative autofocus></paper-button> | |
28 </paper-dialog> | |
29 | |
30 #### Transitions | |
31 | |
32 `<paper-dialog>` can be used with `<paper-transition>` to transition the overlay
open and close. | |
33 | |
34 To use a transition, import `paper-dialog-transition.html` alongside paper-dialo
g: | |
35 | |
36 <link rel="import" href="paper-dialog/paper-dialog-transition.html"> | |
37 | |
38 Then set the `transition` attribute: | |
39 | |
40 <paper-dialog heading="Title for dialog" transition="paper-dialog-transition
-center"> | |
41 | |
42 <paper-dialog heading="Title for dialog" transition="paper-dialog-transition
-bottom"> | |
43 | |
44 @group Paper Elements | |
45 @element paper-dialog | |
46 @homepage github.io | |
47 --> | |
48 <!-- | |
49 Fired when the dialog's `opened` property changes. | |
50 | |
51 @event core-overlay-open | |
52 @param {Object} detail | |
53 @param {Object} detail.opened the opened state | |
54 --> | |
55 <link href="../polymer/polymer.html" rel="import"> | |
56 <link href="../core-overlay/core-overlay.html" rel="import"> | |
57 <link href="../paper-shadow/paper-shadow.html" rel="import"> | |
58 | |
59 <polymer-element name="paper-dialog" attributes="opened heading transition autoC
loseDisabled backdrop layered closeSelector" role="dialog"> | |
60 | |
61 <template> | |
62 | |
63 <link href="paper-dialog.css" rel="stylesheet"> | |
64 | |
65 <div id="shadow"> | |
66 <paper-shadow z="3" hasPosition></paper-shadow> | |
67 </div> | |
68 | |
69 <core-overlay id="overlay" opened="{{opened}}" autoCloseDisabled?="{{autoClo
seDisabled}}" backdrop?="{{backdrop}}" layered?="{{layered}}" target="{{}}" sizi
ngTarget="{{$.container}}" closeSelector="{{closeSelector}}" transition="{{trans
ition}}" margin="20"></core-overlay> | |
70 | |
71 <div id="container" layout vertical> | |
72 | |
73 <div id="actions" layout horizontal> | |
74 <content select="[dismissive]"></content> | |
75 <div flex auto></div> | |
76 <content select="[affirmative]"></content> | |
77 </div> | |
78 | |
79 <div id="main" flex auto> | |
80 <h1>{{heading}}</h1> | |
81 <content></content> | |
82 </div> | |
83 | |
84 </div> | |
85 | |
86 </template> | |
87 | |
88 <script> | |
89 | |
90 Polymer('paper-dialog', { | |
91 | |
92 /** | |
93 * Set opened to true to show the dialog and to false to hide it. | |
94 * A dialog may be made intially opened by setting its opened attribute. | |
95 | |
96 * @attribute opened | |
97 * @type boolean | |
98 * @default false | |
99 */ | |
100 opened: false, | |
101 | |
102 /** | |
103 * If true, the dialog has a backdrop darkening the rest of the screen. | |
104 * The backdrop element is attached to the document body and may be styled | |
105 * with the class `core-overlay-backdrop`. When opened the `core-opened` | |
106 * class is applied. | |
107 * | |
108 * @attribute backdrop | |
109 * @type boolean | |
110 * @default false | |
111 */ | |
112 backdrop: false, | |
113 | |
114 /** | |
115 * If true, the dialog is guaranteed to display above page content. | |
116 * | |
117 * @attribute layered | |
118 * @type boolean | |
119 * @default false | |
120 */ | |
121 layered: false, | |
122 | |
123 /** | |
124 * By default a dialog will close automatically if the user | |
125 * taps outside it or presses the escape key. Disable this | |
126 * behavior by setting the `autoCloseDisabled` property to true. | |
127 * @attribute autoCloseDisabled | |
128 * @type boolean | |
129 * @default false | |
130 */ | |
131 autoCloseDisabled: false, | |
132 | |
133 /** | |
134 * This property specifies a selector matching elements that should | |
135 * close the dialog on tap. | |
136 * | |
137 * @attribute closeSelector | |
138 * @type string | |
139 * @default "" | |
140 */ | |
141 closeSelector: '[dismissive],[affirmative]', | |
142 | |
143 /** | |
144 * @attribute heading | |
145 * @type string | |
146 * @default '' | |
147 */ | |
148 heading: '', | |
149 | |
150 /** | |
151 * Set this property to the id of a `core-transition` element to specify | |
152 * the transition to use when opening/closing this dialog. | |
153 * | |
154 * @attribute transition | |
155 * @type string | |
156 * @default '' | |
157 */ | |
158 transition: '', | |
159 | |
160 /** | |
161 * Toggle the dialog's opened state. | |
162 * @method toggle | |
163 */ | |
164 toggle: function() { | |
165 this.$.overlay.toggle(); | |
166 }, | |
167 | |
168 headingChanged: function() { | |
169 this.setAttribute('aria-label', this.heading); | |
170 } | |
171 | |
172 }); | |
173 | |
174 </script> | |
175 | |
176 </polymer-element> | |
OLD | NEW |