OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007 Apple Inc. All rights reserved. |
3 * Copyright (C) 2009 Joseph Pecoraro | 3 * Copyright (C) 2009 Joseph Pecoraro |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * | 8 * |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 17 matching lines...) Expand all Loading... |
28 */ | 28 */ |
29 | 29 |
30 Elements.StylesSidebarPane = class extends Elements.ElementsSidebarPane { | 30 Elements.StylesSidebarPane = class extends Elements.ElementsSidebarPane { |
31 constructor() { | 31 constructor() { |
32 super(); | 32 super(); |
33 this.setMinimumSize(96, 26); | 33 this.setMinimumSize(96, 26); |
34 | 34 |
35 Common.moduleSetting('colorFormat').addChangeListener(this.update.bind(this)
); | 35 Common.moduleSetting('colorFormat').addChangeListener(this.update.bind(this)
); |
36 Common.moduleSetting('textEditorIndent').addChangeListener(this.update.bind(
this)); | 36 Common.moduleSetting('textEditorIndent').addChangeListener(this.update.bind(
this)); |
37 | 37 |
| 38 /** @type {?UI.Widget} */ |
| 39 this._currentToolbarPane = null; |
| 40 /** @type {?UI.Widget} */ |
| 41 this._animatedToolbarPane = null; |
| 42 /** @type {?UI.Widget} */ |
| 43 this._pendingWidget = null; |
| 44 /** @type {?UI.ToolbarToggle} */ |
| 45 this._pendingWidgetToggle = null; |
| 46 this._toolbarPaneElement = this._createStylesSidebarToolbar(); |
38 this._sectionsContainer = this.element.createChild('div'); | 47 this._sectionsContainer = this.element.createChild('div'); |
39 this._swatchPopoverHelper = new InlineEditor.SwatchPopoverHelper(); | 48 this._swatchPopoverHelper = new InlineEditor.SwatchPopoverHelper(); |
40 this._linkifier = new Components.Linkifier(Elements.StylesSidebarPane._maxLi
nkLength, /* useLinkDecorator */ true); | 49 this._linkifier = new Components.Linkifier(Elements.StylesSidebarPane._maxLi
nkLength, /* useLinkDecorator */ true); |
41 /** @type {?Elements.StylePropertyHighlighter} */ | 50 /** @type {?Elements.StylePropertyHighlighter} */ |
42 this._decorator = null; | 51 this._decorator = null; |
43 this._userOperation = false; | 52 this._userOperation = false; |
44 this._isEditingStyle = false; | 53 this._isEditingStyle = false; |
45 /** @type {?RegExp} */ | 54 /** @type {?RegExp} */ |
46 this._filterRegex = null; | 55 this._filterRegex = null; |
47 | 56 |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
215 * @return {boolean} | 224 * @return {boolean} |
216 */ | 225 */ |
217 function styleSheetResourceHeader(header) { | 226 function styleSheetResourceHeader(header) { |
218 return !header.isViaInspector() && !header.isInline && !!header.resourceUR
L(); | 227 return !header.isViaInspector() && !header.isInline && !!header.resourceUR
L(); |
219 } | 228 } |
220 } | 229 } |
221 | 230 |
222 /** | 231 /** |
223 * @param {?RegExp} regex | 232 * @param {?RegExp} regex |
224 */ | 233 */ |
225 onFilterChanged(regex) { | 234 _onFilterChanged(regex) { |
226 this._filterRegex = regex; | 235 this._filterRegex = regex; |
227 this._updateFilter(); | 236 this._updateFilter(); |
228 } | 237 } |
229 | 238 |
230 /** | 239 /** |
231 * @param {!Elements.StylePropertiesSection=} editedSection | 240 * @param {!Elements.StylePropertiesSection=} editedSection |
232 */ | 241 */ |
233 _refreshUpdate(editedSection) { | 242 _refreshUpdate(editedSection) { |
234 var node = this.node(); | 243 var node = this.node(); |
235 if (!node) | 244 if (!node) |
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
511 sections = sections.concat(block.sections); | 520 sections = sections.concat(block.sections); |
512 return sections; | 521 return sections; |
513 } | 522 } |
514 | 523 |
515 /** | 524 /** |
516 * @param {!Event} event | 525 * @param {!Event} event |
517 */ | 526 */ |
518 _clipboardCopy(event) { | 527 _clipboardCopy(event) { |
519 Host.userMetrics.actionTaken(Host.UserMetrics.Action.StyleRuleCopied); | 528 Host.userMetrics.actionTaken(Host.UserMetrics.Action.StyleRuleCopied); |
520 } | 529 } |
| 530 |
| 531 /** |
| 532 * @return {!Element} |
| 533 */ |
| 534 _createStylesSidebarToolbar() { |
| 535 var container = this.element.createChild('div', 'styles-sidebar-pane-toolbar
-container'); |
| 536 var hbox = container.createChild('div', 'hbox styles-sidebar-pane-toolbar'); |
| 537 var filterContainerElement = hbox.createChild('div', 'styles-sidebar-pane-fi
lter-box'); |
| 538 var filterInput = Elements.StylesSidebarPane.createPropertyFilterElement( |
| 539 Common.UIString('Filter'), hbox, this._onFilterChanged.bind(this)); |
| 540 UI.ARIAUtils.setAccessibleName(filterInput, Common.UIString('Filter Styles')
); |
| 541 filterContainerElement.appendChild(filterInput); |
| 542 var toolbar = new UI.Toolbar('styles-pane-toolbar', hbox); |
| 543 toolbar.makeToggledGray(); |
| 544 toolbar.appendLocationItems('styles-sidebarpane-toolbar'); |
| 545 var toolbarPaneContainer = container.createChild('div', 'styles-sidebar-tool
bar-pane-container'); |
| 546 var toolbarPaneContent = toolbarPaneContainer.createChild('div', 'styles-sid
ebar-toolbar-pane'); |
| 547 |
| 548 return toolbarPaneContent; |
| 549 } |
| 550 |
| 551 /** |
| 552 * @param {?UI.Widget} widget |
| 553 * @param {?UI.ToolbarToggle} toggle |
| 554 */ |
| 555 showToolbarPane(widget, toggle) { |
| 556 if (this._pendingWidgetToggle) |
| 557 this._pendingWidgetToggle.setToggled(false); |
| 558 this._pendingWidgetToggle = toggle; |
| 559 |
| 560 if (this._animatedToolbarPane) |
| 561 this._pendingWidget = widget; |
| 562 else |
| 563 this._startToolbarPaneAnimation(widget); |
| 564 |
| 565 if (widget && toggle) |
| 566 toggle.setToggled(true); |
| 567 } |
| 568 |
| 569 /** |
| 570 * @param {?UI.Widget} widget |
| 571 */ |
| 572 _startToolbarPaneAnimation(widget) { |
| 573 if (widget === this._currentToolbarPane) |
| 574 return; |
| 575 |
| 576 if (widget && this._currentToolbarPane) { |
| 577 this._currentToolbarPane.detach(); |
| 578 widget.show(this._toolbarPaneElement); |
| 579 this._currentToolbarPane = widget; |
| 580 this._currentToolbarPane.focus(); |
| 581 return; |
| 582 } |
| 583 |
| 584 this._animatedToolbarPane = widget; |
| 585 |
| 586 if (this._currentToolbarPane) |
| 587 this._toolbarPaneElement.style.animationName = 'styles-element-state-pane-
slideout'; |
| 588 else if (widget) |
| 589 this._toolbarPaneElement.style.animationName = 'styles-element-state-pane-
slidein'; |
| 590 |
| 591 if (widget) |
| 592 widget.show(this._toolbarPaneElement); |
| 593 |
| 594 var listener = onAnimationEnd.bind(this); |
| 595 this._toolbarPaneElement.addEventListener('animationend', listener, false); |
| 596 |
| 597 /** |
| 598 * @this {!Elements.StylesSidebarPane} |
| 599 */ |
| 600 function onAnimationEnd() { |
| 601 this._toolbarPaneElement.style.removeProperty('animation-name'); |
| 602 this._toolbarPaneElement.removeEventListener('animationend', listener, fal
se); |
| 603 |
| 604 if (this._currentToolbarPane) |
| 605 this._currentToolbarPane.detach(); |
| 606 |
| 607 this._currentToolbarPane = this._animatedToolbarPane; |
| 608 if (this._currentToolbarPane) |
| 609 this._currentToolbarPane.focus(); |
| 610 this._animatedToolbarPane = null; |
| 611 |
| 612 if (this._pendingWidget) { |
| 613 this._startToolbarPaneAnimation(this._pendingWidget); |
| 614 this._pendingWidget = null; |
| 615 } |
| 616 } |
| 617 } |
521 }; | 618 }; |
522 | 619 |
523 Elements.StylesSidebarPane._maxLinkLength = 30; | 620 Elements.StylesSidebarPane._maxLinkLength = 30; |
524 | 621 |
525 Elements.SectionBlock = class { | 622 Elements.SectionBlock = class { |
526 /** | 623 /** |
527 * @param {?Element} titleElement | 624 * @param {?Element} titleElement |
528 */ | 625 */ |
529 constructor(titleElement) { | 626 constructor(titleElement) { |
530 this._titleElement = titleElement; | 627 this._titleElement = titleElement; |
(...skipping 2611 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3142 } | 3239 } |
3143 | 3240 |
3144 /** | 3241 /** |
3145 * @override | 3242 * @override |
3146 * @return {!UI.ToolbarItem} | 3243 * @return {!UI.ToolbarItem} |
3147 */ | 3244 */ |
3148 item() { | 3245 item() { |
3149 return this._button; | 3246 return this._button; |
3150 } | 3247 } |
3151 }; | 3248 }; |
OLD | NEW |